Isis 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::ImageImageTreeModel::rebuildItems(), Isis::ImagePointTreeModel::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 | ( | AbstractTreeItem * | item1, |
AbstractTreeItem * | item2, | ||
InterestingItemsFlag | flags = AllItems , |
||
bool | ignoreExpansion = false |
||
) |
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().
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::MeasureTableModel::getVisibleRowCount(), and Isis::PointTableModel::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::MeasureTableModel::indexOfVisibleItem(), and Isis::PointTableModel::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::ImagePointTreeModel, and Isis::ImageImageTreeModel.
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 |