]> Creatis software - clitk.git/blobdiff - vv/vvToolROIManager.h
Debug RTStruct conversion with empty struc
[clitk.git] / vv / vvToolROIManager.h
index be3b987c311bae45a503d3c72b8d01957a4a91ba..db630c641b059c4838a376d7bdfdf380a70d4fd5 100644 (file)
 #ifndef VVTOOLROIMANAGER_H
 #define VVTOOLROIMANAGER_H
 
+#include <QtGlobal>
+#if QT_VERSION >= 0x050000
+#include <QtUiPlugin/QDesignerExportWidget>
+#else
 #include <QtDesigner/QDesignerExportWidget>
+#endif
 #include <QSharedPointer>
 
 #include "vvToolBase.h"
@@ -43,27 +48,52 @@ class vvToolROIManager:
   static void Initialize();
   virtual void InputIsSelected(vvSlicerManager *m);
 
-  void AddImage(vvImage * binaryImage, std::string filename, double BG, bool m_modeBG=true);
+  void AddImage(vvImage * binaryImage, std::string name, std::string filename, double BG, bool m_modeBG=true);
   void UpdateAllContours();
   void UpdateAllROIStatus();
+#if __cplusplus > 199711L
+  virtual void SaveState(std::shared_ptr<QXmlStreamWriter> & m_XmlWriter);
+#else
+  virtual void SaveState(std::auto_ptr<QXmlStreamWriter> & m_XmlWriter);
+#endif
+  virtual void InitializeNewTool(bool ReadStateFlag);
 
   public slots:
   void AnImageIsBeingClosed(vvSlicerManager *);
   void SelectedImageHasChanged(vvSlicerManager *);
-  void OpenBinaryImage();
+  void Open();
+  void OpenBinaryImage(QStringList & filenames);
+  void OpenDicomImage(std::string filaneme);
+  void SelectedItemChangedInTree();
+  void VisibleROIToggled(bool b);
+  void VisibleContourROIToggled(bool b);
+  void OpacityChanged(int v);
+  void ChangeColor();
+  void ChangeContourColor();
+  void ChangeContourWidth(int n);
+  void ChangeDepth(int n);
+  void AllVisibleROIToggled(int b);
+  void AllVisibleContourROIToggled(int b);
+  void ReloadCurrentROI();  
+  void close();
+  void RemoveROI();
+  vvSlicerManager * GetCurrentSlicerManager() { return mCurrentSlicerManager; }
 
 protected:
   Ui::vvToolROIManager ui;
-  vvSlicerManager * mSlicerManager;
+  vvSlicerManager * mCurrentSlicerManager; // need it because do not inherit from vvToolWidgetBase
   vvImage * mCurrentImage;
   vvMainWindowBase * mMainWindow;
+  int mIndexFirstTab;
+  bool mOpenFileBrowserFlag;
   
   int mNumberOfVisibleROI;
   int mNumberOfVisibleContourROI;
+  static int nbTotalROI;
 
   vtkSmartPointer<vtkLookupTable> mDefaultLUTColor;
 
-  std::vector<vvImage::Pointer> mOpenedBinaryImage;
+  QStringList mOpenedBinaryImageFilenames;
   std::vector<clitk::DicomRT_ROI::Pointer> mROIList;
   std::vector<QSharedPointer<vvROIActor> > mROIActorsList;
 
@@ -72,6 +102,16 @@ protected:
   std::map<clitk::DicomRT_ROI::Pointer, QTreeWidgetItem *> mMapROIToTreeWidget;
   std::map<QTreeWidgetItem *, clitk::DicomRT_ROI::Pointer> mMapTreeWidgetToROI;
   
+  // Data for current selected roi
+  clitk::DicomRT_ROI::Pointer mCurrentROI;
+  QSharedPointer<vvROIActor> mCurrentROIActor;
+  
+  // Data for XML Reader
+  void ReadXMLInformation();
+  void ReadXMLInformation_ROI();
+  uint mInitialImageIndex;
+  QStringList mROIFilenames;
+  std::vector<QSharedPointer<vvROIActor> > mROIActorsParamList;
  
 }; // end class vvToolROIManager
 //------------------------------------------------------------------------------