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::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
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
src
qisis
objs
CnetEditorWidget
PointMeasureTreeModel.h