Isis 3 Developer Reference
ImagePointTreeModel.h
Go to the documentation of this file.
1 #ifndef ImagePointTreeModel_H
2 #define ImagePointTreeModel_H
3 
4 // parent
5 #include "AbstractTreeModel.h"
6 
7 // parent of inner class
8 #include <functional>
9 
10 
11 template <typename A> class QFutureWatcher;
12 class QString;
13 
14 
15 namespace Isis {
16  class ControlNet;
17  class ImageParentItem;
18  class TreeView;
19 
41  Q_OBJECT
42 
43  public:
45  QObject *parent = 0);
46  virtual ~ImagePointTreeModel();
47 
48  // This is a slot!!! There is no "pubic slots:" because it has already
49  // been marked as a slot in the parent (pure virtual). Adding the slots
50  // keyword here would do nothing except make more work for both MOC and
51  // the compiler!
52  void rebuildItems();
53 
54 
55  private:
61  class CreateRootItemFunctor : public std::unary_function <
62  const QString, ImageParentItem * > {
63  public:
64  CreateRootItemFunctor(AbstractTreeModel *tm, ControlNet *net, QThread *tt);
65  CreateRootItemFunctor(const CreateRootItemFunctor &);
66  ~CreateRootItemFunctor();
67  ImageParentItem *operator()(const QString imageSerial) const;
68  CreateRootItemFunctor &operator=(const CreateRootItemFunctor &);
69 
70  static void addToRootItem(QAtomicPointer< RootItem > &,
71  ImageParentItem *const &);
72 
73  private:
74  int m_avgCharWidth;
75  AbstractTreeModel *m_treeModel;
76  QThread *m_targetThread;
77  ControlNet *m_controlNet;
78  };
79  };
80 }
81 
82 #endif
ImagePointTreeModel(ControlNet *cNet, TreeView *v, QObject *parent=0)
Definition: ImagePointTreeModel.cpp:31
Tree item that is a parent and represents an image.
Definition: ImageParentItem.h:26
void rebuildItems()
Definition: ImagePointTreeModel.cpp:120
Base class for tree models.
Definition: AbstractTreeModel.h:39
Tree model for images and control points.
Definition: ImagePointTreeModel.h:40
virtual ~ImagePointTreeModel()
Definition: ImagePointTreeModel.cpp:38
Definition: ConcurrentControlNetReader.h:34
a control network
Definition: ControlNet.h:271
Definition: TreeView.h:23
Definition: AbstractTableModel.h:16
Namespace for ISIS/Bullet specific routines.
Definition: Apollo.h:31