57        SortingTableSizeLimitReached
 
   63      virtual QList< AbstractTreeItem * > getItems(
int, 
int) = 0;
 
   66      virtual QList< AbstractTreeItem * > getSelectedItems() = 0;
 
   67      virtual int getVisibleRowCount() 
const = 0;
 
   69          TableColumn const *, QString valueToSave) 
const = 0;
 
   72      virtual bool isSorting() 
const;
 
   73      virtual bool isFiltering() 
const;
 
   74      virtual bool sortingIsEnabled() 
const;
 
   75      virtual void setSortingEnabled(
bool);
 
   76      virtual int sortLimit() 
const;
 
   77      virtual void setSortLimit(
int);
 
   78      virtual bool sortingOn() 
const;
 
   84      virtual void setGlobalSelection(
bool selected) = 0;
 
   85      virtual void applyFilter();
 
   88      virtual void updateSort();
 
   89      virtual void rebuildSort();
 
   94      void filterProgressChanged(
int);
 
   95      void rebuildProgressChanged(
int);
 
   96      void sortProgressChanged(
int);
 
   97      void filterProgressRangeChanged(
int, 
int);
 
   98      void rebuildProgressRangeChanged(
int, 
int);
 
   99      void sortProgressRangeChanged(
int, 
int);
 
  100      void filterCountsChanged(
int visibleRows, 
int totalRows);
 
  101      void treeSelectionChanged(QList<AbstractTreeItem *>);
 
  102      void tableSelectionChanged(QList<AbstractTreeItem *>);
 
  104      void userWarning(AbstractTableModel::Warning);
 
  110      virtual QList< AbstractTreeItem * > getSortedItems(
int, 
int,
 
  111          AbstractTreeModel::InterestingItems);
 
  112      virtual QList< AbstractTreeItem * > getSortedItems(
 
  114        AbstractTreeModel::InterestingItems);
 
  115      void handleTreeSelectionChanged(
 
  116        QList< AbstractTreeItem * > newlySelectedItems,
 
  117        AbstractTreeItem::InternalPointerType);
 
  128      void sortStatusUpdated();
 
  133      QList< AbstractTreeItem * > doSort(QList< AbstractTreeItem * >);
 
  135      void setSorting(
bool sorting);
 
  141      QList< AbstractTreeItem * > * m_sortedItems;
 
  144      QTimer *m_sortStatusPoller;
 
  147      bool m_sortingEnabled;
 
  150      QFutureWatcher< QList< AbstractTreeItem * > > * m_sortingWatcher;
 
  152      static const int SORT_UPDATE_FREQUENCY = 50;  
 
  163      class LessThanFunctor : 
public std::function <bool(AbstractTreeItem *const &, AbstractTreeItem *const &)> {
 
  169          int getCompareCount() 
const;
 
  181          QExplicitlySharedDataPointer<LessThanFunctorData> m_sharedData;
 
 
  199          int getCompareCount() 
const;
 
  200          void incrementCompareCount();
 
  202          void setInterrupted(
bool);
 
  207          QAtomicInt m_compareCount;
 
  208          QAtomicInt m_interruptFlag;
 
 
  225          void raise()
 const { 
throw *
this; }