Isis 3 Programmer Reference
ImagePointTreeModel.h
1
#ifndef ImagePointTreeModel_H
2
#define ImagePointTreeModel_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
ImageParentItem;
26
class
TreeView;
27
48
class
ImagePointTreeModel
:
public
AbstractTreeModel
{
49
Q_OBJECT
50
51
public
:
52
ImagePointTreeModel
(
ControlNet
*cNet,
TreeView
*v,
53
QObject
*parent = 0);
54
virtual
~
ImagePointTreeModel
();
55
56
// This is a slot!!! There is no "pubic slots:" because it has already
57
// been marked as a slot in the parent (pure virtual). Adding the slots
58
// keyword here would do nothing except make more work for both MOC and
59
// the compiler!
60
void
rebuildItems();
61
62
63
private
:
69
class
CreateRootItemFunctor
:
public
std::unary_function <
70
const QString, ImageParentItem * > {
71
public
:
72
CreateRootItemFunctor
(
AbstractTreeModel
*tm,
ControlNet
*net,
QThread
*tt);
73
CreateRootItemFunctor
(
const
CreateRootItemFunctor
&);
74
~
CreateRootItemFunctor
();
75
ImageParentItem
*operator()(
const
QString imageSerial)
const
;
76
CreateRootItemFunctor
&operator=(
const
CreateRootItemFunctor
&);
77
78
static
void
addToRootItem(
QAtomicPointer< RootItem >
&,
79
ImageParentItem
*
const
&);
80
81
private
:
82
int
m_avgCharWidth;
83
AbstractTreeModel
*m_treeModel;
84
QThread
*m_targetThread;
85
ControlNet
*m_controlNet;
86
};
87
};
88
}
89
90
#endif
Isis::ImageParentItem
Tree item that is a parent and represents an image.
Definition:
ImageParentItem.h:34
Isis::ImagePointTreeModel
Tree model for images and control points.
Definition:
ImagePointTreeModel.h:48
Isis::AbstractTreeModel
Base class for tree models.
Definition:
AbstractTreeModel.h:47
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::ImagePointTreeModel::CreateRootItemFunctor
Definition:
ImagePointTreeModel.h:70
Isis::TreeView
Definition:
TreeView.h:31
QObject
Isis
This is free and unencumbered software released into the public domain.
Definition:
Apollo.h:16
src
qisis
objs
CnetEditorWidget
ImagePointTreeModel.h