#ifndef GUITOC_H
#define GUITOC_H
-#include "TocBackend.h"
-#include "Dialog.h"
-#include "insets/InsetCommandParams.h"
-
-#include <QObject>
-#include <QStandardItemModel>
-#include <QStringListModel>
-
-#include <vector>
+#include "DockView.h"
namespace lyx {
namespace frontend {
class TocModel;
+class TocWidget;
-class GuiToc : public QObject, public Controller
+class GuiToc : public DockView
{
Q_OBJECT
public:
///
- GuiToc(Dialog &);
+ GuiToc(
+ GuiView & parent, ///< the main window where to dock.
+ Qt::DockWidgetArea area = Qt::LeftDockWidgetArea, ///< Position of the dock (and also drawer)
+ Qt::WindowFlags flags = 0);
+
+ ~GuiToc();
///
bool initialiseParams(std::string const & data);
- ///
void updateView();
- /// Test if outlining operation is possible
- bool canOutline(int type) const;
-
- QStandardItemModel * tocModel(int type);
- ///
- QModelIndex currentIndex(int type) const;
- ///
- void goTo(int type, QModelIndex const & index);
- ///
- int getType();
- ///
- int getTocDepth(int type);
-
-Q_SIGNALS:
- /// Signal that the internal toc_models_ has been reset.
- void modelReset();
-
-private:
- friend class TocWidget;
- ///
- std::vector<TocModel *> toc_models_;
-
- ///
- TocList const & tocs() const;
-
- /// Return the list of types available
- std::vector<docstring> const & typeNames() const
- { return type_names_; }
-
- ///
- int selectedType() { return selected_type_; }
-
- /// Return the first TocItem before the cursor
- TocIterator currentTocItem(int type) const;
-
- /// Apply the selected outlining operation
- void outlineUp();
- ///
- void outlineDown();
- ///
- void outlineIn();
- ///
- void outlineOut();
- ///
- void updateBackend();
-
- std::vector<std::string> types_;
- std::vector<docstring> type_names_;
- int selected_type_;
-
- /// Return the guiname from a given cmdName of the TOC param
- docstring guiName(std::string const & type) const;
+ void enableView(bool enable);
+ bool wantInitialFocus() const { return false; }
+ void closeEvent(QCloseEvent * event);
+ bool isClosing() const { return is_closing_; }
+public:
/// clean-up on hide.
- void clearParams() { params_.clear(); }
+ void clearParams() {}
///
void dispatchParams();
///
bool isBufferDependent() const { return true; }
+ ///
+ void doDispatch(Cursor & cur, FuncRequest const & fr);
+ ///
+ bool getStatus(Cursor & cur, FuncRequest const & fr, FuncStatus & fs) const;
private:
///
- InsetCommandParams params_;
+ TocWidget * widget_;
+ ///
+ bool is_closing_;
};
} // namespace frontend