From: tbaudier Date: Thu, 4 Oct 2018 12:32:55 +0000 (+0200) Subject: Merge branch 'drop_files' of https://github.com/m-pilia/vv into m-pilia-drop_files X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=commitdiff_plain;h=8f42f40e826ecc4cc45e08ed41cc5596da74991c;hp=-c;p=clitk.git Merge branch 'drop_files' of https://github.com/m-pilia/vv into m-pilia-drop_files --- 8f42f40e826ecc4cc45e08ed41cc5596da74991c diff --combined vv/vvMainWindow.cxx index 6a81732,153b461..30f7da5 --- a/vv/vvMainWindow.cxx +++ b/vv/vvMainWindow.cxx @@@ -18,6 -18,7 +18,7 @@@ It is distributed under dual licenc #include #include + #include #include #include #include "QTreePushButton.h" @@@ -132,6 -133,8 +133,8 @@@ vvMainWindow::vvMainWindow():vvMainWind { setupUi(this); // this sets up the GUI + setAcceptDrops(true); // enable to drop into the window + setDicomClient(); //Qt::WindowFlags flags = windowFlags(); @@@ -816,6 -819,25 +819,25 @@@ void vvMainWindow::OpenRecentImage( LoadImages(images, vvImageReader::IMAGE); } //------------------------------------------------------------------------------ + void vvMainWindow::dragEnterEvent(QDragEnterEvent *event) + { + if (event->mimeData()->hasUrls()) { + event->acceptProposedAction(); + } + } + //------------------------------------------------------------------------------ + void vvMainWindow::dropEvent(QDropEvent *event) + { + const QMimeData * mimeData = event->mimeData(); + if (!mimeData->hasUrls()) + return; + std::vector images; + for (auto const & url : mimeData->urls()) { + images.push_back(url.toLocalFile().toStdString()); + } + LoadImages(images, vvImageReader::IMAGE); + } + //------------------------------------------------------------------------------ //------------------------------------------------------------------------------ @@@ -3278,11 -3300,7 +3300,11 @@@ void vvMainWindow::SaveSEScreenshot( //------------------------------------------------------------------------------ void vvMainWindow::SaveScreenshotAllSlices() { +#if (VTK_MAJOR_VERSION == 8 && VTK_MINOR_VERSION >= 1) || VTK_MAJOR_VERSION >= 9 + QVTKOpenGLNativeWidget *widget = NOViewWidget; +#else QVTKWidget *widget = NOViewWidget; +#endif int index = 0;// GetSlicerIndexFromItem(DataTree->selectedItems()[0]); vvSlicerManager * SM = mSlicerManagers[index]; @@@ -3338,11 -3356,7 +3360,11 @@@ //------------------------------------------------------------------------------ +#if (VTK_MAJOR_VERSION == 8 && VTK_MINOR_VERSION >= 1) || VTK_MAJOR_VERSION >= 9 +void vvMainWindow::SaveScreenshot(QVTKOpenGLNativeWidget *widget) +#else void vvMainWindow::SaveScreenshot(QVTKWidget *widget) +#endif { QString Extensions = "Images( *.png);;"; Extensions += "Images( *.jpg);;"; diff --combined vv/vvMainWindow.h index 2be7e75,2d6a21d..07f38e5 --- a/vv/vvMainWindow.h +++ b/vv/vvMainWindow.h @@@ -21,12 -21,8 +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" @@@ -197,6 -193,10 +198,10 @@@ 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 @@@ -227,11 -227,7 +232,11 @@@ QString GetVectorIntAsString(std::vector vectorInt); 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;