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
42
class
PointMeasureTreeModel
:
public
AbstractTreeModel
{
43
Q_OBJECT
44
45
public
:
46
PointMeasureTreeModel
(
ControlNet
*cNet,
TreeView
*v,
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
:
66
CreateRootItemFunctor
(
AbstractTreeModel
*tm,
QThread
*tt);
67
CreateRootItemFunctor
(
const
CreateRootItemFunctor
&);
68
~
CreateRootItemFunctor
();
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
Isis::AbstractTreeModel
Base class for tree models.
Definition:
AbstractTreeModel.h:39
Isis::PointMeasureTreeModel
Tree model for control points and control measures.
Definition:
PointMeasureTreeModel.h:42
Isis::PointMeasureTreeModel::CreateRootItemFunctor
Definition:
PointMeasureTreeModel.h:63
QAtomicPointer
Definition:
ConcurrentControlNetReader.h:34
Isis::ControlNet
a control network
Definition:
ControlNet.h:271
Isis::TreeView
Definition:
TreeView.h:23
QFutureWatcher
Definition:
AbstractTableModel.h:16
Isis::ControlPoint
A single control point.
Definition:
ControlPoint.h:369
QThread
Isis
Namespace for ISIS/Bullet specific routines.
Definition:
Apollo.h:31
QObject
Isis::PointParentItem
Tree item that is a parent and represents a control point.
Definition:
PointParentItem.h:26
src
qisis
objs
CnetEditorWidget
PointMeasureTreeModel.h