-namespace creaImageIO
-{
- /**
- * \ingroup View
- */
+#ifndef __creaImageIOGimmickView_h_INCLUDED__
+#define __creaImageIOGimmickView_h_INCLUDED__
- //=====================================================================
-
- //=====================================================================
- /// Abstract class to handle tree item information
- struct TreeListCtrl
- {
- TreeListCtrl() {}
- virtual ~TreeListCtrl() {}
- };
- // EO class TreeListCtrl
+#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
- /**
- * \ingroup View
- */
- //=====================================================================
-
- //=====================================================================
- /// Abstract class to handle tree item ids
- struct TreeItemId
- {
- TreeItemId() {}
- virtual ~TreeItemId() {}
- };
- // EO class TreeItemId
+namespace creaImageIO
+{
/**
* \ingroup View
*/
{
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
//====================================================================
virtual void GetSelectedImages(std::vector<vtkImageData*>&){ return; }
/// Returns the vector of DicomNode corresponding to selection
virtual void GetSelectedDicomNodes(std::vector<DicomNode*>&){ return; }
- /// Returns the vector of TreeItemId corresponding to selection
- virtual void GetSelectedItems(std::vector<TreeItemId>&){ return; }
- /// Returns the DicomNode corresponding to the tree item
+ /// Returns the DicomNode corresponding to the tree item
virtual DicomNode* GetDicomNodeOfItem(const TreeItemId& i);
virtual const DicomDatabaseListType& GetDicomDatabaseList() const
{ return null; }
- /// Returns the TreeListCtrl of the main view
- TreeListCtrl* GetTreeListCtrl() { return null; }
- /// Returns the TreeListCtrl of the main view (const)
- const TreeListCtrl* GetTreeListCtrl() const { return null; }
-
protected:
- ///Inserts a TreeItem in a specified database
- virtual void InsertDicomDatabase(TreeItemId& id, DicomDatabase* r);
- ///Deletes a TreeItem from a specified database
- virtual void DeleteDicomDatabase(TreeItemId& id, DicomDatabase* r);
- ///Loads the children of the specified TreeItem
- virtual void LoadChildren( TreeItemId& id );
///Opens an existing database, or else, creates a local database.
virtual void OpenOrNewDatabase(bool open){ return; }
///Shows the help
public:
- /// Sets a new configuration file
- virtual void SetConfigurationFile(const std::string& filename){ return; }
- ///Loads a configuration file with the parameters for the favorites database
- virtual void LoadConfiguration(){ return; }
- ///Saves a configuration file with the parameters for the favorites database
- virtual void SaveConfiguration(){ return; }
- ///Sets the status for the save configuration on close to the new value
- ///specified by the parameter
- virtual void SetSaveConfigurationOnClose(bool v) { return; }
///Loads or creates a favorites database
virtual void LoadOrCreateFavoritesDatabase(){ return; }
private:
/// to the DicomNode provided.
/// parent is its parent in the tree (where to insert / remove it)
virtual void UpdateDicomNodeView(DicomNode* n, const TreeItemId& parent){ return; }
- /// Recursively deletes
- virtual void DeleteObsoleteChildren(TreeItemId& id){ return; }
- /// Create the column titles of the children of the item
- virtual TreeItemId CreateChildrenColumnsTitles(TreeItemId& item,
- DicomNode::Type t){ return null }
- /// Updates the titles of the columns
- virtual void UpdateColumnsTitles(TreeItemId& item, DicomNode::Type t){ return; }
- /// Updates the information on the columns
- virtual void UpdateColumns(TreeItemId& item, bool only_first = false){ return; }
-
+
private:
///Type definition of the data regarding the tree
typedef WxGimmickTreeItemData TreeItemData;
DicomDatabaseListType mDicomDatabaseList;
///Favorites database
DicomDatabase* mFavoriteDatabase;
- ///The tree list controller
- TreeListCtrl* mTreeListCtrl;
- ///Path to the user settings directory
- std::string mUserSettingsDirectory;
- ///Path to the configuration file
- std::string mConfigurationFile;
+
///Path to the database list file
std::string mDatabaseListFile;
- ///Boolean to check wether to save on close or not
- bool mSaveConfigurationOnClose;
///Extension of the database
std::string mDatabaseExtension;
bool mJustStarted;
int mFirstDicomDatabaseIconIndex;
- // Id of the item which activated the popup menu
- TreeItemId mItemOfMenu;
// Previewer
vtkImageViewer2* mViewer;
MultiThreadImageReader mReader;
// map of images name to node
std::map<std::string,DicomNode*> mImageFileNameToNode;
- // Cur image item to show
- TreeItemId mCurImageItemToShow;
-
- };
- // EO class GimmickView
- //=====================================================================
-
+ */
+
} // EO namespace creaImageIO
// EOF
-#endif
\ No newline at end of file
+#endif