4 * This file is part of LyX, the document processor.
5 * Licence details can be found in the file COPYING.
7 * \author Jean-Marc Lasgouttes
8 * \author Angus Leeming
10 * Full author contact details are available in file CREDITS.
12 * Nice functions and objects to handle TOCs
18 #include "TocBackend.h"
25 typedef TocBackend::Item TocItem;
26 typedef TocBackend::Toc::const_iterator TocIterator;
27 typedef TocBackend::Toc Toc;
28 typedef TocBackend::TocList TocList;
31 void updateToc(Buffer const &);
34 TocList const & getTocList(Buffer const &);
37 Toc const & getToc(Buffer const & buf, std::string const & type);
40 std::vector<std::string> const & getTypes(Buffer const &);
42 /// Return the first TocItem before the cursor
43 TocIterator const getCurrentTocItem(Buffer const &, LCursor const &,
44 std::string const & type);
47 void asciiTocList(std::string const &, Buffer const &, std::ostream &);
49 /** Given the cmdName of the TOC param, returns the type used
50 by ControlToc::getContents() */
51 std::string const getType(std::string const & cmdName);
53 /** Returns the guiname from a given @c type
54 The localization of the names will be done in the frontends */
55 std::string const getGuiName(std::string const & type, Buffer const &);
57 /// the type of outline operation
59 Up, // Move this header with text down
60 Down, // Move this header with text up
61 In, // Make this header deeper
62 Out // Make this header shallower
66 void outline(OutlineOp, LCursor &);
72 #endif // CONTROLTOC_H