Isis Developer Reference
PointMeasureTreeModel.h
Go to the documentation of this file.
1 #ifndef PointMeasureTreeModel_H
2 #define PointMeasureTreeModel_H
3 
10 /* SPDX-License-Identifier: CC0-1.0 */
11 
12 // parent
13 #include "AbstractTreeModel.h"
14 
15 // parent of inner class
16 #include <functional>
17 
18 
19 template <typename A> class QFutureWatcher;
20 class QString;
21 
22 
23 namespace Isis {
24  class ControlNet;
25  class ControlPoint;
26  class PointParentItem;
27  class RootItem;
28  class TreeView;
29 
30 
50  Q_OBJECT
51 
52  public:
54  QObject *parent = 0);
55  virtual ~PointMeasureTreeModel();
56 
57  // These are slots!!! There is no "pubic slots:" because it has already
58  // been done in the parent (they are pure virtual). Adding the slots
59  // keyword here would do nothing except make more work for both MOC and
60  // the compiler!
61  void rebuildItems();
62 
63 
64  private:
70  class CreateRootItemFunctor : public std::unary_function <
71  ControlPoint *const &, PointParentItem * > {
72  public:
73  CreateRootItemFunctor(AbstractTreeModel *tm, QThread *tt);
74  CreateRootItemFunctor(const CreateRootItemFunctor &);
75  ~CreateRootItemFunctor();
76  PointParentItem *operator()(ControlPoint *const &) const;
77 
78  static void addToRootItem(QAtomicPointer< RootItem > &,
79  PointParentItem *const &);
80  CreateRootItemFunctor &operator=(const CreateRootItemFunctor &);
81 
82 
83  private:
84  int m_avgCharWidth;
85  AbstractTreeModel *m_treeModel;
86  QThread *m_targetThread;
87  };
88  };
89 }
90 
91 #endif
PointParentItem.h
Isis::AbstractTreeModel::filterCountsChanged
void filterCountsChanged(int visibleTopLevelItemCount, int topLevelItemCount)
This signal is emitted after filtering to provide the number of visible top-level items remaining aft...
TreeViewContent.h
Isis::AbstractTreeModel::getRebuildWatcher
QFutureWatcher< QAtomicPointer< RootItem > > * getRebuildWatcher() const
Definition: AbstractTreeModel.cpp:390
Isis::AbstractTreeModel
Base class for tree models.
Definition: AbstractTreeModel.h:47
Isis::ControlPoint
A single control point.
Definition: ControlPoint.h:354
Isis::PointMeasureTreeModel::~PointMeasureTreeModel
virtual ~PointMeasureTreeModel()
Definition: PointMeasureTreeModel.cpp:42
Isis::PointMeasureTreeModel::PointMeasureTreeModel
PointMeasureTreeModel(ControlNet *cNet, TreeView *v, QObject *parent=0)
Definition: PointMeasureTreeModel.cpp:35
Isis::AbstractTreeModel::isFrozen
bool isFrozen() const
Definition: AbstractTreeModel.cpp:345
ControlNet.h
Isis::AbstractTreeModel::setRebuilding
void setRebuilding(bool running)
Definition: AbstractTreeModel.h:81
Isis::AbstractTreeModel::getControlNetwork
ControlNet * getControlNetwork() const
Definition: AbstractTreeModel.cpp:384
RootItem.h
ControlPoint.h
Isis::ControlNet
a control network
Definition: ControlNet.h:257
TreeView.h
Isis::AbstractTreeModel::getTopLevelItemCount
int getTopLevelItemCount() const
Definition: AbstractTreeModel.cpp:266
ASSERT
#define ASSERT(x)
Definition: IsisDebug.h:134
Isis::AbstractTreeModel::cancelSort
void cancelSort()
Isis::PointMeasureTreeModel::rebuildItems
void rebuildItems()
Definition: PointMeasureTreeModel.cpp:111
MeasureLeafItem.h
QThread
AbstractTreeModel.h
PointMeasureTreeModel.h
QFutureWatcher
This is free and unencumbered software released into the public domain.
Definition: AbstractTableModel.h:24
QAtomicPointer
This is free and unencumbered software released into the public domain.
Definition: ConcurrentControlNetReader.h:20
Isis::TreeView
Definition: TreeView.h:31
Isis::PointParentItem
Tree item that is a parent and represents a control point.
Definition: PointParentItem.h:34
QObject
Isis::PointMeasureTreeModel
Tree model for control points and control measures.
Definition: PointMeasureTreeModel.h:49
IsisDebug.h
Isis::AbstractTreeModel::queueRebuild
void queueRebuild()
Definition: AbstractTreeModel.cpp:350
Isis
This is free and unencumbered software released into the public domain.
Definition: Apollo.h:16