X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=vv%2FvvToolStructureSetManager.h;h=89af5abdda17d4ba9bd034b0c90ec4b225609977;hb=50eb3bd187cc86e6e4e331ccbbbfc016c8afb6b1;hp=e46bf5c31fa1060b85ab6614101857918b9d4a67;hpb=e94da8e1a76e3c9bf5301ce46e72074ba01cd1c1;p=clitk.git diff --git a/vv/vvToolStructureSetManager.h b/vv/vvToolStructureSetManager.h index e46bf5c..89af5ab 100644 --- a/vv/vvToolStructureSetManager.h +++ b/vv/vvToolStructureSetManager.h @@ -14,7 +14,7 @@ - BSD See included LICENSE.txt file - CeCILL-B http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html -======================================================================-====*/ + ======================================================================-====*/ #ifndef VVTOOLSTRUCTURESETMANAGER_H #define VVTOOLSTRUCTURESETMANAGER_H @@ -24,6 +24,9 @@ #include "vvToolWidgetBase.h" #include "clitkDicomRT_StructureSet.h" #include "ui_vvToolStructureSetManager.h" +#include "vvROIActor.h" + +#include class vvStructureSetActor; @@ -34,34 +37,68 @@ class vvToolStructureSetManager: private Ui::vvToolStructureSetManager { Q_OBJECT - public: - vvToolStructureSetManager(vvMainWindowBase* parent=0, Qt::WindowFlags f=0); + public: + vvToolStructureSetManager(vvMainWindowBase* parent=0, Qt::WindowFlags f=0, vvSlicerManager * c = NULL); ~vvToolStructureSetManager(); static void Initialize(); virtual void InputIsSelected(vvSlicerManager *m); - int addStructureSet(clitk::DicomRT_StructureSet * mStructureSet); - void addStructureSetInTreeWidget(int index, clitk::DicomRT_StructureSet * s); - void addRoiInTreeWidget(clitk::DicomRT_ROI * roi, QTreeWidgetItem * w); + int AddStructureSet(clitk::DicomRT_StructureSet * mStructureSet); + void UpdateStructureSetInTreeWidget(int index, clitk::DicomRT_StructureSet * s); + void AddRoiInTreeWidget(clitk::DicomRT_ROI * roi, QTreeWidget * w); + + static vvToolStructureSetManager * AddImage(vvSlicerManager * m, std::string name, vvImage::Pointer image, double BG, bool modeBG=true); + void AddImage(vvImage * image, std::string filename, double BG, bool modeBG=true); + void UpdateImage(); public slots: virtual void apply(); - void open(int type); - void LeftButtonReleaseEvent(int slicer); + void Open(int type); + void OpenBinaryImage(); + void SelectedItemChangedInTree(); + void VisibleROIToggled(bool b); + void VisibleContourROIToggled(bool b); + void OpacityChanged(int v); + void ChangeColor(); + void ChangeContourColor(); + void ChangeContourWidth(int n); + void AllVisibleROIToggled(int b); + void AllVisibleContourROIToggled(bool b); + void ReloadCurrentROI(); - protected: +protected: Ui::vvToolStructureSetManager ui; - void openBinaryImage(); - clitk::DicomRT_StructureSet * mCurrentStructureSet; + clitk::DicomRT_StructureSet* mCurrentStructureSet; vvStructureSetActor * mCurrentStructureSetActor; int mCurrentStructureSetIndex; - vtkLookupTable * mDefaultLUTColor; - - std::vector mStructureSetsList; - std::vector mStructureSetActorsList; - std::map mStructureSetItemsList; + clitk::DicomRT_ROI::Pointer mCurrentROI; + vvROIActor * mCurrentROIActor; + vtkSmartPointer mDefaultLUTColor; + bool mIsAllVisibleEnabled; + int mNumberOfVisibleROI; + int mNumberOfVisibleContourROI; + std::vector mStructureSetsList; + std::vector< QSharedPointer > mStructureSetActorsList; + std::vector< QSharedPointer > mTreeWidgetList; + std::map mMapROIToTreeWidget; + std::map mMapTreeWidgetToROI; + std::vector mLoadedROIIndex; + std::vector mOpenedBinaryImage; + + void setCurrentSelectedROI(clitk::DicomRT_ROI * roi); + void UpdateAllROIStatus(); + virtual bool close(); + virtual void closeEvent(QCloseEvent *event); + // Management of all instances + virtual void CheckInputList(std::vector & l, int & index); + static std::vector mListOfInputs; + static std::map mListOfOpenTool; + static bool mDestroyed; + static int m_NumberOfTool; + bool MustOpenDialogWhenCreated; + }; // end class vvToolStructureSetManager //------------------------------------------------------------------------------