#ifndef __creaImageIOTreeView_h_INCLUDED__ #define __creaImageIOTreeView_h_INCLUDED__ #include #include #include namespace creaImageIO { /** * \ingroup View */ //===================================================================== //===================================================================== /// Abstract class that handles the view of a Tree through its TreeHandler class TreeView { public: /// Ctor TreeView(TreeHandler*); /// Virtual destructor virtual ~TreeView(); /// Updates the view of a level given the selected items of upper level virtual void UpdateLevel( int ) { GimmickError("INTERNAL ERROR : TreeView::UpdateLevel not overloaded");} ///Removes selected nodes on given level virtual void RemoveSelected( int ) { GimmickError("INTERNAL ERROR : TreeView::RemoveSelected not overloaded");} ///Validates the selected images virtual void ValidateSelectedImages() { GimmickError("INTERNAL ERROR : TreeView::ValidateSelected not overloaded");} ///Returns the selected data as vtkImageData vtkImageData* GetSelectedImage(int dim) { GimmickError("INTERNAL ERROR : TreeView::GetSelectedImage not overloaded");} ///Returns the selected data as a vector of vtkImageData (4D) virtual void GetSelectedImages(std::vector& s, int dim) { GimmickError("INTERNAL ERROR : TreeView::GetSelectedImages not overloaded");} ///Sets the maximum dimension allowed for selections void SetMaxDimension(int maxdim){ mSelectionMaxDimension=maxdim; } ///Sets the minimum dimension allowed for selections void SetMinDimension(int mindim){ mSelectionMinDimension=mindim; } ///Sets the output dimension desired for selections void SetOutputDimension(int outdim){ mOutputDimension=outdim; } protected: TreeHandler* GetTreeHandler() { return mTreeHandler; } ///Gets the maximum dimension allowed for selections int GetMaxDimension(){ return mSelectionMaxDimension; } ///Gets the minimum dimension allowed for selections int GetMinDimension(){ return mSelectionMinDimension; } ///Gets the output dimension desired for selections int GetOutputDimension(){ return mOutputDimension; } private: /// The TreeHandler with which it corresponds TreeHandler* mTreeHandler; //The selection's maximum dimension int mSelectionMaxDimension; //The selection's minimum dimension int mSelectionMinDimension; //The user desired output dimension int mOutputDimension; }; // EO class TreeView //===================================================================== } // EO namespace creaImageIO // EOF #endif