X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Fbuffer.h;h=dcb3fd17690188b779051b57dac497db1b0eff36;hb=7c98b3bd37f41ad05e9770d66774f999fbd17ff8;hp=880cff61b3d91dbbeb4706985e469e5747b8782e;hpb=48ba1f83233572aac3981ff299e46b3e75a1f258;p=lyx.git diff --git a/src/buffer.h b/src/buffer.h index 880cff61b3..dcb3fd1769 100644 --- a/src/buffer.h +++ b/src/buffer.h @@ -19,12 +19,15 @@ #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 + class BufferView; class LyXRC; class TeXErrors; @@ -32,10 +35,7 @@ class LaTeXFeatures; class Language; 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 +73,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 +126,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); @@ -143,7 +145,7 @@ public: bool save() const; /// Write file. Returns \c false if unsuccesful. - bool writeFile(string const &, bool) const; + bool writeFile(string const &) const; /// void writeFileAscii(string const & , int); @@ -152,15 +154,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 +185,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; @@ -187,15 +197,15 @@ public: Language const * getLanguage() const; /// int runChktex(); - /// - bool isLyxClean() const; + /// return true if the main lyx file does not need saving + bool isClean() const; /// bool isBakClean() const; /// bool isDepClean(string const & name) const; - /// - void markLyxClean() const; + /// mark the main lyx file as not needing saving + void markClean() const; /// void markBakClean(); @@ -265,24 +275,7 @@ public: /// string const getIncludeonlyList(char delim = ','); /// - std::vector > const getBibkeyList(); - /// - struct TocItem { - TocItem(Paragraph * p, int d, string const & s) - : par(p), depth(d), str(s) {} - /// - Paragraph * par; - /// - int depth; - /// - string str; - }; - /// - typedef std::vector SingleList; - /// - typedef std::map Lists; - /// - Lists const getLists() const; + std::vector > const getBibkeyList() const; /// std::vector const getLabelList(); @@ -296,10 +289,10 @@ public: bool isMultiLingual(); /// Does this mean that this is buffer local? - UndoStack undostack; + limited_stack > undostack; /// Does this mean that this is buffer local? - UndoStack redostack; + limited_stack > redostack; /// BufferParams params; @@ -398,6 +391,7 @@ public: } return tmp; } + /// Inset * operator*() { return *it; } @@ -467,7 +461,7 @@ Language const * Buffer::getLanguage() const inline -bool Buffer::isLyxClean() const +bool Buffer::isClean() const { return lyx_clean; } @@ -481,7 +475,7 @@ bool Buffer::isBakClean() const inline -void Buffer::markLyxClean() const +void Buffer::markClean() const { if (!lyx_clean) { lyx_clean = true; @@ -565,24 +559,6 @@ void Buffer::setParentName(string const & name) } -/// -inline -bool operator==(Buffer::TocItem const & a, Buffer::TocItem const & b) -{ - return a.par == b.par && a.str == b.str; - // No need to compare depth. -} - - -/// -inline -bool operator!=(Buffer::TocItem const & a, Buffer::TocItem const & b) -{ - return !(a == b); - // No need to compare depth. -} - - /// inline bool operator==(Buffer::inset_iterator const & iter1,