Isis Developer Reference
ImagePointTreeModel.h
Go to the documentation of this file.
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 
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::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::AbstractTreeModel::filterCountsChanged
void filterCountsChanged(int visibleTopLevelItemCount, int topLevelItemCount)
This signal is emitted after filtering to provide the number of visible top-level items remaining aft...
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
TreeViewContent.h
QList
This is free and unencumbered software released into the public domain.
Definition: BoxcarCachingAlgorithm.h:13
Isis::AbstractTreeModel::getRebuildWatcher
QFutureWatcher< QAtomicPointer< RootItem > > * getRebuildWatcher() const
Definition: AbstractTreeModel.cpp:390
Isis::AbstractTreeModel
Base class for tree models.
Definition: AbstractTreeModel.h:47
Isis::ImagePointTreeModel::~ImagePointTreeModel
virtual ~ImagePointTreeModel()
Definition: ImagePointTreeModel.cpp:46
ImagePointTreeModel.h
Isis::AbstractTreeModel::isFrozen
bool isFrozen() const
Definition: AbstractTreeModel.cpp:345
ControlNet.h
Isis::AbstractTreeModel::setRebuilding
void setRebuilding(bool running)
Definition: AbstractTreeModel.h:81
Isis::ImagePointTreeModel::ImagePointTreeModel
ImagePointTreeModel(ControlNet *cNet, TreeView *v, QObject *parent=0)
Definition: ImagePointTreeModel.cpp:39
Isis::AbstractTreeModel::getControlNetwork
ControlNet * getControlNetwork() const
Definition: AbstractTreeModel.cpp:384
Isis::ImagePointTreeModel::rebuildItems
void rebuildItems()
Definition: ImagePointTreeModel.cpp:128
RootItem.h
ControlPoint.h
Isis::ControlNet
a control network
Definition: ControlNet.h:257
TreeView.h
ImageParentItem.h
Isis::AbstractTreeModel::getTopLevelItemCount
int getTopLevelItemCount() const
Definition: AbstractTreeModel.cpp:266
ASSERT
#define ASSERT(x)
Definition: IsisDebug.h:134
Isis::AbstractTreeModel::cancelSort
void cancelSort()
PointLeafItem.h
QThread
AbstractTreeModel.h
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
IsisDebug.h
Isis::AbstractTreeModel::queueRebuild
void queueRebuild()
Definition: AbstractTreeModel.cpp:350
ControlMeasure.h
Isis
This is free and unencumbered software released into the public domain.
Definition: Apollo.h:16