X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Ffrontends%2Fqt4%2FTocModel.h;h=7475416160198a57ac531b2341acaeee25b3f959;hb=425d092204118ea6c24c28e85fdf03fcf2bb51a4;hp=d5e7ea830d08e070a36ba69c9bfbfc8979fefce9;hpb=4b8f0d359c29620fdbe54d06f2f2afb3f89e23db;p=lyx.git diff --git a/src/frontends/qt4/TocModel.h b/src/frontends/qt4/TocModel.h index d5e7ea830d..7475416160 100644 --- a/src/frontends/qt4/TocModel.h +++ b/src/frontends/qt4/TocModel.h @@ -15,10 +15,9 @@ #include "qt_helpers.h" #include -#include -#include #include -#include + +class QSortFilterProxyModel; namespace lyx { @@ -30,26 +29,32 @@ class TocItem; namespace frontend { +/// A QStandardItemModel that gives access to the reset method. +/// This is needed in order to fix http://www.lyx.org/trac/ticket/3740 class TocTypeModel : public QStandardItemModel { public: /// - TocTypeModel(QObject * parent = 0); + TocTypeModel(QObject * parent); /// void reset(); }; - +/// A class that adapt the TocBackend of a Buffer into standard Qt models for +/// GUI visualisation. +/// There is one TocModel per list in the TocBackend. class TocModel { public: /// - TocModel(QObject * parent = 0); + TocModel(QObject * parent); /// void reset(Toc const & toc); /// void reset(); /// + void updateItem(DocIterator const & dit); + /// void clear(); /// QAbstractItemModel * model(); @@ -76,16 +81,16 @@ private: /// bool is_sorted_; /// - QList toc_indexes_; - /// Toc const * toc_; /// int maxdepth_; + /// int mindepth_; }; -class TocModels: public QObject +/// A container for the different TocModels. +class TocModels : public QObject { Q_OBJECT public: @@ -108,9 +113,14 @@ public: /// void updateBackend() const; /// + void updateItem(QString const & type, DocIterator const & dit); + /// void sort(QString const & type, bool sort_it); /// bool isSorted(QString const & type) const; + /// the item that is currently selected + TocItem const currentItem(QString const & type, + QModelIndex const & index) const; Q_SIGNALS: /// Signal that the internal toc_models_ has been reset.