X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Ffrontends%2Fqt4%2FTocWidget.h;h=6dd9fbf76a938555b1425d7c7be0a558a8f0dd63;hb=5a46224f7311067cda747e0cae32d22dd919f179;hp=b80e4776d016cd364013a9c4506b654193281409;hpb=4b8f0d359c29620fdbe54d06f2f2afb3f89e23db;p=lyx.git diff --git a/src/frontends/qt4/TocWidget.h b/src/frontends/qt4/TocWidget.h index b80e4776d0..6dd9fbf76a 100644 --- a/src/frontends/qt4/TocWidget.h +++ b/src/frontends/qt4/TocWidget.h @@ -15,6 +15,9 @@ #include "ui_TocUi.h" +#include "Cursor.h" +#include "FuncCode.h" + #include class QModelIndex; @@ -34,6 +37,11 @@ public: /// Initialise GUI. void init(QString const & str); + /// + void doDispatch(Cursor & cur, FuncRequest const & fr); + /// + bool getStatus(Cursor & cur, FuncRequest const & fr, FuncStatus & status) + const; public Q_SLOTS: /// Update the display of the dialog whilst it is still visible. @@ -46,28 +54,49 @@ protected Q_SLOTS: void goTo(QModelIndex const &); void on_tocTV_activated(QModelIndex const &); - void on_tocTV_clicked(QModelIndex const &); + void on_tocTV_pressed(QModelIndex const &); void on_updateTB_clicked(); void on_sortCB_stateChanged(int state); + void on_persistentCB_stateChanged(int state); void on_depthSL_valueChanged(int depth); void on_typeCO_currentIndexChanged(int value); void on_moveUpTB_clicked(); void on_moveDownTB_clicked(); void on_moveInTB_clicked(); void on_moveOutTB_clicked(); + void filterContents(); + + void showContextMenu(const QPoint & pos); private: /// void enableControls(bool enable = true); /// + bool canOutline() + { return current_type_ == "tableofcontents"; } + /// It is not possible to have synchronous navigation in a correct + /// and efficient way with the label and change type because Toc::item() + /// does a linear search. Even when fixed, it might even not be desirable + /// to do so if we want to support drag&drop of labels and references. + bool canNavigate() + { return current_type_ != "label" && current_type_ != "change"; } + /// + bool isSortable() + { return current_type_ != "tableofcontents"; } + /// void setTreeDepth(int depth); /// - void outline(int func_code); + void outline(FuncCode func_code); + /// finds the inset that is connected to the current item, + /// if any, otherwise return null + Inset * itemInset() const; /// QString current_type_; /// depth of list shown int depth_; + /// persistence of uncollapsed nodes in toc view + bool persistent_; /// GuiView & gui_view_; };