+#ifndef __creaImageIOGimmickView_h_INCLUDED__
+#define __creaImageIOGimmickView_h_INCLUDED__
+
+#include <creaImageIOGimmick.h>
+#include <creaImageIOTreeView.h>
+#include <creaImageIOSystem.h>
+
+//#include <map>
+#include <vtkImageData.h>
+
+#define GIMMICK_NO_IMAGE_SELECTION 0
+#define GIMMICK_2D_IMAGE_SELECTION 2
+#define GIMMICK_3D_IMAGE_SELECTION 3
+#define GIMMICK_4D_IMAGE_SELECTION 4
+
+
namespace creaImageIO
{
/**
{
public:
/// Ctor
- GimmickView();
+ GimmickView(Gimmick* );
/// Virtual destructor
virtual ~GimmickView();
+
+ /// Initializes the view :
+ /// Creates the TreeViews for all the TreeHandler of the Controller
+ ///
+ virtual void Initialize();
+
+ /// Type of map from View name to TreeView*
+ /// (This map is equivalent for Views of the TreeHandlerMap of Gimmick)
+ typedef std::map<std::string, TreeView*> TreeViewMapType;
+
+ /// Returns the TreeViewMap (ref)
+ TreeViewMapType& GetTreeViewMap() { return mTreeViewMap; }
+ /// Returns the TreeViewMap (const ref)
+ const TreeViewMapType& GetTreeViewMap() const
+ { return mTreeViewMap; }
+
+ /// Finalize
+ virtual void Finalize();
+ ///Returns the selected Images and validates to see if they comply with the given parameter(<4D)
+ vtkImageData* GetSelectedImage(int dim);
+ ///Adds the selected Images to the given vector and validates to see if they comply with the given parameter (4D)
+ virtual void GetSelectedImages(std::vector<vtkImageData*>& s, int dim) {}
+
+ virtual void GetSelectedFiles(std::vector<std::string>& s) {}
+
+ /// Create the tree views
+ void CreateTreeViews();
+
+ /// Create the tree view for TreeHandler provided
+ virtual void CreateTreeView( TreeHandler*)
+ { GimmickError("INTERNAL ERROR : CreateTreeView not implemented"); }
+
+ /// Updates the TreeView of given name from level l to bottom
+ /// (calls the virtual method TreeView::UpdateLevel(l))
+ virtual void UpdateTreeViewLevel(const std::string&, int l);
+
+ private:
+ /// Controller which manages the interaction with the model
+ Gimmick* mGimmick;
+ /// The views
+ TreeViewMapType mTreeViewMap;
+
+ };
+ // EO class GimmickView
+ //=====================================================================
+
+
+ /*
+
+
+
+
+
+
+
+
//====================================================================
// General
//====================================================================
MultiThreadImageReader mReader;
// map of images name to node
std::map<std::string,DicomNode*> mImageFileNameToNode;
-
- //Controller which manages the interaction with the model
- Gimmick* controller;
-
- };
- // EO class GimmickView
- //=====================================================================
-
+ */
+
} // EO namespace creaImageIO
// EOF
-#endif
\ No newline at end of file
+#endif