Isis 3 Programmer Reference
Isis::AbstractTableModel Class Referenceabstract

Translates the tree model into a table model. More...

#include <AbstractTableModel.h>

Inheritance diagram for Isis::AbstractTableModel:
Inheritance graph
Collaboration diagram for Isis::AbstractTableModel:
Collaboration graph

Classes

class  LessThanFunctor
 
class  LessThanFunctorData
 For explicit sharing of the comparison counter between multiple copies of a LessThanFunctor object. More...
 
class  SortingCanceledException
 Thread-safe exception for cancelling sorting. More...
 

Public Types

enum  Warning { None = 0, SortingDisabled, SortingTableSizeLimitReached }
 

Public Slots

virtual void setGlobalSelection (bool selected)=0
 
virtual void applyFilter ()
 
virtual void sort ()
 
virtual void reverseOrder (TableColumn *)
 
virtual void updateSort ()
 
virtual void rebuildSort ()
 

Signals

void modelModified ()
 
void filterProgressChanged (int)
 
void rebuildProgressChanged (int)
 
void sortProgressChanged (int)
 
void filterProgressRangeChanged (int, int)
 
void rebuildProgressRangeChanged (int, int)
 
void sortProgressRangeChanged (int, int)
 
void filterCountsChanged (int visibleRows, int totalRows)
 
void treeSelectionChanged (QList< AbstractTreeItem *>)
 
void tableSelectionChanged (QList< AbstractTreeItem *>)
 
void userWarning (AbstractTableModel::Warning)
 

Public Member Functions

 AbstractTableModel (AbstractTreeModel *, AbstractTableDelegate *)
 
virtual QList< AbstractTreeItem *> getItems (int, int)=0
 
virtual QList< AbstractTreeItem *> getItems (AbstractTreeItem *, AbstractTreeItem *)=0
 
virtual QList< AbstractTreeItem *> getSelectedItems ()=0
 
virtual int getVisibleRowCount () const =0
 
virtual QString getWarningMessage (AbstractTreeItem const *, TableColumn const *, QString valueToSave) const =0
 
virtual int indexOfVisibleItem (AbstractTreeItem const *item) const =0
 
virtual bool isSorting () const
 
virtual bool isFiltering () const
 
virtual bool sortingIsEnabled () const
 
virtual void setSortingEnabled (bool)
 
virtual int sortLimit () const
 
virtual void setSortLimit (int)
 
virtual bool sortingOn () const
 
virtual TableColumnListgetColumns ()
 
virtual const AbstractTableDelegategetDelegate () const
 

Protected Member Functions

virtual TableColumnListcreateColumns ()=0
 
AbstractTreeModelgetDataModel ()
 
const AbstractTreeModelgetDataModel () const
 
virtual QList< AbstractTreeItem *> getSortedItems (int, int, AbstractTreeModel::InterestingItems)
 
virtual QList< AbstractTreeItem *> getSortedItems (AbstractTreeItem *, AbstractTreeItem *, AbstractTreeModel::InterestingItems)
 
void handleTreeSelectionChanged (QList< AbstractTreeItem * > newlySelectedItems, AbstractTreeItem::InternalPointerType)
 

Private Slots

void cancelSort ()
 
void itemsLost ()
 
void sortStatusUpdated ()
 
void sortFinished ()
 

Private Member Functions

 AbstractTableModel (AbstractTableModel const &)
 
AbstractTableModeloperator= (AbstractTableModel const &)
 
QList< AbstractTreeItem *> doSort (QList< AbstractTreeItem * >)
 
void nullify ()
 
void setSorting (bool sorting)
 

Private Attributes

AbstractTreeModelm_dataModel
 
AbstractTableDelegatem_delegate
 
QList< AbstractTreeItem *> * m_sortedItems
 
BusyLeafItemm_busyItem
 
TableColumnListm_columns
 
QTimer * m_sortStatusPoller
 
LessThanFunctorm_lessThanFunctor
 
bool m_sortingEnabled
 
int m_sortLimit
 
bool m_sorting
 
QFutureWatcher< QList< AbstractTreeItem *> > * m_sortingWatcher
 

Static Private Attributes

static const int SORT_UPDATE_FREQUENCY = 50
 

Detailed Description

Translates the tree model into a table model.

This class acts as a proxy model for the abstract tree model by allowing the user to access data in a table-like fashion (by sorted row).

Author
????-??-?? Eric Hyer
History:

2012-09-28 Kimberly Oyama - Changed member variables to be prefixed with "m_".

2017-07-25 Summer Stapleton - Removed the CnetViz namespace. Fixes #5054.

Definition at line 40 of file AbstractTableModel.h.


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