1 #ifndef AbstractTreeModel_H 2 #define AbstractTreeModel_H 11 template<
typename A,
typename B >
struct QPair;
17 class AbstractTreeItem;
43 enum InterestingItems {
47 AllItems = PointItems | MeasureItems | ImageItems
49 Q_DECLARE_FLAGS(InterestingItemsFlag, InterestingItems)
58 InterestingItemsFlag = AllItems,
bool =
false);
62 InterestingItemsFlag = AllItems,
bool =
false);
63 QMutex *getMutex()
const;
64 int getItemCount(InterestingItemsFlag)
const;
65 int getTopLevelItemCount()
const;
66 int getVisibleItemCount(InterestingItemsFlag,
bool)
const;
67 int getVisibleTopLevelItemCount()
const;
69 void setDrivable(
bool drivableStatus);
70 bool isDrivable()
const;
71 bool isFiltering()
const;
72 bool isRebuilding()
const;
73 void setRebuilding(
bool running) { m_rebuildRunning = running; }
75 void setGlobalSelection(
bool selected, InterestingItemsFlag = AllItems);
79 InterestingItemsFlag = AllItems,
82 bool isFrozen()
const;
93 void filterProgressChanged(
int);
94 void filterProgressRangeChanged(
int,
int);
95 void rebuildProgressChanged(
int);
96 void rebuildProgressRangeChanged(
int,
int);
106 int topLevelItemCount);
110 virtual void rebuildItems() = 0;
120 InterestingItemsFlag flags,
bool ignoreExpansion)
const;
122 InterestingItemsFlag flags);
123 static bool itemIsInteresting(
129 void applyFilterDone();
130 void rebuildItemsDone();
139 getRebuildWatcher()
const;
161 bool m_filterRunning;
162 bool m_rebuildRunning;
164 bool m_rebuildPending;
174 :
public std::unary_function< AbstractTreeItem *const &, bool > {
183 static void updateTopLevelLinks(
193 Q_DECLARE_OPERATORS_FOR_FLAGS(AbstractTreeModel::InterestingItemsFlag)
QSize getVisibleSize(int indentation) const
indentation is in pixels
Base class for tree models.
void filterCountsChanged(int visibleTopLevelItemCount, int topLevelItemCount)
This signal is emitted after filtering to provide the number of visible top-level items remaining aft...
A leaf item that is not ready for user interaction.
Namespace for ISIS/Bullet specific routines.
Base class for an item in the tree.