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
19template <typename A> class QFutureWatcher;
20class QString;
21
22
23namespace 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::function <PointParentItem *(ControlPoint *const &)> {
71 public:
72 CreateRootItemFunctor(AbstractTreeModel *tm, QThread *tt);
73 CreateRootItemFunctor(const CreateRootItemFunctor &);
74 ~CreateRootItemFunctor();
75 PointParentItem *operator()(ControlPoint *const &) const;
76
77 static void addToRootItem(QAtomicPointer< RootItem > &,
78 PointParentItem *const &);
79 CreateRootItemFunctor &operator=(const CreateRootItemFunctor &);
80
81
82 private:
83 int m_avgCharWidth;
84 AbstractTreeModel *m_treeModel;
85 QThread *m_targetThread;
86 };
87 };
88}
89
90#endif
Base class for tree models.
Definition AbstractTreeModel.h:48
a control network
Definition ControlNet.h:258
A single control point.
Definition ControlPoint.h:356
Tree model for control points and control measures.
Definition PointMeasureTreeModel.h:49
void rebuildItems()
Definition PointMeasureTreeModel.cpp:108
virtual ~PointMeasureTreeModel()
Definition PointMeasureTreeModel.cpp:40
PointMeasureTreeModel(ControlNet *cNet, TreeView *v, QObject *parent=0)
Definition PointMeasureTreeModel.cpp:33
Tree item that is a parent and represents a control point.
Definition PointParentItem.h:34
Definition TreeView.h:31
This is free and unencumbered software released into the public domain.
Definition AbstractTableModel.h:24
This is free and unencumbered software released into the public domain.
Definition Apollo.h:16