Isis 3 Programmer Reference
ImagePointTreeModel.h
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:
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
Tree item that is a parent and represents an image.
Base class for tree models.
Tree model for images and control points.
a control network
Definition: ControlNet.h:271
Namespace for ISIS/Bullet specific routines.
Definition: Apollo.h:31