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 
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:
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