X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=vv%2FvvMainWindow.h;h=769865e4cef6c44f500dcc1f459c3ad012a4316f;hb=706d7e2dc69e12b3823cfae2f3be3f903e4d3c80;hp=eee1d64b807eadea3582532b08c898bf21067710;hpb=3378f6c372da1e07e35c45562749416fcfee6798;p=clitk.git diff --git a/vv/vvMainWindow.h b/vv/vvMainWindow.h index eee1d64..769865e 100644 --- a/vv/vvMainWindow.h +++ b/vv/vvMainWindow.h @@ -1,7 +1,7 @@ /*========================================================================= Program: vv http://www.creatis.insa-lyon.fr/rio/vv - Authors belong to: + Authors belong to: - University of LYON http://www.universite-lyon.fr/ - Léon Bérard cancer center http://www.centreleonberard.fr - CREATIS CNRS laboratory http://www.creatis.insa-lyon.fr @@ -21,7 +21,13 @@ #include #include +#include +#include "vtkVersion.h" +#if (VTK_MAJOR_VERSION == 8 && VTK_MINOR_VERSION >= 1) || VTK_MAJOR_VERSION >= 9 #include "ui_vvMainWindow.h" +#else +#include "ui_vvMainWindowVTK7.h" +#endif #include "vvMainWindowBase.h" #include "vvToolManager.h" #include "vvImageReader.h" @@ -39,6 +45,9 @@ class vtkImageData; class vtkRenderer; class vtkMatrix4x4; class vvDicomSeriesSelector; +#if CLITK_USE_PACS_CONNECTION +class vvQPacsConnection; +#endif class vvSlicer; class QTreeWidget; @@ -54,6 +63,7 @@ class vvMainWindow: public vvMainWindowBase, void LoadImages(std::vector filenames, vvImageReader::LoadedImageType type); vvSlicerManager * AddImage(vvImage::Pointer image,std::string filename); void AddField(QString file,int index); + bool CheckAddedImage(int index, QString imageType); void AddOverlayImage(int index, std::vector fileNames, vvImageReader::LoadedImageType type); void AddFusionImage(int index, std::vector fileNames, vvImageReader::LoadedImageType type); void AddROI(int index, QString filename); @@ -69,7 +79,6 @@ class vvMainWindow: public vvMainWindowBase, 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(); @@ -91,7 +100,9 @@ public slots: void SliceImages(); void MergeImagesWithTime(); void OpenDicom(); - void PacsConnection(); +#if CLITK_USE_PACS_CONNECTION + void ConnectPacs(); +#endif ///Open a vtkPolyData surface mesh and display it over the current image void OpenVTKContour(); void SaveAs(); @@ -181,12 +192,17 @@ public slots: void UpdateRenderWindows(); void UpdateMemoryUsage(); void show(); + void SlotFileChanged(const QString& pathname); protected: void createRecentlyOpenedFilesMenu(); void updateRecentlyOpenedFilesMenu(const std::list &files); + // Drag and drop event handlers + virtual void dragEnterEvent(QDragEnterEvent *event); + virtual void dropEvent(QDropEvent *event); + private: //variables @@ -194,7 +210,10 @@ private: vvHelpDialog *help_dialog; vvDocumentation *documentation; vvDicomSeriesSelector *dicomSeriesSelector; - vvPacsConnection *PacsConnection; + +#if CLITK_USE_PACS_CONNECTION + vvQPacsConnection *PacsConnection; +#endif bool viewMode; bool playMode; @@ -212,9 +231,14 @@ private: QString GetSizeInBytes(unsigned long size); QString GetVectorDoubleAsString(std::vector vectorDouble); QString GetVectorIntAsString(std::vector vectorInt); + std::vector GetItemFromPathname(const QString& pathname); int GetSlicerIndexFromItem(QTreeWidgetItem* item); //this actually returns the SlicerManager index TODO: rename it to GetSlicerManagerIndexFromItem QTreeWidgetItem* GetItemFromSlicerManager(vvSlicerManager* sm); +#if (VTK_MAJOR_VERSION == 8 && VTK_MINOR_VERSION >= 1) || VTK_MAJOR_VERSION >= 9 + void SaveScreenshot(QVTKOpenGLNativeWidget *widget); +#else void SaveScreenshot(QVTKWidget *widget); +#endif int GetImageDuplicateFilenameNumber(std::string filename); QMenu contextMenu;