]> git.lyx.org Git - lyx.git/blobdiff - src/buffer.h
redraw fix 1.
[lyx.git] / src / buffer.h
index 880cff61b3d91dbbeb4706985e469e5747b8782e..b3af29f343f38c4911de6937e4432d7c5365c5f1 100644 (file)
 
 #include "LString.h"
 #include "undo.h"
-#include "undostack.h"
+#include "support/limited_stack.h"
+
 #include "lyxvc.h"
 #include "bufferparams.h"
 #include "texrow.h"
 #include "paragraph.h"
 
+#include <boost/shared_ptr.hpp>
+
 class BufferView;
 class LyXRC;
 class TeXErrors;
@@ -35,7 +38,7 @@ class ParIterator;
 // When lyx 1.3.x starts we should enable this
 // btw. we should also test this with 1.2 so that we
 // do not get any surprises. (Lgb)
-//#define NO_COMPABILITY 1
+#define NO_COMPABILITY 1
 
 ///
 struct DEPCLEAN {
@@ -73,10 +76,10 @@ public:
        /** High-level interface to buffer functionality.
            This function parses a command string and executes it
        */
-       bool dispatch(string const & command);
+       bool dispatch(string const & command, bool * result = 0);
 
        /// Maybe we know the function already by number...
-       bool dispatch(int ac, string const & argument);
+       bool dispatch(int ac, string const & argument, bool * result = 0);
 
        ///
        void resizeInsets(BufferView *);
@@ -126,6 +129,8 @@ public:
        void insertStringAsLines(Paragraph *&, lyx::pos_type &,
                                 LyXFont const &, string const &) const;
 #ifndef NO_COMPABILITY
+       ///
+       Inset * isErtInset(Paragraph * par, int pos) const;
        ///
        void insertErtContents(Paragraph * par, int & pos,
                               bool set_inactive = true);
@@ -152,15 +157,23 @@ public:
        ///
        string const asciiParagraph(Paragraph const *, unsigned int linelen,
                                    bool noparbreak = false) const;
-       ///
+       /// Just a wrapper for the method below, first creating the ofstream.
        void makeLaTeXFile(string const & filename,
                           string const & original_path,
-                          bool nice, bool only_body = false);
+                          bool nice,
+                          bool only_body = false,
+                          bool only_preamble = false);
+       ///
+       void makeLaTeXFile(std::ostream & os,
+                          string const & original_path,
+                          bool nice,
+                          bool only_body = false,
+                          bool only_preamble = false);
        /** LaTeX all paragraphs from par to endpar.
            \param \a endpar if == 0 then to the end
        */
        void latexParagraphs(std::ostream & os, Paragraph * par,
-                            Paragraph * endpar, TexRow & texrow) const;
+                            Paragraph * endpar, TexRow & texrow, bool moving_arg = false) const;
        ///
        void simpleDocBookOnePar(std::ostream &,
                                 Paragraph * par, int & desc_on,
@@ -175,10 +188,10 @@ public:
        void makeDocBookFile(string const & filename,
                             bool nice, bool only_body = false);
        /// Open SGML/XML tag.
-       void sgmlOpenTag(std::ostream & os, Paragraph::depth_type depth,
+       int sgmlOpenTag(std::ostream & os, Paragraph::depth_type depth, bool mixcont,
                string const & latexname) const;
        /// Closes SGML/XML tag.
-       void sgmlCloseTag(std::ostream & os, Paragraph::depth_type depth,
+       int sgmlCloseTag(std::ostream & os, Paragraph::depth_type depth, bool mixcont,
                string const & latexname) const;
        ///
        void sgmlError(Paragraph * par, int pos, string const & message) const;
@@ -265,7 +278,7 @@ public:
        ///
        string const getIncludeonlyList(char delim = ',');
        ///
-       std::vector<std::pair<string, string> > const getBibkeyList();
+       std::vector<std::pair<string, string> > const getBibkeyList() const;
        ///
        struct TocItem {
                TocItem(Paragraph * p, int d, string const & s)
@@ -296,10 +309,10 @@ public:
        bool isMultiLingual();
 
        /// Does this mean that this is buffer local?
-       UndoStack undostack;
+       limited_stack<boost::shared_ptr<Undo> > undostack;
 
        /// Does this mean that this is buffer local?
-       UndoStack redostack;
+       limited_stack<boost::shared_ptr<Undo> > redostack;
 
        ///
        BufferParams params;