]> git.lyx.org Git - lyx.git/blobdiff - src/TocBackend.h
Embedding: saving inzip name to .lyx file so that embedded files can always be found...
[lyx.git] / src / TocBackend.h
index 379c47e536b1689e9c28f9cfa6e96cad55d41c71..30ed9de75fd84e8ca93224c89d40e7b49d25ce86 100644 (file)
 #include <vector>
 #include <string>
 
-#include "pariterator.h"
+#include "ParIterator.h"
 
-#include "support/docstream.h"
+#include "support/strfwd.h"
 
 
 namespace lyx {
 
 class Buffer;
-class Paragraph;
 class FuncRequest;
-class LCursor;
 
 ///
 /**
@@ -40,18 +38,19 @@ class TocItem
        friend class TocBackend;
 
 public:
+       /// Default constructor for STL containers.
+       TocItem() {}
        ///
-       TocItem(ParConstIterator const & par_it = ParConstIterator(),
-               int d = -1,
-               docstring const & s = docstring());
+       TocItem(ParConstIterator const & par_it,
+               int depth,
+               docstring const & s
+               );
        ///
        ~TocItem() {}
        ///
-       bool const isValid() const;
+       int id() const;
        ///
-       int const id() const;
-       ///
-       int const depth() const;
+       int depth() const;
        ///
        docstring const & str() const;
        ///
@@ -59,7 +58,7 @@ public:
 
        /// the action corresponding to the goTo above
        FuncRequest action() const;
-       
+
 protected:
        /// Current position of item.
        ParConstIterator par_it_;
@@ -75,11 +74,10 @@ protected:
 ///
 typedef std::vector<TocItem> Toc;
 typedef Toc::const_iterator TocIterator;
+
 /// The ToC list.
 /// A class and no typedef because we want to forward declare it.
-class TocList : public std::map<std::string, Toc>
-{
-};
+class TocList : public std::map<std::string, Toc> {};
 
 
 ///
@@ -96,27 +94,27 @@ public:
        void setBuffer(Buffer const * buffer)
        { buffer_ = buffer; }
        ///
-       bool addType(std::string const & type);
-       ///
        void update();
+       ///
+       void updateItem(ParConstIterator const & pit);
+
        ///
        TocList const & tocs() const
        { return tocs_; }
-       ///
-       std::vector<std::string> const & types() const
-       { return types_; }
+
        ///
        Toc const & toc(std::string const & type) const;
        /// Return the first Toc Item before the cursor
-       TocIterator const item(std::string const & type, ParConstIterator const &) const;
+       TocIterator const item(
+               std::string const & type, ///< Type of Toc.
+               ParConstIterator const & ///< The cursor location in the document.
+               ) const;
 
-       void asciiTocList(std::string const & type, odocstream & os) const;
+       void writePlaintextTocList(std::string const & type, odocstream & os) const;
 
 private:
-       /// 
-       TocList tocs_;
        ///
-       std::vector<std::string> types_;
+       TocList tocs_;
        ///
        Buffer const * buffer_;