X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Fbuffer.h;h=280fc05c8d23b3eb5c279cd1e7115bb9c00f1fd0;hb=35204f8f33d7400a5fefeffea533fb4cb4097211;hp=1ec123a005b83048d469186ecc3b331f09309d3f;hpb=30021186166eb980262b85b7f34df8c430aeeb6d;p=lyx.git diff --git a/src/buffer.h b/src/buffer.h index 1ec123a005..280fc05c8d 100644 --- a/src/buffer.h +++ b/src/buffer.h @@ -20,6 +20,8 @@ #include "support/limited_stack.h" #include "support/types.h" +#include "support/docstring.h" +#include "support/docstream.h" #include #include @@ -31,6 +33,9 @@ #include +namespace lyx { + + class BufferParams; class ErrorItem; class FuncRequest; @@ -49,6 +54,7 @@ class ParConstIterator; class ParIterator; class TeXErrors; class TexRow; +class TocBackend; class Undo; class StableDocIterator; @@ -106,17 +112,19 @@ public: /// void insertStringAsLines(ParagraphList & plist, - lyx::pit_type &, lyx::pos_type &, - LyXFont const &, std::string const &, bool); + pit_type &, pos_type &, + LyXFont const &, docstring const &, bool); /// ParIterator getParFromID(int id) const; /// 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. - boost::signal message; + boost::signal message; /// This signal is emitted when the buffer busy status change. boost::signal busy; /// This signal is emitted when the buffer readonly status change. @@ -138,42 +146,32 @@ public: /// Write file. Returns \c false if unsuccesful. bool writeFile(std::string const &) const; - /// - void writeFileAscii(std::string const &, OutputParams const &); - /// - void writeFileAscii(std::ostream &, OutputParams const &); /// Just a wrapper for the method below, first creating the ofstream. - void makeLaTeXFile(std::string const & filename, + bool makeLaTeXFile(std::string const & filename, std::string const & original_path, OutputParams const &, bool output_preamble = true, bool output_body = true); /// - void writeLaTeXSource(std::ostream & os, + void writeLaTeXSource(odocstream & os, std::string const & original_path, OutputParams const &, bool output_preamble = true, bool output_body = true); /// - void makeLinuxDocFile(std::string const & filename, - OutputParams const & runparams_in, - bool only_body = false); - /// - void writeLinuxDocSource(std::ostream & os, std::string const & filename, - OutputParams const & runparams_in, - bool only_body = false); - /// void makeDocBookFile(std::string const & filename, OutputParams const & runparams_in, bool only_body = false); /// - void writeDocBookSource(std::ostream & os, std::string const & filename, + void writeDocBookSource(odocstream & os, std::string const & filename, OutputParams const & runparams_in, bool only_body = false); /// returns the main language for the buffer (document) Language const * getLanguage() const; /// get l10n translated to the buffers language - std::string const B_(std::string const & l10n) const; + 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(); @@ -214,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. @@ -240,13 +238,8 @@ public: /// returns \c true if the buffer contains a LaTeX document bool isLatex() const; - /// returns \c true if the buffer contains a LinuxDoc document - bool isLinuxDoc() const; /// returns \c true if the buffer contains a DocBook document bool isDocBook() const; - /** returns \c true if the buffer contains either a LinuxDoc - or DocBook document */ - bool isSGML() const; /// returns \c true if the buffer contains a Wed document bool isLiterate() const; @@ -270,7 +263,7 @@ public: /// of loaded child documents). std::vector const & getBibfilesCache() const; /// - void getLabelList(std::vector &) const; + void getLabelList(std::vector &) const; /// void changeLanguage(Language const * from, Language const * to); @@ -340,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); /// @@ -352,25 +346,22 @@ public: /// StableDocIterator getAnchor() const { return anchor_; } /// - void changeRefsIfUnique(std::string const & from, std::string const & to); - /// get source code (latex/docbook/linuxdoc) for some paragraphs, or all paragraphs - /// including preamble - void getSourceCode(std::ostream & os, lyx::pit_type par_begin, lyx::pit_type par_end, bool full_source); - - /// errorList_ accessor. - ErrorList const & getErrorList() const; - /// replace the internal errorList_ - /** FIXME: This method is const for now because the ErrorList GUI - * showing mechanism is used by other classes in order to show their - * own processing errors (ex: Converter.C). - */ - void setErrorList(ErrorList const &) const; - /// add an error to the errorList_ - /** FIXME: This method is const for now because the ErrorList GUI - * showing mechanism is used by other classes in order to show their - * own processing errors (ex: Converter.C). - */ - void addError(ErrorItem const &) const; + 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. + //@{ + ErrorList const & errorList(std::string const & type) const; + ErrorList & errorList(std::string const & type); + //@} + + //@{ + TocBackend & tocBackend(); + TocBackend const & tocBackend() const; + //@} private: /** Inserts a file into a document @@ -394,12 +385,11 @@ private: /// documents), needed for appropriate update of natbib labels. std::vector bibfilesCache_; - /// An error list (replaces the error insets) - /** FIXME: This member is mutable for now because the ErrorList GUI - * showing mechanism is used by other classes in order to show their - * own processing errors (ex: Converter.C). - */ - mutable ErrorList errorList_; + /// Container for all sort of Buffer dependant errors. + std::map errorLists_; }; + +} // namespace lyx + #endif