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
19template <typename A> class QFutureWatcher;
20class QString;
21
22
23namespace Isis {
24 class ControlNet;
25 class ImageParentItem;
26 class TreeView;
27
49 Q_OBJECT
50
51 public:
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::function <ImageParentItem *(const QString)> {
70 public:
74 ImageParentItem *operator()(const QString imageSerial) const;
76
77 static void addToRootItem(QAtomicPointer< RootItem > &,
78 ImageParentItem *const &);
79
80 private:
81 int m_avgCharWidth;
82 AbstractTreeModel *m_treeModel;
83 QThread *m_targetThread;
84 ControlNet *m_controlNet;
85 };
86 };
87}
88
89#endif
Base class for tree models.
a control network
Definition ControlNet.h:258
Tree item that is a parent and represents an image.
Tree model for images and control points.
This is free and unencumbered software released into the public domain.
This is free and unencumbered software released into the public domain.
Definition Apollo.h:16