Isis 3 Programmer Reference
ImageImageTreeModel.h
1
#ifndef ImageImageTreeModel_H
2
#define ImageImageTreeModel_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
ImageImageTreeModel
:
public
AbstractTreeModel
{
49
Q_OBJECT
50
51
public
:
52
ImageImageTreeModel
(
ControlNet
*cNet,
TreeView
*v,
53
QObject
*parent = 0);
54
virtual
~
ImageImageTreeModel
();
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
:
70
class
CreateRootItemFunctor
:
public
std::unary_function <
71
const QString, ImageParentItem * > {
72
public
:
73
CreateRootItemFunctor
(
AbstractTreeModel
*tm,
ControlNet
*net,
QThread
*tt);
74
CreateRootItemFunctor
(
const
CreateRootItemFunctor
&);
75
~
CreateRootItemFunctor
();
76
ImageParentItem
*operator()(
const
QString imageSerial)
77
const
;
78
CreateRootItemFunctor
&operator=(
const
CreateRootItemFunctor
&);
79
80
static
void
addToRootItem(
QAtomicPointer< RootItem >
&,
81
ImageParentItem
*
const
&);
82
83
private
:
84
int
m_avgCharWidth;
85
AbstractTreeModel
*m_treeModel;
86
QThread
*m_targetThread;
87
ControlNet
*m_controlNet;
88
};
89
};
90
}
91
92
#endif
Isis::ImageParentItem
Tree item that is a parent and represents an image.
Definition:
ImageParentItem.h:34
Isis::AbstractTreeModel
Base class for tree models.
Definition:
AbstractTreeModel.h:47
Isis::ImageImageTreeModel
Tree model for images and images.
Definition:
ImageImageTreeModel.h:48
Isis::ImageImageTreeModel::CreateRootItemFunctor
Definition:
ImageImageTreeModel.h:71
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
QObject
Isis
This is free and unencumbered software released into the public domain.
Definition:
Apollo.h:16
src
qisis
objs
CnetEditorWidget
ImageImageTreeModel.h