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