Isis 3 Programmer Reference
PointMeasureTreeModel.h
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:
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
Isis::PointMeasureTreeModel::CreateRootItemFunctor
Definition: PointMeasureTreeModel.h:71
Isis::AbstractTreeModel
Base class for tree models.
Definition: AbstractTreeModel.h:47
Isis::ControlPoint
A single control point.
Definition: ControlPoint.h:354
Isis::ControlNet
a control network
Definition: ControlNet.h:257
QThread
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
Isis
This is free and unencumbered software released into the public domain.
Definition: Apollo.h:16