* FIXME: replace this method with support/FileMonitor.
*/
enum CheckMethod {
- checksum_method, ///< Use file checksum
- timestamp_method, ///< Use timestamp, and checksum if timestamp has changed
+ checksum_method, ///< Use file checksum
+ timestamp_method ///< Use timestamp, and checksum if timestamp has changed
};
///
/// Renames and saves the buffer
bool saveAs(support::FileName const & fn);
- /// Write document to stream. Returns \c false if unsuccesful.
+ /// Write document to stream. Returns \c false if unsuccessful.
bool write(std::ostream &) const;
- /// Write file. Returns \c false if unsuccesful.
+ /// Write file. Returns \c false if unsuccessful.
bool writeFile(support::FileName const &) const;
/// \name Functions involved in reading files/strings.
int readHeader(Lexer & lex);
private:
+ ///
+ typedef std::map<Buffer const *, Buffer *> BufferMap;
+ ///
+ void clone(BufferMap &) const;
/// save timestamp and checksum of the given file.
void saveCheckSum() const;
/// read a new file
method with a string stream if the output is supposed to go to a
file. \code
ofdocstream ofs;
+ otexstream os(ofs, texrow);
ofs.open("test.tex");
- writeLaTeXSource(ofs, ...);
+ writeLaTeXSource(os, ...);
ofs.close();
\endcode is NOT equivalent to \code
odocstringstream oss;
- writeLaTeXSource(oss, ...);
+ otexstream os(oss, texrow);
+ writeLaTeXSource(os, ...);
ofdocstream ofs;
ofs.open("test.tex");
ofs << oss.str();
ofs.close();
\endcode
*/
- void writeLaTeXSource(odocstream & os,
+ void writeLaTeXSource(otexstream & os,
std::string const & original_path,
OutputParams const &,
bool output_preamble = true,
/// Set buffer read-only flag
void setReadonly(bool flag = true);
- /// returns \c true if the buffer contains a LaTeX document
- bool isLatex() const;
- /// returns \c true if the buffer contains a DocBook document
- bool isDocBook() const;
- /// returns \c true if the buffer contains a Wed document
- bool isLiterate() const;
-
/** Validate a buffer for LaTeX.
This validates the buffer, and returns a struct for use by
#makeLaTeX# and others. Its main use is to figure out what
/// add a single piece of bibliography info to our cache
void addBibTeXInfo(docstring const & key, BibTeXInfo const & bi) const;
///
+ bool citeLabelsValid() const;
+ ///
void getLabelList(std::vector<docstring> &) const;
///
/// Collect macro definitions in paragraphs
void updateMacros() const;
/// Iterate through the whole buffer and try to resolve macros
- void updateMacroInstances() const;
+ void updateMacroInstances(UpdateType) const;
/// List macro names of this buffer, the parent and the children
void listMacroNames(MacroNameSet & macros) const;
/// Collect user macro names at loading time
typedef std::set<docstring> UserMacroSet;
- UserMacroSet usermacros;
+ mutable UserMacroSet usermacros;
/// Replace the inset contents for insets which InsetCode is equal
/// to the passed \p inset_code.
- /// return the format of the buffer on a string
- std::string bufferFormat() const;
- /// return the default output format of the current backend
- std::string getDefaultOutputFormat() const;
- /// return the output flavor of \p format or the default
- OutputParams::FLAVOR getOutputFlavor(
- std::string const format = std::string()) const;
-
///
bool doExport(std::string const & format, bool put_in_tempdir,
bool includeall, std::string & result_file) const;
bool includeall = false) const;
///
bool preview(std::string const & format, bool includeall = false) const;
- ///
- bool isExportable(std::string const & format) const;
- ///
- std::vector<Format const *> exportableFormats(bool only_viewable) const;
- ///
- bool isExportableFormat(std::string const & format) const;
/// mark the buffer as busy exporting something, or not
void setExportStatus(bool e) const;
///
/// Change name of buffer. Updates "read-only" flag.
void setFileName(support::FileName const & fname);
///
- std::vector<std::string> backends() const;
- /// A cache for the default flavors
- typedef std::map<std::string, OutputParams::FLAVOR> DefaultFlavorCache;
- ///
- mutable DefaultFlavorCache default_flavors_;
- ///
void getLanguages(std::set<Language const *> &) const;
/// Checks whether any of the referenced bibfiles have changed since the
/// last time we loaded the cache. Note that this does NOT update the