]> git.lyx.org Git - lyx.git/blobdiff - src/toc.h
get rid of broken_header.h and some unneeded tests
[lyx.git] / src / toc.h
index 5af9e4959f894d29127ec602fca56c60948f4b08..a267a87dbeaeb8a6d634a3832de8ad4150c40bd9 100644 (file)
--- a/src/toc.h
+++ b/src/toc.h
@@ -1,96 +1,85 @@
 // -*- C++ -*-
-/* This file is part of
- * ======================================================
- *
- *           LyX, The Document Processor
+/**
+ * \file toc.h
+ * This file is part of LyX, the document processor.
+ * Licence details can be found in the file COPYING.
  *
- *           Copyright 2002 The LyX Team.
+ * \author Jean-Marc Lasgouttes
+ * \author Angus Leeming
  *
- * ======================================================
+ * Full author contact details are available in file CREDITS.
  *
- * \file toc.h
- * \author Angus Leeming <a.leeming@ic.ac.uk>
- * \author Jean-Marc Lasgouttes <lasgouttes@freesurf.fr>
+ * Nice functions and objects to handle TOCs
  */
 
 #ifndef TOC_H
 #define TOC_H
 
-#ifdef __GNUG__
-#pragma interface
-#endif
-
-#include <config.h>
-#include "support/LOstream.h"
-#include "LString.h"
-
 #include <map>
+#include <iosfwd>
 #include <vector>
+#include <string>
 
 class Buffer;
 class LyXView;
 class Paragraph;
+class FuncRequest;
 
-/** Nice functions and objects to handle TOCs
- */
-namespace toc 
-{
+namespace lyx {
+namespace toc {
 
 ///
 struct TocItem {
-       TocItem(Paragraph * p, int d, string const & s)
-               : par(p), depth(d), str(s) {}
+       TocItem(int par_id, int d, std::string const & s)
+               : id_(par_id), depth(d), str(s) {}
        ///
-       string const asString() const;
+       std::string const asString() const;
        /// set cursor in LyXView to this TocItem
        void goTo(LyXView & lv_) const;
        /// the action corresponding to the goTo above
-       int action() const;
-       ///
-       Paragraph * par;
-       ///
+       FuncRequest action() const;
+       /// Paragraph ID containing this item
+       int id_;
+       /// nesting depth
        int depth;
        ///
-       string str;
+       std::string str;
 };
 
 ///
 typedef std::vector<TocItem> Toc;
 ///
-typedef std::map<string, Toc> TocList;
+typedef std::map<std::string, Toc> TocList;
 
 ///
-TocList const getTocList(Buffer const *);
+TocList const getTocList(Buffer const &);
 
 ///
-std::vector<string> const getTypes(Buffer const *);
+std::vector<std::string> const getTypes(Buffer const &);
 
 ///
-void asciiTocList(string const &, Buffer const *, std::ostream &);
-       
+void asciiTocList(std::string const &, Buffer const &, std::ostream &);
+
 /** Given the cmdName of the TOC param, returns the type used
     by ControlToc::getContents() */
-string const getType(string const & cmdName);
+std::string const getType(std::string const & cmdName);
 
-///
 inline
 bool operator==(TocItem const & a, TocItem const & b)
 {
-       return a.par == b.par && a.str == b.str;
+       return a.id_ == b.id_ && a.str == b.str;
        // No need to compare depth.
 }
 
 
-///
 inline
 bool operator!=(TocItem const & a, TocItem const & b)
 {
        return !(a == b);
-       // No need to compare depth.
 }
 
 
 } // namespace toc
+} // namespace lyx
 
 #endif // CONTROLTOC_H