+ void saveCursor(StableDocIterator cursor, StableDocIterator anchor);
+ ///
+ StableDocIterator getCursor() const { return cursor_; }
+ ///
+ StableDocIterator getAnchor() const { return anchor_; }
+ ///
+ 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
+ \return \c false if method fails.
+ */
+ bool readFile(LyXLex &, support::FileName const & filename);
+
+ bool do_writeFile(std::ostream & ofs) const;
+
+ /// Use the Pimpl idiom to hide the internals.
+ class Impl;
+ /// The pointer never changes although *pimpl_'s contents may.
+ boost::scoped_ptr<Impl> const pimpl_;
+
+ /// Save the cursor Position on Buffer switch
+ /// this would not be needed if every Buffer would have
+ /// it's BufferView, this should be FIXED in future.
+ StableDocIterator cursor_;
+ StableDocIterator anchor_;
+ /// A cache for the bibfiles (including bibfiles of loaded child
+ /// documents), needed for appropriate update of natbib labels.
+ std::vector<support::FileName> bibfilesCache_;
+
+ /// Container for all sort of Buffer dependant errors.
+ std::map<std::string, ErrorList> errorLists_;