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::function <ImageParentItem *(const QString)> {
71
public
:
72
CreateRootItemFunctor
(
AbstractTreeModel
*tm,
ControlNet
*net,
QThread
*tt);
73
CreateRootItemFunctor
(
const
CreateRootItemFunctor
&);
74
~CreateRootItemFunctor
();
75
ImageParentItem
*operator()(
const
QString imageSerial)
76
const
;
77
CreateRootItemFunctor
&operator=(
const
CreateRootItemFunctor
&);
78
79
static
void
addToRootItem(QAtomicPointer< RootItem > &,
80
ImageParentItem
*
const
&);
81
82
private
:
83
int
m_avgCharWidth;
84
AbstractTreeModel
*m_treeModel;
85
QThread
*m_targetThread;
86
ControlNet
*m_controlNet;
87
};
88
};
89
}
90
91
#endif
Isis::AbstractTreeModel
Base class for tree models.
Definition
AbstractTreeModel.h:48
Isis::ControlNet
a control network
Definition
ControlNet.h:258
Isis::ImageImageTreeModel::CreateRootItemFunctor
Definition
ImageImageTreeModel.h:70
Isis::ImageImageTreeModel
Tree model for images and images.
Definition
ImageImageTreeModel.h:48
Isis::ImageParentItem
Tree item that is a parent and represents an image.
Definition
ImageParentItem.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
ImageImageTreeModel.h