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
49
class
PointMeasureTreeModel
:
public
AbstractTreeModel
{
50
Q_OBJECT
51
52
public
:
53
PointMeasureTreeModel
(
ControlNet
*cNet,
TreeView
*v,
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
Isis::AbstractTreeModel
Base class for tree models.
Definition
AbstractTreeModel.h:48
Isis::ControlNet
a control network
Definition
ControlNet.h:258
Isis::ControlPoint
A single control point.
Definition
ControlPoint.h:356
Isis::PointMeasureTreeModel::CreateRootItemFunctor
Definition
PointMeasureTreeModel.h:70
Isis::PointMeasureTreeModel
Tree model for control points and control measures.
Definition
PointMeasureTreeModel.h:49
Isis::PointParentItem
Tree item that is a parent and represents a control point.
Definition
PointParentItem.h:34
Isis::TreeView
Definition
TreeView.h:31
QFutureWatcher
This is free and unencumbered software released into the public domain.
Definition
AbstractTableModel.h:24
QObject
QThread
Isis
This is free and unencumbered software released into the public domain.
Definition
Apollo.h:16
src
qisis
objs
CnetEditorWidget
PointMeasureTreeModel.h