┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
path: root/src/kitemviews/kitemmodelbase.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/kitemviews/kitemmodelbase.h')
-rw-r--r--src/kitemviews/kitemmodelbase.h29
1 files changed, 29 insertions, 0 deletions
diff --git a/src/kitemviews/kitemmodelbase.h b/src/kitemviews/kitemmodelbase.h
index edca15bd1..1dffaf8cf 100644
--- a/src/kitemviews/kitemmodelbase.h
+++ b/src/kitemviews/kitemmodelbase.h
@@ -53,6 +53,9 @@ typedef QList<KItemRange> KItemRangeList;
* One item consists of a variable number of role/value-pairs.
*
* A model can optionally provide sorting- and grouping-capabilities.
+ *
+ * Also optionally it is possible to provide a tree of items by implementing the methods
+ * setExpanded(), isExpanded() and isExpandable().
*/
class LIBDOLPHINPRIVATE_EXPORT KItemModelBase : public QObject
{
@@ -117,6 +120,32 @@ public:
virtual QList<QPair<int, QVariant> > groups() const;
/**
+ * Expands the item with the index \a index if \a expanded is true.
+ * If \a expanded is false the item will be collapsed.
+ *
+ * Per default no expanding of items is implemented. When implementing
+ * this method it is mandatory to overwrite KItemModelBase::isExpandable()
+ * and KItemListView::supportsExpandableItems() to return true.
+ *
+ * @return True if the operation has been successful.
+ */
+ virtual bool setExpanded(int index, bool expanded);
+
+ /**
+ * @return True if the item with the index \a index is expanded.
+ * Per default no expanding of items is implemented. When implementing
+ * this method it is mandatory to overwrite KItemModelBase::isExpandable()
+ * and KItemListView::supportsExpandableItems() to return true.
+ */
+ virtual bool isExpanded(int index) const;
+
+ /**
+ * @return True if expanding and collapsing of the item with the index \a index
+ * is supported. Per default false is returned.
+ */
+ virtual bool isExpandable(int index) const;
+
+ /**
* @return MIME-data for the items given by \a indexes. The default implementation
* returns 0. The ownership of the returned instance is in the hand of the
* caller of this method.