Isis 3 Programmer Reference
PointMeasureTreeModel.h
1 #ifndef PointMeasureTreeModel_H
2 #define PointMeasureTreeModel_H
3 
4 
5 // parent
6 #include "AbstractTreeModel.h"
7 
8 // parent of inner class
9 #include <functional>
10 
11 
12 template <typename A> class QFutureWatcher;
13 class QString;
14 
15 
16 namespace Isis {
17  class ControlNet;
18  class ControlPoint;
19  class PointParentItem;
20  class RootItem;
21  class TreeView;
22 
23 
43  Q_OBJECT
44 
45  public:
47  QObject *parent = 0);
48  virtual ~PointMeasureTreeModel();
49 
50  // These are slots!!! There is no "pubic slots:" because it has already
51  // been done in the parent (they are pure virtual). Adding the slots
52  // keyword here would do nothing except make more work for both MOC and
53  // the compiler!
54  void rebuildItems();
55 
56 
57  private:
63  class CreateRootItemFunctor : public std::unary_function <
64  ControlPoint *const &, PointParentItem * > {
65  public:
69  PointParentItem *operator()(ControlPoint *const &) const;
70 
71  static void addToRootItem(QAtomicPointer< RootItem > &,
72  PointParentItem *const &);
73  CreateRootItemFunctor &operator=(const CreateRootItemFunctor &);
74 
75 
76  private:
77  int m_avgCharWidth;
78  AbstractTreeModel *m_treeModel;
79  QThread *m_targetThread;
80  };
81  };
82 }
83 
84 #endif
Base class for tree models.
Tree model for control points and control measures.
a control network
Definition: ControlNet.h:271
A single control point.
Definition: ControlPoint.h:369
Namespace for ISIS/Bullet specific routines.
Definition: Apollo.h:31
Tree item that is a parent and represents a control point.