]> git.lyx.org Git - lyx.git/blobdiff - src/Buffer.h
Kornel's gcc compile fix.
[lyx.git] / src / Buffer.h
index dd1a2b4c84501335a376cd99074322e5ac81146f..af69950eb1a74443136eac2624d64a353c617ef7 100644 (file)
@@ -20,6 +20,7 @@
 #include "support/types.h"
 #include "support/SignalSlot.h"
 
+#include <list>
 #include <string>
 #include <vector>
 
@@ -154,10 +155,6 @@ public:
        */
        bool readDocument(Lexer &);
 
-       ///
-       void insertStringAsLines(ParagraphList & plist,
-               pit_type &, pos_type &,
-               Font const &, docstring const &, bool);
        ///
        DocIterator getParFromID(int id) const;
        /// do we have a paragraph with this id?
@@ -174,6 +171,9 @@ public:
 
        /// Write document to stream. Returns \c false if unsuccesful.
        bool write(std::ostream &) const;
+       /// save emergency file
+       /// \return a status message towards the user.
+       docstring emergencyWrite();
        /// Write file. Returns \c false if unsuccesful.
        bool writeFile(support::FileName const &) const;
 
@@ -222,6 +222,14 @@ public:
        void writeDocBookSource(odocstream & os, std::string const & filename,
                             OutputParams const & runparams_in,
                             bool only_body = false) const;
+       ///
+       void makeLyXHTMLFile(support::FileName const & filename,
+                            OutputParams const & runparams_in,
+                            bool only_body = false) const;
+       ///
+       void writeLyXHTMLSource(odocstream & os,
+                            OutputParams const & runparams_in,
+                            bool only_body = false) const;
        /// returns the main language for the buffer (document)
        Language const * language() const;
        /// get l10n translated to the buffers language
@@ -254,9 +262,16 @@ public:
        ///
        void setUnnamed(bool flag = true);
 
-       ///
+       /// Whether or not a filename has been assigned to this buffer
        bool isUnnamed() const;
 
+       /// Whether or not this buffer is internal.
+       ///
+       /// An internal buffer does not contain a real document, but some auxiliary text segment.
+       /// It is not associated with a filename, it is never saved, thus it does not need to be
+       /// automatically saved, nor it needs to trigger any "do you want to save ?" question.
+       bool isInternal() const;
+
        /// Mark this buffer as dirty.
        void markDirty();
 
@@ -275,7 +290,7 @@ public:
        */
        std::string latexName(bool no_path = true) const;
 
-       /// Get thee name and type of the log.
+       /// Get the name and type of the log.
        std::string logName(LogType * type = 0) const;
 
        /// Change name of buffer. Updates "read-only" flag.
@@ -447,7 +462,7 @@ public:
        /// This function is called when the buffer structure is changed.
        void structureChanged() const;
        /// This function is called when some parsing error shows up.
-       void errors(std::string const & err) const;
+       void errors(std::string const & err, bool from_master = false) const;
        /// This function is called when the buffer busy status change.
        void setBusy(bool on) const;
        /// This function is called when the buffer readonly status change.
@@ -468,6 +483,10 @@ public:
        void autoSave() const;
        ///
        void removeAutosaveFile() const;
+       ///
+       void moveAutosaveFile(support::FileName const & old) const;
+       ///
+       support::FileName getAutosaveFilename() const;
 
        /// return the format of the buffer on a string
        std::string bufferFormat() const;
@@ -494,6 +513,9 @@ public:
        void setInsetLabel(docstring const & label, InsetLabel const * il);
        InsetLabel const * insetLabel(docstring const & label) const;
 
+       /// return a list of all used branches (also in children)
+       void getUsedBranches(std::list<docstring> &, bool const from_master = false) const;
+
        /// sets the buffer_ member for every inset in this buffer.
        // FIXME This really shouldn't be needed, but at the moment it's not
        // clear how to do it just for the individual pieces we need.
@@ -503,15 +525,12 @@ public:
        ///
        void updateLabels(ParIterator & parit) const;
 
-       /// Find next word starting from \p from.
-       /// \p from initial position to search, will then points to the next
+       /// Spellcheck starting from \p from.
+       /// \p from initial position, will then points to the next misspelled
        ///    word.
-       /// \p to will points to the end of the next word.
-       /// \p word will contain the found word if any.
-       /// \return true if a new word was found.
-       bool nextWord(DocIterator & from, DocIterator & to,
-               docstring & word) const;
-
+       /// \p to will points to the end of the next misspelled word.
+       /// \p word_lang will contain the found misspelled word.
+       /// \return progress if a new word was found.
        int spellCheck(DocIterator & from, DocIterator & to,
                WordLangTuple & word_lang, docstring_list & suggestions) const;
 
@@ -537,8 +556,11 @@ private:
        */
        ReadStatus readFile(Lexer &, support::FileName const & filename,
                            bool fromString = false);
-       ///
-       support::FileName getAutosaveFilename() const;
+
+       /** If we have branches that use the file suffix
+           feature, return the file name with suffix appended.
+       */
+       support::FileName exportFileName() const;
 
        /// Use the Pimpl idiom to hide the internals.
        class Impl;