#define BUFFER_H
#include "OutputEnums.h"
-#include "OutputParams.h"
+#include "support/unique_ptr.h"
#include "support/strfwd.h"
#include "support/types.h"
class MacroNameSet;
class MacroSet;
class OutputParams;
+class otexstream;
class Paragraph;
class ParConstIterator;
class ParIterator;
}
namespace support {
+class DocFileName;
class FileName;
class FileNameList;
}
namespace graphics {
class PreviewLoader;
+class Cache;
}
/// of the temporary file to be read
ReadStatus convertLyXFormat(support::FileName const & fn,
support::FileName & tmpfile, int from_format);
+ /// get appropriate name for backing up files from older versions
+ support::FileName getBackupName() const;
//@}
public:
method with a string stream if the output is supposed to go to a
file. \code
ofdocstream ofs;
- otexstream os(ofs, texrow);
+ otexstream os(ofs);
ofs.open("test.tex");
writeLaTeXSource(os, ...);
ofs.close();
\endcode is NOT equivalent to \code
odocstringstream oss;
- otexstream os(oss, texrow);
+ otexstream os(oss);
writeLaTeXSource(os, ...);
ofdocstream ofs;
ofs.open("test.tex");
/// It is always an absolute path.
std::string filePath() const;
- /** Returns the path where the document was last saved.
- * It may be different from filePath() if the document was later
- * manually moved to a different location.
- * It is always an absolute path.
+ /** Contructs a file name of a referenced file (child doc, included graphics etc).
+ * Absolute names are returned as is. If the name is relative, it is
+ * interpreted relative to filePath() if the file exists, otherwise
+ * relative to the original path where the document was last saved.
+ * The original path may be different from filePath() if the document was
+ * later manually moved to a different location.
*/
- std::string originFilePath() const;
+ support::DocFileName getReferencedFileName(std::string const & fn) const;
/** Returns the path where a local layout file lives.
* An empty string is returned for standard system and user layouts.
void updatePreviews() const;
/// Remove any previewed LaTeX snippets associated with this buffer
void removePreviews() const;
+ ///
+ graphics::Cache & graphicsCache() const;
/// Our main text (inside the top InsetText)
Text & text() const;
/// get source code (latex/docbook) for some paragraphs, or all paragraphs
/// including preamble
- /// returns NULL if Id to Row conversion is unsupported
- std::auto_ptr<TexRow> getSourceCode(odocstream & os,
+ /// returns nullptr if Id to Row conversion is unsupported
+ unique_ptr<TexRow> getSourceCode(odocstream & os,
std::string const & format, pit_type par_begin,
pit_type par_end, OutputWhat output, bool master) const;
ExportStatus doExport(std::string const & target, bool put_in_tempdir,
bool includeall, std::string & result_file) const;
///
- ExportStatus preview(std::string const & format, bool includeall = false) const;
+ ExportStatus preview(std::string const & format, bool includeall) const;
///
void setMathFlavor(OutputParams & op) const;
int wordCount() const;
int charCount(bool with_blanks) const;
+ // this is const because it does not modify the buffer's real contents,
+ // only the mutable flag.
+ void setChangesPresent(bool) const;
+ bool areChangesPresent() const;
+ void updateChangesPresent() const;
+
private:
friend class MarkAsExporting;
/// mark the buffer as busy exporting something, or not