![]() |
Isis 3 Developer Reference
|
Base class for tree models. More...
#include <AbstractTreeModel.h>


Public Types | |
| enum | InterestingItems { PointItems = 1, MeasureItems = 2, ImageItems = 4, AllItems = PointItems | MeasureItems | ImageItems } |
Public Slots | |
| void | applyFilter () |
Signals | |
| void | cancelSort () |
| void | modelModified () |
| void | filterProgressChanged (int) |
| void | filterProgressRangeChanged (int, int) |
| void | rebuildProgressChanged (int) |
| void | rebuildProgressRangeChanged (int, int) |
| void | treeSelectionChanged (QList< AbstractTreeItem *>) |
| void | tableSelectionChanged (QList< AbstractTreeItem *>) |
| void | filterCountsChanged (int visibleTopLevelItemCount, int topLevelItemCount) |
| This signal is emitted after filtering to provide the number of visible top-level items remaining after the filter was applied, as well as the total number of items that were possible. More... | |
Public Member Functions | |
| AbstractTreeModel (ControlNet *controlNet, TreeView *v, QObject *parent=0) | |
| virtual | ~AbstractTreeModel () |
| QList< AbstractTreeItem *> | getItems (int, int, InterestingItemsFlag=AllItems, bool=false) |
| QList< AbstractTreeItem *> | getItems (AbstractTreeItem *, AbstractTreeItem *, InterestingItemsFlag=AllItems, bool=false) |
| QList< AbstractTreeItem *> | getSelectedItems (InterestingItemsFlag=AllItems, bool=false) |
| QMutex * | getMutex () const |
| int | getItemCount (InterestingItemsFlag) const |
| int | getTopLevelItemCount () const |
| int | getVisibleItemCount (InterestingItemsFlag, bool) const |
| int | getVisibleTopLevelItemCount () const |
| TreeView * | getView () const |
| void | setDrivable (bool drivableStatus) |
| bool | isDrivable () const |
| bool | isFiltering () const |
| bool | isRebuilding () const |
| void | setRebuilding (bool running) |
| void | setFilter (FilterWidget *newFilter) |
| void | setGlobalSelection (bool selected, InterestingItemsFlag=AllItems) |
| void | stopWorking () |
| QSize | getVisibleSize (int indentation) const |
| indentation is in pixels More... | |
| int | indexOfVisibleItem (AbstractTreeItem const *item, InterestingItemsFlag=AllItems, bool=false) const |
| void | setFrozen (bool) |
| bool | isFrozen () const |
| void | queueRebuild () |
| virtual void | rebuildItems ()=0 |
Protected Member Functions | |
| void | clear () |
| ControlNet * | getControlNetwork () const |
| FilterWidget * | getFilterWidget () const |
| QFutureWatcher< QAtomicPointer< RootItem > > * | getRebuildWatcher () const |
| RootItem * | getRootItem () const |
Protected Attributes | |
| RootItem * | rootItem |
Base class for tree models.
This class is a base class for models that store data in a tree-like structure. There is also a linked-list for iterating over the filtered items in an efficient manner. This handles the filtering of items and provides an interface for rebuilding.
| Isis::AbstractTreeModel::AbstractTreeModel | ( | ControlNet * | controlNet, |
| TreeView * | v, | ||
| QObject * | parent = 0 |
||
| ) |
|
virtual |
References rootItem.
|
slot |
|
signal |
|
signal |
This signal is emitted after filtering to provide the number of visible top-level items remaining after the filter was applied, as well as the total number of items that were possible.
Referenced by applyFilter(), Isis::ImagePointTreeModel::rebuildItems(), Isis::ImageImageTreeModel::rebuildItems(), and Isis::PointMeasureTreeModel::rebuildItems().
|
signal |
Referenced by AbstractTreeModel().
|
signal |
Referenced by AbstractTreeModel().
|
protected |
|
protected |
| int Isis::AbstractTreeModel::getItemCount | ( | InterestingItemsFlag | flags | ) | const |
References rootItem.
| QList< AbstractTreeItem *> Isis::AbstractTreeModel::getItems | ( | int | start, |
| int | end, | ||
| InterestingItemsFlag | flags = AllItems, |
||
| bool | ignoreExpansion = false |
||
| ) |
References ASSERT, Isis::AbstractParentItem::childCount(), Isis::AbstractParentItem::getFirstVisibleChild(), Isis::AbstractTreeItem::getLastVisibleChild(), Isis::RootItem::getLastVisibleFilteredItem(), isFiltering(), Isis::AbstractTreeItem::parent(), and rootItem.
Referenced by Isis::CnetEditorWidget::filteredNetwork(), Isis::AbstractTableModel::getSortedItems(), and Isis::TreeViewContent::mousePressEvent().
| QList< AbstractTreeItem *> Isis::AbstractTreeModel::getItems | ( | AbstractTreeItem * | item1, |
| AbstractTreeItem * | item2, | ||
| InterestingItemsFlag | flags = AllItems, |
||
| bool | ignoreExpansion = false |
||
| ) |
| QMutex * Isis::AbstractTreeModel::getMutex | ( | ) | const |
|
protected |
| QList< AbstractTreeItem *> Isis::AbstractTreeModel::getSelectedItems | ( | InterestingItemsFlag | flags = AllItems, |
| bool | ignoreExpansion = false |
||
| ) |
| int Isis::AbstractTreeModel::getTopLevelItemCount | ( | ) | const |
| TreeView * Isis::AbstractTreeModel::getView | ( | ) | const |
| int Isis::AbstractTreeModel::getVisibleItemCount | ( | InterestingItemsFlag | flags, |
| bool | ignoreExpansion | ||
| ) | const |
References Isis::AbstractParentItem::getFirstVisibleChild(), isFiltering(), and rootItem.
Referenced by Isis::PointTableModel::getVisibleRowCount(), and Isis::MeasureTableModel::getVisibleRowCount().
| QSize Isis::AbstractTreeModel::getVisibleSize | ( | int | indentation | ) | const |
indentation is in pixels
References AllItems, Isis::AbstractTreeItem::getDataWidth(), Isis::AbstractTreeItem::getDepth(), Isis::AbstractParentItem::getFirstVisibleChild(), isFiltering(), and rootItem.
Referenced by Isis::TreeViewContent::refresh().
| int Isis::AbstractTreeModel::getVisibleTopLevelItemCount | ( | ) | const |
| int Isis::AbstractTreeModel::indexOfVisibleItem | ( | AbstractTreeItem const * | item, |
| InterestingItemsFlag | flags = AllItems, |
||
| bool | ignoreExpansion = false |
||
| ) | const |
References Isis::AbstractParentItem::getFirstVisibleChild(), isFiltering(), and rootItem.
Referenced by Isis::PointTableModel::indexOfVisibleItem(), and Isis::MeasureTableModel::indexOfVisibleItem().
| bool Isis::AbstractTreeModel::isDrivable | ( | ) | const |
| bool Isis::AbstractTreeModel::isFiltering | ( | ) | const |
| bool Isis::AbstractTreeModel::isFrozen | ( | ) | const |
| bool Isis::AbstractTreeModel::isRebuilding | ( | ) | const |
Referenced by Isis::AbstractTableModel::sort().
|
signal |
| void Isis::AbstractTreeModel::queueRebuild | ( | ) |
|
pure virtual |
Implemented in Isis::PointMeasureTreeModel, Isis::ImageImageTreeModel, and Isis::ImagePointTreeModel.
Referenced by setFrozen().
|
signal |
Referenced by AbstractTreeModel().
|
signal |
Referenced by AbstractTreeModel().
| void Isis::AbstractTreeModel::setDrivable | ( | bool | drivableStatus | ) |
| void Isis::AbstractTreeModel::setFilter | ( | FilterWidget * | newFilter | ) |
References applyFilter().
| void Isis::AbstractTreeModel::setFrozen | ( | bool | newFrozenState | ) |
References applyFilter(), and rebuildItems().
Referenced by Isis::CnetEditorWidget::setTablesFrozen().
| void Isis::AbstractTreeModel::setGlobalSelection | ( | bool | selected, |
| InterestingItemsFlag | flags = AllItems |
||
| ) |
|
inline |
| void Isis::AbstractTreeModel::stopWorking | ( | ) |
|
signal |
|
signal |
|
protected |