X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=src2%2FcreaImageIOGimmickView.h;h=6fca80290652d87ee96c74b3a55f86aeb6702254;hb=a67d921cdc10d438852b48c2985f14d91320e016;hp=ef435c17ae9302d85fd1dab27d2c6f4578b0d884;hpb=be812877eb9dfa9b921df4f6d88df98af73328c3;p=creaImageIO.git diff --git a/src2/creaImageIOGimmickView.h b/src2/creaImageIOGimmickView.h index ef435c1..6fca802 100644 --- a/src2/creaImageIOGimmickView.h +++ b/src2/creaImageIOGimmickView.h @@ -83,7 +83,19 @@ namespace creaImageIO virtual void AddIgnoreFile(tree::Node* toRemove) { GimmickError("INTERNAL ERROR : AddIgnoreFile not implemented"); } + ///Copies selected files + virtual void CopyFiles(const std::vector& filenames) + { GimmickError("INTERNAL ERROR : CopyFiles not implemented"); } + + ///Edits the fields of a given node + virtual void CreateEditFieldsDialog(tree::Node* node, std::vector names, std::vector keys) + { GimmickError("INTERNAL ERROR : EditFields not implemented"); } + ///Copies selected files + virtual void SaveAs(const std::vector& filenames) + { GimmickError("INTERNAL ERROR : SaveAs not implemented"); } + + ///Validates the dimension compliance of the images with the maximum and minimum given, and between their sizes bool ValidateSelected (tree::Node* sel, int min_dim, int max_dim); @@ -91,7 +103,8 @@ namespace creaImageIO void ReadImagesNotThreaded(std::vector& s,std::vector files, int dim); ///Requests the reading of an image with priority and index in the /// current selection (-1 if not in selection) - void RequestReading(tree::Node* n, int prio, int selection_index , ImagePointerHolder *p); + //void RequestReading(tree::Node* n, int prio, int selection_index , ImagePointerHolder *p); + void RequestReading(tree::Node* n, int prio, int selection_index , boost::shared_ptr p); ///Obtains the message of the state @@ -138,12 +151,14 @@ namespace creaImageIO void ConnectValidationObserver(ValidationCallbackType callback); //================================================================== + + void modifyValidationSignal(bool ivalid); private: /// Controller which manages the interaction with the model - Gimmick* mGimmick; + boost::shared_ptr< Gimmick> mGimmick; /// The views TreeViewMapType mTreeViewMap; /// The message that results from the validation @@ -157,15 +172,15 @@ namespace creaImageIO struct ImageEventType { ImageEventType( tree::Node* no = 0, - int sel_index = -1, - ImagePointerHolder* ph= 0) - : node(no), index(sel_index), pointerHolder(ph){} + int sel_index = -1) +// ImagePointerHolder* ph= 0) +: node(no), index(sel_index){}//, pointerHolder(ph){} ImageEventType(vtkImageData* im ) : image(im) {} tree::Node* node; vtkImageData* image; int index; - ImagePointerHolder* pointerHolder; + boost::shared_ptr pointerHolder; }; typedef std::map ImageEventTypeMap; /// Map of images' names to ImageEventType @@ -189,149 +204,7 @@ namespace creaImageIO //===================================================================== - /* - - - - - - - - - //==================================================================== - // General - //==================================================================== - - /// Returns the size of the current selection - virtual int GetSelectionSize() { return 0; } - /// Returns true if there is a valid selection - virtual bool IsSelectionValid(){ return false; } - /// Returns the vector of full filenames of selected images - virtual void GetSelectedFiles(std::vector&){ return; } - /// Returns the vector of images corresponding to selection - virtual void GetSelectedImages(std::vector&){ return; } - /// Returns the vector of DicomNode corresponding to selection - virtual void GetSelectedDicomNodes(std::vector&){ return; } - /// Returns the DicomNode corresponding to the tree item - virtual DicomNode* GetDicomNodeOfItem(const TreeItemId& i); - - - /// Type of list of DicomDatabase - typedef std::vector DicomDatabaseListType; - /// Returns the list of DicomDatabase open - virtual DicomDatabaseListType& GetDicomDatabaseList() - { return null; } - /// Returns the list of DicomDatabase open (const) - virtual const DicomDatabaseListType& GetDicomDatabaseList() const - { return null; } - - protected: - ///Opens an existing database, or else, creates a local database. - virtual void OpenOrNewDatabase(bool open){ return; } - ///Shows the help - virtual void ShowHelp(); - - private: - ///Gets the extension of the database - const std::string& GetDatabaseExtension() { return null; } - ///Sets the extension of the database - virtual void SetDatabaseExtension(const std::string& ext){ return; } - - - //==================================================================== - // Preview Display Related - //==================================================================== - - - ///Shows the image sent as a parameter - private: - virtual void ShowImage(vtkImageData* image){ return; } - - //==================================================================== - // Favorites Related - //==================================================================== - - - public: - ///Loads or creates a favorites database - virtual void LoadOrCreateFavoritesDatabase(){ return; } - private: - ///Creates the user settings directory - void CreateUserSettingsDirectory(){ return; } - ///Obtains the user settings directory - const std::string& GetUserSettingsDirectory(){ return null; } - - //==================================================================== - // Attribute Display Related - //==================================================================== - - - ///Shows the Information regarding the node sent as a parameter - private: - virtual void ShowInformation(DicomNode*){ return; } - - //==================================================================== - // Tree Display Related - //==================================================================== - - protected: - /// Completely rebuilds the view with - /// current DicomDatabaseList - virtual void RebuildView(){ return; } - /// Recursively updates the part of the view corresponding - /// to the DicomDatabase passed - /// i.e. creates items for the DicomNode which do not have - /// deletes obsolete items (whose DicomNode has been deleted) - virtual void UpdateDicomDatabaseView(DicomDatabase*){ return; } - /// Recursively updates the part of the view corresponding - /// 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; } - - private: - ///Type definition of the data regarding the tree - typedef WxGimmickTreeItemData TreeItemData; - ///Gets the item data of the tree item passed as a parameter - TreeItemData* GetItemData(const TreeItemId& id){ return null; } - ///Type definition of the data insid a node of the tree - typedef WxGimmickDicomNodeData NodeData; - - - //==================================================================== - // Class Attributes - //==================================================================== - - - int mSelectionType; - int mSelectionMaxImageDimension; - int mCurrentSelectionImageSize[4]; - - ///Existent Database List - DicomDatabaseListType mDicomDatabaseList; - ///Favorites database - DicomDatabase* mFavoriteDatabase; - - ///Path to the database list file - std::string mDatabaseListFile; - ///Extension of the database - std::string mDatabaseExtension; - - bool mJustStarted; - - int mFirstDicomDatabaseIconIndex; - - // Previewer - vtkImageViewer2* mViewer; - - int mx1,mx2,my1,my2,mz1,mz2; - double mspx,mspy,mspz; - - // Image preview : - // Multi-thread image reader - MultiThreadImageReader mReader; - // map of images name to node - std::map mImageFileNameToNode; - */ + } // EO namespace creaImageIO