X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=vv%2FvvMainWindow.h;h=1650571b26032c0766dfb7d1f7bbbb2db4aaa90a;hb=c2e0628b1d9f0940ac192ff3683c3ede5d01ceb3;hp=d95e7fa166e0468f68e12ee24b8f910e205293fb;hpb=765020625fbc092d283e221e36c83e60a1844cb7;p=clitk.git diff --git a/vv/vvMainWindow.h b/vv/vvMainWindow.h index d95e7fa..1650571 100644 --- a/vv/vvMainWindow.h +++ b/vv/vvMainWindow.h @@ -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 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,11 +89,14 @@ 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(); void ShowHelpDialog(); void ShowDocumentation(); + void PopupRegisterForm(bool checkCanPush=false); void ComputeDeformableRegistration(); void WarpImage(); void ChangeViewMode(); @@ -100,12 +110,12 @@ public slots: void SegmentationOnCurrentImage(); void SurfaceViewerLaunch(); - void WindowsChanged(int window, int view, int slice); - void WindowLevelChanged(double window, double level,int preset, int colormap); + void WindowLevelChanged(); void UpdateSlice(int slicer, int slice); void UpdateTSlice(int slicer, int slice); void UpdateSliceRange(int slicer, int min, int max, int tmin, int tmax); void WindowLevelEdited(); + void SetWindowLevel(double w, double l); void UpdateColorMap(); void UpdateWindowLevel(); void SwitchWindowLevel(); @@ -132,6 +142,7 @@ public slots: void SaveNOScreenshot(); void SaveSEScreenshot(); void SaveSOScreenshot(); + void SaveScreenshotAllSlices(); void ShowContextMenu(QPoint point); void CloseImage(); @@ -139,10 +150,11 @@ public slots: void OpenField(); void SelectOverlayImage(); void SelectFusionImage(); + void ResetTransformationToIdentity(); void SetVFProperty(int subsampling,int scale,int lut, int width, double r, double g, double b); - void SetOverlayProperty(int color); - void SetFusionProperty(int opacity,int colormap,double window,double level); + void SetOverlayProperty(int color, int linked, double window, double level); + void SetFusionProperty(int opacity, int tresOpacity, int colormap,double window,double level); void GoToCursor(); void PlayPause(); @@ -152,7 +164,13 @@ public slots: } void UpdateRenderWindows(); void UpdateMemoryUsage(); - + void show(); + +protected: + + void createRecentlyOpenedFilesMenu(); + void updateRecentlyOpenedFilesMenu(const std::list &files); + private: //variables @@ -177,13 +195,13 @@ private: QString GetSizeInBytes(unsigned long size); QString GetVectorDoubleAsString(std::vector vectorDouble); QString GetVectorIntAsString(std::vector vectorInt); - QString Get4x4MatrixDoubleAsString(vtkSmartPointer matrix); int GetSlicerIndexFromItem(QTreeWidgetItem* item); QTreeWidgetItem* GetItemFromSlicerManager(vvSlicerManager* sm); void SaveScreenshot(QVTKWidget *widget); int GetImageDuplicateFilenameNumber(std::string filename); QMenu contextMenu; + QMenu* recentlyOpenedFilesMenu; //QMenu *AddSubImageMenu; std::vector contextActions; std::vector horizontalSliders; @@ -203,6 +221,4 @@ private: }; -#include "vvMainWindow.txx" - #endif