52 enum InterestingItems {
56 AllItems = PointItems | MeasureItems | ImageItems
58 Q_DECLARE_FLAGS(InterestingItemsFlag, InterestingItems)
66 QList< AbstractTreeItem * > getItems(
int,
int,
67 InterestingItemsFlag = AllItems,
bool =
false);
70 QList< AbstractTreeItem * > getSelectedItems(
71 InterestingItemsFlag = AllItems,
bool =
false);
72 QMutex *getMutex()
const;
73 int getItemCount(InterestingItemsFlag)
const;
74 int getTopLevelItemCount()
const;
75 int getVisibleItemCount(InterestingItemsFlag,
bool)
const;
76 int getVisibleTopLevelItemCount()
const;
78 void setDrivable(
bool drivableStatus);
79 bool isDrivable()
const;
80 bool isFiltering()
const;
81 bool isRebuilding()
const;
82 void setRebuilding(
bool running) { m_rebuildRunning = running; }
84 void setGlobalSelection(
bool selected, InterestingItemsFlag = AllItems);
88 InterestingItemsFlag = AllItems,
91 bool isFrozen()
const;
101 void modelModified();
102 void filterProgressChanged(
int);
103 void filterProgressRangeChanged(
int,
int);
104 void rebuildProgressChanged(
int);
105 void rebuildProgressRangeChanged(
int,
int);
106 void treeSelectionChanged(QList<AbstractTreeItem *>);
107 void tableSelectionChanged(QList<AbstractTreeItem *>);
115 int topLevelItemCount);
119 virtual void rebuildItems() = 0;
129 InterestingItemsFlag flags,
bool ignoreExpansion)
const;
131 InterestingItemsFlag flags);
132 static bool itemIsInteresting(
138 void applyFilterDone();
139 void rebuildItemsDone();
147 QFutureWatcher< QAtomicPointer< RootItem > > *
148 getRebuildWatcher()
const;
158 QFutureWatcher< QAtomicPointer< AbstractTreeItem > > * m_filterWatcher;
159 QFutureWatcher< QAtomicPointer< RootItem > > * m_rebuildWatcher;
160 QList< QPair< QString, QString > > * m_expandedState;
161 QList< QPair< QString, QString > > * m_selectedState;
170 bool m_filterRunning;
171 bool m_rebuildRunning;
173 bool m_rebuildPending;
183 :
public std::function<bool(AbstractTreeItem *const &)> {
192 static void updateTopLevelLinks(
193 QAtomicPointer< AbstractTreeItem > & root,