]> Creatis software - clitk.git/blobdiff - vv/vvMainWindow.h
Merge branch 'master' of git.creatis.insa-lyon.fr:clitk
[clitk.git] / vv / vvMainWindow.h
index 8a2f0365ae6361f9a8d31e36edc6d22277292a3c..c77a59a8a4948a482e6db31d46e816c52056cec7 100644 (file)
@@ -40,6 +40,7 @@ class vtkRenderer;
 class vtkMatrix4x4;
 class vvDicomSeriesSelector;
 class vvSlicer;
+class QTreeWidget;
 
 //------------------------------------------------------------------------------
 class vvMainWindow: public vvMainWindowBase,
@@ -60,14 +61,20 @@ class vvMainWindow: public vvMainWindowBase,
   void AddContour(int image_index, vvMesh::Pointer contour, bool propagation);
   ///This is used to show an image when opened or computed
   void ShowLastImage();
+  void SaveCurrentStateAs(const std::string& stateFile);
+  void ReadSavedStateFile(const std::string& stateFile);
+       void LinkAllImages();
+  QString Get4x4MatrixDoubleAsString(vtkSmartPointer<vtkMatrix4x4> matrix, const int precision=3);
 
   virtual void UpdateCurrentSlicer();
   virtual QTabWidget * GetTab();
+  QTreeWidget* GetTree() { return DataTree; }
   //vvMainWindowToolInfo * GetInfoForTool();
 //   void AddRunningTool(vvToolCreatorBase * tool);
 
 public slots:
   ///Allows the user to open and select various surfaces contained in a dicom-struct file
+  void AddDCStructContour(int index, QString file);
   void OpenDCStructContour();
   ///Computes the midposition image of a 4D sequence with a VF and displays it
   void ComputeMidPosition();
@@ -82,6 +89,8 @@ public slots:
   ///Open a vtkPolyData surface mesh and display it over the current image
   void OpenVTKContour();
   void SaveAs();
+  void SaveCurrentState();
+  void ReadSavedState();
   void CurrentImageChanged(std::string id);
   void CurrentPickedImageChanged(std::string id);
   void ImageInfoChanged();
@@ -109,6 +118,7 @@ public slots:
   void SetWindowLevel(double w, double l);
   void UpdateColorMap();
   void UpdateWindowLevel();
+  void UpdateSlicingPreset();
   void SwitchWindowLevel();
   void ApplyWindowLevelToAllImages();
   void UpdateLinkManager(std::string id, int slicer, double x, double y, double z, int temps);
@@ -145,7 +155,7 @@ public slots:
 
   void SetVFProperty(int subsampling,int scale,int lut, int width, double r, double g, double b);
   void SetOverlayProperty(int color, int linked, double window, double level);
-  void SetFusionProperty(int opacity, int tresOpacity, int colormap,double window,double level);
+  void SetFusionProperty(int opacity, int tresOpacity, int colormap,double window,double level, bool showLegend);
 
   void GoToCursor();
   void PlayPause();
@@ -186,7 +196,6 @@ private:
   QString GetSizeInBytes(unsigned long size);
   QString GetVectorDoubleAsString(std::vector<double> vectorDouble);
   QString GetVectorIntAsString(std::vector<int> vectorInt);
-  QString Get4x4MatrixDoubleAsString(vtkSmartPointer<vtkMatrix4x4> matrix);
   int GetSlicerIndexFromItem(QTreeWidgetItem* item);
   QTreeWidgetItem* GetItemFromSlicerManager(vvSlicerManager* sm);
   void SaveScreenshot(QVTKWidget *widget);