X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2FBuffer.h;h=5c90f51bb694c89e9a612e239756682fb913ed8b;hb=544f5033bffccf1d3fdc1fb6d65624501a44c72f;hp=19dd6eca7e8c4903cb9b0c6a36a26fdc293d9683;hpb=0a34b1e047ae8e1c0a5a4dc4f484435098e40c4f;p=lyx.git diff --git a/src/Buffer.h b/src/Buffer.h index 19dd6eca7e..5c90f51bb6 100644 --- a/src/Buffer.h +++ b/src/Buffer.h @@ -72,6 +72,10 @@ class FileName; class FileNameList; } +namespace graphics { +class PreviewLoader; +} + class Buffer; typedef std::list ListOfBuffers; @@ -211,6 +215,10 @@ public: int readHeader(Lexer & lex); private: + /// + typedef std::map BufferMap; + /// + void clone(BufferMap &) const; /// save timestamp and checksum of the given file. void saveCheckSum() const; /// read a new file @@ -280,19 +288,21 @@ public: 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, @@ -307,8 +317,7 @@ public: bool only_body = false) const; /// void makeLyXHTMLFile(support::FileName const & filename, - OutputParams const & runparams_in, - bool only_body = false) const; + OutputParams const & runparams_in) const; /// void writeLyXHTMLSource(odocstream & os, OutputParams const & runparams_in, @@ -407,13 +416,6 @@ public: /// 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 @@ -459,6 +461,8 @@ public: /// 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 &) const; /// @@ -511,6 +515,8 @@ public: /// Set by buffer_funcs' newFile. void setFullyLoaded(bool); + /// FIXME: Needed by RenderPreview. + graphics::PreviewLoader * loader() const; /// Update the LaTeX preview snippets associated with this buffer void updatePreviews() const; /// Remove any previewed LaTeX snippets associated with this buffer @@ -528,7 +534,7 @@ public: /// 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; @@ -598,28 +604,15 @@ public: - /// 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, + /// target is a format name optionally followed by a space + /// and a destination file-name + bool doExport(std::string const & target, bool put_in_tempdir, bool includeall, std::string & result_file) const; /// - bool doExport(std::string const & format, bool put_in_tempdir, + bool doExport(std::string const & target, bool put_in_tempdir, bool includeall = false) const; /// bool preview(std::string const & format, bool includeall = false) const; - /// - bool isExportable(std::string const & format) const; - /// - std::vector 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; /// @@ -666,12 +659,6 @@ private: /// Change name of buffer. Updates "read-only" flag. void setFileName(support::FileName const & fname); /// - std::vector backends() const; - /// A cache for the default flavors - typedef std::map DefaultFlavorCache; - /// - mutable DefaultFlavorCache default_flavors_; - /// void getLanguages(std::set &) 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 @@ -687,7 +674,10 @@ private: /// void collectChildren(ListOfBuffers & children, bool grand_children) const; - + /// noncopyable + Buffer(Buffer const &); + void operator=(Buffer const &); + /// Use the Pimpl idiom to hide the internals. class Impl; /// The pointer never changes although *pimpl_'s contents may.