Isis 3 Developer Reference
ImageImageTreeModel.h
Go to the documentation of this file.
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:
66  CreateRootItemFunctor(AbstractTreeModel *tm, ControlNet *net, QThread *tt);
67  CreateRootItemFunctor(const CreateRootItemFunctor &);
68  ~CreateRootItemFunctor();
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.
Definition: ImageParentItem.h:26
ImageImageTreeModel(ControlNet *cNet, TreeView *v, QObject *parent=0)
Definition: ImageImageTreeModel.cpp:30
Base class for tree models.
Definition: AbstractTreeModel.h:39
void rebuildItems()
Definition: ImageImageTreeModel.cpp:114
virtual ~ImageImageTreeModel()
Definition: ImageImageTreeModel.cpp:36
Definition: ConcurrentControlNetReader.h:34
a control network
Definition: ControlNet.h:271
Definition: TreeView.h:23
Definition: AbstractTableModel.h:16
Tree model for images and images.
Definition: ImageImageTreeModel.h:41
Namespace for ISIS/Bullet specific routines.
Definition: Apollo.h:31