Isis Developer Reference
Isis::AbstractTreeModel Class Referenceabstract

Base class for tree models. More...

#include <AbstractTreeModel.h>

Inheritance diagram for Isis::AbstractTreeModel:
Inheritance graph
Collaboration diagram for Isis::AbstractTreeModel:
Collaboration graph

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.
 

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
 
TreeViewgetView () 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
 
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 ()
 
ControlNetgetControlNetwork () const
 
FilterWidgetgetFilterWidget () const
 
QFutureWatcher< QAtomicPointer< RootItem > > * getRebuildWatcher () const
 
RootItemgetRootItem () const
 

Protected Attributes

RootItemrootItem
 

Detailed Description

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.

Author
????-??-?? Eric Hyer

Member Enumeration Documentation

◆ InterestingItems

Enumerator
PointItems 
MeasureItems 
ImageItems 
AllItems 

Constructor & Destructor Documentation

◆ AbstractTreeModel()

Isis::AbstractTreeModel::AbstractTreeModel ( ControlNet * controlNet,
TreeView * v,
QObject * parent = 0 )

◆ ~AbstractTreeModel()

Isis::AbstractTreeModel::~AbstractTreeModel ( )
virtual

References rootItem.

Member Function Documentation

◆ applyFilter

◆ cancelSort

◆ clear()

void Isis::AbstractTreeModel::clear ( )
protected

References rootItem.

◆ filterCountsChanged

void Isis::AbstractTreeModel::filterCountsChanged ( int visibleTopLevelItemCount,
int topLevelItemCount )
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().

◆ filterProgressChanged

void Isis::AbstractTreeModel::filterProgressChanged ( int )
signal

Referenced by AbstractTreeModel().

◆ filterProgressRangeChanged

void Isis::AbstractTreeModel::filterProgressRangeChanged ( int ,
int  )
signal

Referenced by AbstractTreeModel().

◆ getControlNetwork()

ControlNet * Isis::AbstractTreeModel::getControlNetwork ( ) const
protected

◆ getFilterWidget()

FilterWidget * Isis::AbstractTreeModel::getFilterWidget ( ) const
protected

◆ getItemCount()

int Isis::AbstractTreeModel::getItemCount ( InterestingItemsFlag flags) const

References getItemCount(), and rootItem.

Referenced by getItemCount().

◆ getItems() [1/2]

QList< AbstractTreeItem * > Isis::AbstractTreeModel::getItems ( AbstractTreeItem * item1,
AbstractTreeItem * item2,
InterestingItemsFlag flags = AllItems,
bool ignoreExpansion = false )

◆ getItems() [2/2]

◆ getMutex()

QMutex * Isis::AbstractTreeModel::getMutex ( ) const

◆ getRebuildWatcher()

◆ getRootItem()

RootItem * Isis::AbstractTreeModel::getRootItem ( ) const
protected

References rootItem.

◆ getSelectedItems()

QList< AbstractTreeItem * > Isis::AbstractTreeModel::getSelectedItems ( InterestingItemsFlag flags = AllItems,
bool ignoreExpansion = false )

◆ getTopLevelItemCount()

◆ getView()

TreeView * Isis::AbstractTreeModel::getView ( ) const

◆ getVisibleItemCount()

int Isis::AbstractTreeModel::getVisibleItemCount ( InterestingItemsFlag flags,
bool ignoreExpansion ) const

◆ getVisibleSize()

QSize Isis::AbstractTreeModel::getVisibleSize ( int indentation) const

◆ getVisibleTopLevelItemCount()

int Isis::AbstractTreeModel::getVisibleTopLevelItemCount ( ) const

◆ indexOfVisibleItem()

int Isis::AbstractTreeModel::indexOfVisibleItem ( AbstractTreeItem const * item,
InterestingItemsFlag flags = AllItems,
bool ignoreExpansion = false ) const

◆ isDrivable()

bool Isis::AbstractTreeModel::isDrivable ( ) const

◆ isFiltering()

◆ isFrozen()

◆ isRebuilding()

bool Isis::AbstractTreeModel::isRebuilding ( ) const

◆ modelModified

void Isis::AbstractTreeModel::modelModified ( )
signal

◆ queueRebuild()

◆ rebuildItems()

virtual void Isis::AbstractTreeModel::rebuildItems ( )
pure virtual

◆ rebuildProgressChanged

void Isis::AbstractTreeModel::rebuildProgressChanged ( int )
signal

Referenced by AbstractTreeModel().

◆ rebuildProgressRangeChanged

void Isis::AbstractTreeModel::rebuildProgressRangeChanged ( int ,
int  )
signal

Referenced by AbstractTreeModel().

◆ setDrivable()

void Isis::AbstractTreeModel::setDrivable ( bool drivableStatus)

◆ setFilter()

void Isis::AbstractTreeModel::setFilter ( FilterWidget * newFilter)

References applyFilter().

◆ setFrozen()

void Isis::AbstractTreeModel::setFrozen ( bool newFrozenState)

◆ setGlobalSelection()

void Isis::AbstractTreeModel::setGlobalSelection ( bool selected,
InterestingItemsFlag flags = AllItems )

◆ setRebuilding()

void Isis::AbstractTreeModel::setRebuilding ( bool running)
inline

◆ stopWorking()

void Isis::AbstractTreeModel::stopWorking ( )

◆ tableSelectionChanged

void Isis::AbstractTreeModel::tableSelectionChanged ( QList< AbstractTreeItem * > )
signal

◆ treeSelectionChanged

void Isis::AbstractTreeModel::treeSelectionChanged ( QList< AbstractTreeItem * > )
signal

Member Data Documentation

◆ rootItem


The documentation for this class was generated from the following files: