X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Ffrontends%2Fqt4%2FTocWidget.h;h=608920a42ad3f7b7f03519895e6686c1930d9301;hb=121fdba3666b43549a2f02dc4bfef1605707a1d5;hp=809d4600f3fa3318654335c6e49d3ba3abb579fb;hpb=49fb2980eb480ba519457de1080b96e4f91da982;p=lyx.git diff --git a/src/frontends/qt4/TocWidget.h b/src/frontends/qt4/TocWidget.h index 809d4600f3..608920a42a 100644 --- a/src/frontends/qt4/TocWidget.h +++ b/src/frontends/qt4/TocWidget.h @@ -16,6 +16,7 @@ #include "ui_TocUi.h" #include "Cursor.h" +#include "FuncCode.h" #include @@ -36,12 +37,17 @@ 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. + /// Schedule new update of the display unless already scheduled. void updateView(); + /// Update the display of the dialog whilst it is still visible. + void updateViewForce(); protected Q_SLOTS: /// @@ -60,6 +66,7 @@ protected Q_SLOTS: void on_moveDownTB_clicked(); void on_moveInTB_clicked(); void on_moveOutTB_clicked(); + void filterContents(); void showContextMenu(const QPoint & pos); @@ -67,9 +74,24 @@ 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_; @@ -79,6 +101,8 @@ private: bool persistent_; /// GuiView & gui_view_; + // next delay for outliner update in ms. -1 when already scheduled. + int update_delay_; }; } // namespace frontend