1 #ifndef AbstractTableModel_H     2 #define AbstractTableModel_H     6 #include <QExplicitlySharedDataPointer>     8 #include <QtConcurrent>    18 template< 
typename T > 
class QList;
    22   class AbstractTableDelegate;
    23   class AbstractTreeModel;
    26   class TableColumnList;
    41       class LessThanFunctor;
    61           TableColumn const *, QString valueToSave) 
const = 0;
   120       void sortStatusUpdated();
   127       void setSorting(
bool sorting);
   136       QTimer *m_sortStatusPoller;
   137       LessThanFunctor *m_lessThanFunctor;
   139       bool m_sortingEnabled;
   144       static const int SORT_UPDATE_FREQUENCY = 50;  
   148       class LessThanFunctorData;
   155       class LessThanFunctor : 
public std::binary_function <
   156           AbstractTreeItem *const &, AbstractTreeItem *const &, bool > {
   159           LessThanFunctor(LessThanFunctor 
const &);
   162           int getCompareCount() 
const;
   169           LessThanFunctor &operator=(LessThanFunctor 
const &);
   174           QExplicitlySharedDataPointer<LessThanFunctorData> m_sharedData;
   188           LessThanFunctorData();
   189           LessThanFunctorData(LessThanFunctorData 
const &);
   190           ~LessThanFunctorData();
   192           int getCompareCount() 
const;
   193           void incrementCompareCount();
   195           void setInterrupted(
bool);
   200           QAtomicInt m_compareCount;
   201           QAtomicInt m_interruptFlag;
   216       class SortingCanceledException : 
public QException {
   218           void raise() 
const { 
throw *
this; }
   220             return new SortingCanceledException(*
this);
 virtual void updateSort()
Definition: AbstractTableModel.cpp:195
 
virtual TableColumnList * createColumns()=0
 
virtual QList< AbstractTreeItem *> getSortedItems(int, int, AbstractTreeModel::InterestingItems)
Definition: AbstractTableModel.cpp:211
 
virtual void sort()
Definition: AbstractTableModel.cpp:166
 
void sortProgressChanged(int)
 
virtual bool isSorting() const
Definition: AbstractTableModel.cpp:105
 
void filterCountsChanged(int visibleRows, int totalRows)
 
Definition: AbstractTableModel.h:49
 
void rebuildProgressRangeChanged(int, int)
 
virtual void rebuildSort()
Definition: AbstractTableModel.cpp:416
 
virtual void setSortLimit(int)
Definition: AbstractTableModel.cpp:133
 
Base class for tree models. 
Definition: AbstractTreeModel.h:39
 
InternalPointerType
Definition: AbstractTreeItem.h:36
 
virtual int indexOfVisibleItem(AbstractTreeItem const *item) const =0
 
void filterProgressChanged(int)
 
virtual void setGlobalSelection(bool selected)=0
 
virtual void setSortingEnabled(bool)
Definition: AbstractTableModel.cpp:120
 
virtual QList< AbstractTreeItem *> getSelectedItems()=0
 
virtual bool sortingIsEnabled() const
Definition: AbstractTableModel.cpp:115
 
virtual void reverseOrder(TableColumn *)
Definition: AbstractTableModel.cpp:191
 
void sortProgressRangeChanged(int, int)
 
virtual int getVisibleRowCount() const =0
 
Definition: AbstractTableModel.h:16
 
Translates the tree model into a table model. 
Definition: AbstractTableModel.h:40
 
virtual TableColumnList * getColumns()
Definition: AbstractTableModel.cpp:146
 
Definition: TableColumn.h:18
 
void handleTreeSelectionChanged(QList< AbstractTreeItem * > newlySelectedItems, AbstractTreeItem::InternalPointerType)
Definition: AbstractTableModel.cpp:295
 
AbstractTableModel(AbstractTreeModel *, AbstractTableDelegate *)
Definition: AbstractTableModel.cpp:27
 
Warning
Definition: AbstractTableModel.h:46
 
Definition: TableColumnList.h:22
 
void tableSelectionChanged(QList< AbstractTreeItem *>)
 
void userWarning(AbstractTableModel::Warning)
 
Definition: AbstractTableModel.h:48
 
Definition: AbstractTableModel.h:47
 
virtual bool sortingOn() const
Definition: AbstractTableModel.cpp:141
 
InterestingItems
Definition: AbstractTreeModel.h:43
 
virtual const AbstractTableDelegate * getDelegate() const
Definition: AbstractTableModel.cpp:156
 
virtual QString getWarningMessage(AbstractTreeItem const *, TableColumn const *, QString valueToSave) const =0
 
virtual void applyFilter()
Definition: AbstractTableModel.cpp:161
 
AbstractTreeModel * getDataModel()
Definition: AbstractTableModel.cpp:199
 
void filterProgressRangeChanged(int, int)
 
A leaf item that is not ready for user interaction. 
Definition: BusyLeafItem.h:25
 
Base class for delegates which create, read, and save data in the tables. 
Definition: AbstractTableDelegate.h:25
 
Definition: BoxcarCachingAlgorithm.h:29
 
Namespace for ISIS/Bullet specific routines. 
Definition: Apollo.h:31
 
virtual ~AbstractTableModel()
Definition: AbstractTableModel.cpp:72
 
virtual bool isFiltering() const
Definition: AbstractTableModel.cpp:110
 
virtual int sortLimit() const
Definition: AbstractTableModel.cpp:128
 
Base class for an item in the tree. 
Definition: AbstractTreeItem.h:31
 
void treeSelectionChanged(QList< AbstractTreeItem *>)
 
void rebuildProgressChanged(int)
 
virtual QList< AbstractTreeItem *> getItems(int, int)=0