X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=src2%2FcreaImageIOGimmickView.h;h=8407a9179cb22008dbcdd940e934862777b0f10d;hb=3e7eac431db6401f86374784eaa66ad276af1bac;hp=b044e2fc9fe5d5fb12bcc001ea4d91e6878f2626;hpb=9bcef355910f147e16a71ae068c1dcb99c1686de;p=creaImageIO.git diff --git a/src2/creaImageIOGimmickView.h b/src2/creaImageIOGimmickView.h index b044e2f..8407a91 100644 --- a/src2/creaImageIOGimmickView.h +++ b/src2/creaImageIOGimmickView.h @@ -1,34 +1,21 @@ -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 +#include +#include + +//#include +#include + +#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 */ @@ -40,10 +27,66 @@ 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 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& s, int dim) {} + + virtual void GetSelectedFiles(std::vector& 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 //==================================================================== @@ -58,9 +101,7 @@ namespace creaImageIO virtual void GetSelectedImages(std::vector&){ return; } /// Returns the vector of DicomNode corresponding to selection virtual void GetSelectedDicomNodes(std::vector&){ return; } - /// Returns the vector of TreeItemId corresponding to selection - virtual void GetSelectedItems(std::vector&){ return; } - /// Returns the DicomNode corresponding to the tree item + /// Returns the DicomNode corresponding to the tree item virtual DicomNode* GetDicomNodeOfItem(const TreeItemId& i); @@ -73,18 +114,7 @@ namespace creaImageIO 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 @@ -112,15 +142,6 @@ namespace creaImageIO 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: @@ -155,16 +176,7 @@ namespace creaImageIO /// 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; @@ -187,24 +199,15 @@ namespace creaImageIO 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; @@ -217,14 +220,9 @@ namespace creaImageIO MultiThreadImageReader mReader; // map of images name to node std::map mImageFileNameToNode; - // Cur image item to show - TreeItemId mCurImageItemToShow; - - }; - // EO class GimmickView - //===================================================================== - + */ + } // EO namespace creaImageIO // EOF -#endif \ No newline at end of file +#endif