4 * This file is part of LyX, the document processor.
5 * Licence details can be found in the file COPYING.
7 * \author Angus Leeming
8 * \author Abdelrazak Younes
10 * Full author contact details are available in file CREDITS.
17 #include "ControlCommand.h"
18 #include "TocBackend.h"
25 /** A controller for TOC dialogs.
27 class ControlToc : public ControlCommand {
32 virtual ~ControlToc() {}
34 /// \c ControlCommand inherited method.
35 virtual bool initialiseParams(std::string const & data);
38 TocList const & tocs() const;
40 /// Goto this paragraph id
41 void goTo(TocItem const &);
43 /// Return the list of types available
44 std::vector<docstring> const & typeNames() const
45 { return type_names_; }
48 int selectedType() { return selected_type_; }
50 /// Return the first TocItem before the cursor
51 TocIterator const getCurrentTocItem(size_t type) const;
53 /// Apply the selected outlining operation
61 /// Test if outlining operation is possible
62 bool canOutline(size_t type) const;
67 std::vector<std::string> types_;
68 std::vector<docstring> type_names_;
71 /// Return the guiname from a given cmdName of the TOC param
72 docstring const getGuiName(std::string const & type) const;
75 } // namespace frontend
78 #endif // CONTROLTOC_H