X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Fbuffer.h;h=018ee81457dc354ad7b4894870abd2c4f962c21a;hb=29b6f5cad958e3298fc76d8ca6af6b721fa038cb;hp=09745b4121561695f6c9ddf4a811f17733e1aaf4;hpb=6c300f72a217722652dc27db9108e1050028979c;p=lyx.git diff --git a/src/buffer.h b/src/buffer.h index 09745b4121..018ee81457 100644 --- a/src/buffer.h +++ b/src/buffer.h @@ -18,6 +18,7 @@ #include "dociterator.h" #include "ParagraphList_fwd.h" +#include "support/filename.h" #include "support/limited_stack.h" #include "support/types.h" #include "support/docstring.h" @@ -35,7 +36,6 @@ namespace lyx { - class BufferParams; class ErrorItem; class FuncRequest; @@ -54,6 +54,7 @@ class ParConstIterator; class ParIterator; class TeXErrors; class TexRow; +class TocBackend; class Undo; class StableDocIterator; @@ -98,7 +99,7 @@ public: void loadAutoSaveFile(); /// load a new file - bool readFile(std::string const & filename); + bool readFile(support::FileName const & filename); /// read the header, returns number of unknown tokens int readHeader(LyXLex & lex); @@ -118,6 +119,8 @@ public: /// do we have a paragraph with this id? bool hasParWithID(int id) const; + /// This signal is emitted when the buffer is changed. + boost::signal changed; /// This signal is emitted when some parsing error shows up. boost::signal errors; /// This signal is emitted when some message shows up. @@ -141,10 +144,10 @@ public: bool save() const; /// Write file. Returns \c false if unsuccesful. - bool writeFile(std::string const &) const; + bool writeFile(support::FileName const &) const; /// Just a wrapper for the method below, first creating the ofstream. - void makeLaTeXFile(std::string const & filename, + bool makeLaTeXFile(support::FileName const & filename, std::string const & original_path, OutputParams const &, bool output_preamble = true, @@ -156,7 +159,7 @@ public: bool output_preamble = true, bool output_body = true); /// - void makeDocBookFile(std::string const & filename, + void makeDocBookFile(support::FileName const & filename, OutputParams const & runparams_in, bool only_body = false); /// @@ -167,6 +170,8 @@ public: Language const * getLanguage() const; /// get l10n translated to the buffers language docstring const B_(std::string const & l10n) const; + /// translate \p label to the buffer language if possible + docstring const translateLabel(docstring const & label) const; /// int runChktex(); @@ -196,7 +201,7 @@ public: void markDirty(); /// Returns the buffer's filename. It is always an absolute path. - std::string const & fileName() const; + std::string const fileName() const; /// Returns the the path where the buffer lives. /// It is always an absolute path. @@ -207,7 +212,7 @@ public: */ std::string const getLatexName(bool no_path = true) const; - /// Get the name and type of the log. + /// Get thee name and type of the log. std::pair const getLogName() const; /// Change name of buffer. Updates "read-only" flag. @@ -250,13 +255,13 @@ public: void validate(LaTeXFeatures &) const; /// return all bibkeys from buffer and its childs - void fillWithBibKeys(std::vector > & keys) const; + void fillWithBibKeys(std::vector > & keys) const; /// Update the cache with all bibfiles in use (including bibfiles /// of loaded child documents). void updateBibfilesCache(); /// Return the cache with all bibfiles in use (including bibfiles /// of loaded child documents). - std::vector const & getBibfilesCache() const; + std::vector const & getBibfilesCache() const; /// void getLabelList(std::vector &) const; @@ -328,11 +333,12 @@ public: /// void buildMacros(); /// - bool hasMacro(std::string const & name) const; + bool hasMacro(docstring const & name) const; /// - MacroData const & getMacro(std::string const & name) const; + MacroData const & getMacro(docstring const & name) const; /// - void insertMacro(std::string const & name, MacroData const & data); + void insertMacro(docstring const & name, MacroData const & data); + /// void saveCursor(StableDocIterator cursor, StableDocIterator anchor); /// @@ -340,9 +346,10 @@ public: /// StableDocIterator getAnchor() const { return anchor_; } /// - void changeRefsIfUnique(std::string const & from, std::string const & to, InsetBase::Code code); - /// get source code (latex/docbook) for some paragraphs, or all paragraphs - /// including preamble + void changeRefsIfUnique(docstring const & from, docstring const & to, + InsetBase::Code code); +/// get source code (latex/docbook) for some paragraphs, or all paragraphs +/// including preamble void getSourceCode(odocstream & os, pit_type par_begin, pit_type par_end, bool full_source); /// errorLists_ accessors. @@ -351,11 +358,16 @@ public: ErrorList & errorList(std::string const & type); //@} + //@{ + TocBackend & tocBackend(); + TocBackend const & tocBackend() const; + //@} + private: /** Inserts a file into a document \return \c false if method fails. */ - bool readFile(LyXLex &, std::string const & filename); + bool readFile(LyXLex &, support::FileName const & filename); bool do_writeFile(std::ostream & ofs) const; @@ -371,7 +383,7 @@ private: StableDocIterator anchor_; /// A cache for the bibfiles (including bibfiles of loaded child /// documents), needed for appropriate update of natbib labels. - std::vector bibfilesCache_; + std::vector bibfilesCache_; /// Container for all sort of Buffer dependant errors. std::map errorLists_;