diff --git a/Modules/QtWidgets/files.cmake b/Modules/QtWidgets/files.cmake index 8352fe4632..ff8a6a8204 100644 --- a/Modules/QtWidgets/files.cmake +++ b/Modules/QtWidgets/files.cmake @@ -1,139 +1,137 @@ file(GLOB_RECURSE H_FILES RELATIVE "${CMAKE_CURRENT_SOURCE_DIR}" "${CMAKE_CURRENT_SOURCE_DIR}/include/*") set(CPP_FILES QmitkAbstractDataStorageModel.cpp QmitkAbstractMultiWidget.cpp QmitkAbstractNodeSelectionWidget.cpp QmitkApplicationCursor.cpp QmitkDataStorageComboBox.cpp QmitkDataStorageDefaultListModel.cpp QmitkDataStorageHistoryModel.cpp QmitkDataStorageListModel.cpp QmitkDataStorageTableModel.cpp QmitkDataStorageSimpleTreeModel.cpp QmitkDataStorageTreeModel.cpp QmitkDataStorageTreeModelInternalItem.cpp QmitkDnDDataNodeWidget.cpp QmitkFileReaderOptionsDialog.cpp QmitkFileReaderWriterOptionsWidget.cpp QmitkFileWriterOptionsDialog.cpp QmitkInteractionSchemeToolBar.cpp QmitkIOUtil.cpp QmitkLevelWindowPresetDefinitionDialog.cpp QmitkLevelWindowRangeChangeDialog.cpp QmitkLevelWindowWidgetContextMenu.cpp QmitkLevelWindowWidget.cpp QmitkLineEditLevelWindowWidget.cpp QmitkMemoryUsageIndicatorView.cpp - QmitkMouseModeSwitcher.cpp QmitkMimeTypes.cpp QmitkMultiWidgetConfigurationToolBar.cpp QmitkMultiWidgetLayoutManager.cpp QmitkMultiWidgetLayoutSelectionWidget.cpp QmitkNodeDescriptor.cpp QmitkColoredNodeDescriptor.cpp QmitkNodeDescriptorManager.cpp QmitkProgressBar.cpp QmitkPropertiesTableEditor.cpp QmitkPropertiesTableModel.cpp QmitkPropertyDelegate.cpp QmitkRegisterClasses.cpp QmitkRenderingManager.cpp QmitkRenderingManagerFactory.cpp QmitkRenderWindow.cpp QmitkRenderWindowMenu.cpp QmitkRenderWindowWidget.cpp QmitkServiceListWidget.cpp QmitkSliderLevelWindowWidget.cpp QmitkStdMultiWidget.cpp QmitkMxNMultiWidget.cpp QmitkDataStorageComboBoxWithSelectNone.cpp QmitkDataStorageFilterProxyModel.cpp QmitkPropertyItem.cpp QmitkPropertyItemDelegate.cpp QmitkPropertyItemModel.cpp QmitkStyleManager.cpp QmitkAbstractDataStorageInspector.cpp QmitkDataStorageFavoriteNodesInspector.cpp QmitkDataStorageListInspector.cpp QmitkDataStorageTreeInspector.cpp QmitkDataStorageSelectionHistoryInspector.cpp QmitkModelViewSelectionConnector.cpp mitkIDataStorageInspectorProvider.cpp mitkQtWidgetsActivator.cpp mitkDataStorageInspectorGenerator.cpp QmitkOverlayWidget.cpp QmitkSimpleTextOverlayWidget.cpp QmitkNodeDetailsDialog.cpp ) set(MOC_H_FILES include/QmitkAbstractDataStorageModel.h include/QmitkAbstractMultiWidget.h include/QmitkAbstractNodeSelectionWidget.h include/QmitkDataStorageComboBox.h include/QmitkDataStorageTableModel.h include/QmitkDataStorageTreeModel.h include/QmitkDataStorageSimpleTreeModel.h include/QmitkDataStorageDefaultListModel.h include/QmitkDnDDataNodeWidget.h include/QmitkFileReaderOptionsDialog.h include/QmitkFileReaderWriterOptionsWidget.h include/QmitkFileWriterOptionsDialog.h include/QmitkInteractionSchemeToolBar.h include/QmitkLevelWindowPresetDefinitionDialog.h include/QmitkLevelWindowRangeChangeDialog.h include/QmitkLevelWindowWidgetContextMenu.h include/QmitkLevelWindowWidget.h include/QmitkLineEditLevelWindowWidget.h include/QmitkMemoryUsageIndicatorView.h - include/QmitkMouseModeSwitcher.h include/QmitkMultiWidgetConfigurationToolBar.h include/QmitkMultiWidgetLayoutManager.h include/QmitkMultiWidgetLayoutSelectionWidget.h include/QmitkNodeDescriptor.h include/QmitkColoredNodeDescriptor.h include/QmitkNodeDescriptorManager.h include/QmitkProgressBar.h include/QmitkPropertiesTableEditor.h include/QmitkPropertyDelegate.h include/QmitkRenderingManager.h include/QmitkRenderWindow.h include/QmitkRenderWindowMenu.h include/QmitkRenderWindowWidget.h include/QmitkServiceListWidget.h include/QmitkSliderLevelWindowWidget.h include/QmitkStdMultiWidget.h include/QmitkMxNMultiWidget.h include/QmitkDataStorageComboBoxWithSelectNone.h include/QmitkPropertyItemDelegate.h include/QmitkPropertyItemModel.h include/QmitkAbstractDataStorageInspector.h include/QmitkDataStorageFavoriteNodesInspector.h include/QmitkDataStorageListInspector.h include/QmitkDataStorageTreeInspector.h include/QmitkDataStorageHistoryModel.h include/QmitkDataStorageSelectionHistoryInspector.h include/QmitkModelViewSelectionConnector.h include/QmitkOverlayWidget.h include/QmitkSimpleTextOverlayWidget.h include/QmitkNodeDetailsDialog.h ) set(UI_FILES src/QmitkFileReaderOptionsDialog.ui src/QmitkFileWriterOptionsDialog.ui src/QmitkLevelWindowPresetDefinition.ui src/QmitkLevelWindowWidget.ui src/QmitkLevelWindowRangeChange.ui src/QmitkMemoryUsageIndicator.ui src/QmitkMultiWidgetLayoutSelectionWidget.ui src/QmitkServiceListWidgetControls.ui src/QmitkDataStorageListInspector.ui src/QmitkDataStorageTreeInspector.ui src/QmitkDataStorageSelectionHistoryInspector.ui ) set(QRC_FILES resource/Qmitk.qrc ) diff --git a/Modules/QtWidgets/include/QmitkMouseModeSwitcher.h b/Modules/QtWidgets/include/QmitkMouseModeSwitcher.h deleted file mode 100644 index c88ab5c62f..0000000000 --- a/Modules/QtWidgets/include/QmitkMouseModeSwitcher.h +++ /dev/null @@ -1,84 +0,0 @@ -/*============================================================================ - -The Medical Imaging Interaction Toolkit (MITK) - -Copyright (c) German Cancer Research Center (DKFZ) -All rights reserved. - -Use of this source code is governed by a 3-clause BSD license that can be -found in the LICENSE file. - -============================================================================*/ - -#ifndef QmitkMouseModeSwitcher_h -#define QmitkMouseModeSwitcher_h - -#include "MitkQtWidgetsExports.h" - -#include "mitkMouseModeSwitcher.h" - -#include -#include - -/** - * \ingroup QmitkModule - * \brief Qt toolbar representing mitk::MouseModeSwitcher. - * - * Provides buttons for the interaction modes defined in mitk::MouseModeSwitcher - * and communicates with this non-graphical class. - * - * Can be used in a GUI to provide a mouse mode selector to the user. - */ -class MITKQTWIDGETS_EXPORT QmitkMouseModeSwitcher : public QToolBar -{ - Q_OBJECT - -public: - - QmitkMouseModeSwitcher(QWidget* parent = nullptr); - ~QmitkMouseModeSwitcher() override; - - typedef mitk::MouseModeSwitcher::MouseMode MouseMode; - -public slots: - - /** - \brief Connect to non-GUI class. - - When a button is pressed, given mitk::MouseModeSwitcher is informed to adapt interactors. - - \todo QmitkMouseModeSwitcher could be enhanced to actively observe mitk::MouseModeSwitcher and change available - actions or visibility appropriately. - */ - void setMouseModeSwitcher(mitk::MouseModeSwitcher*); - -signals: - - /** - \brief Mode activated. - - This signal is needed for other GUI element to react appropriately. - Sadly this is needed to provide "normal" functionality of QmitkStdMultiWidget, - because this must enable/disable automatic reaction of SliceNavigationControllers - to mouse clicks - depending on which mode is active. - */ - void MouseModeSelected(MouseMode id); - -protected slots: - - void OnMouseModeChangedViaButton(); - void addButton(MouseMode id, const QString& toolName, const QIcon& icon, bool on = false); - -protected: - - void OnMouseModeChangedViaCommand(const itk::EventObject&); - - QActionGroup* m_ActionGroup; - mitk::MouseModeSwitcher* m_MouseModeSwitcher; - - unsigned long m_ObserverTag; - - bool m_ActionButtonBlocked; -}; - -#endif diff --git a/Modules/QtWidgets/src/QmitkMouseModeSwitcher.cpp b/Modules/QtWidgets/src/QmitkMouseModeSwitcher.cpp deleted file mode 100644 index 5b46e055dd..0000000000 --- a/Modules/QtWidgets/src/QmitkMouseModeSwitcher.cpp +++ /dev/null @@ -1,108 +0,0 @@ -/*============================================================================ - -The Medical Imaging Interaction Toolkit (MITK) - -Copyright (c) German Cancer Research Center (DKFZ) -All rights reserved. - -Use of this source code is governed by a 3-clause BSD license that can be -found in the LICENSE file. - -============================================================================*/ - -#include "QmitkMouseModeSwitcher.h" -#include - -QmitkMouseModeSwitcher::QmitkMouseModeSwitcher(QWidget* parent/* = nullptr*/) - : QToolBar(parent) - , m_ActionGroup(new QActionGroup(this)) - , m_MouseModeSwitcher(nullptr) - , m_ObserverTag(0) - , m_ActionButtonBlocked(false) -{ - QToolBar::setOrientation(Qt::Vertical); - QToolBar::setIconSize(QSize(17, 17)); - m_ActionGroup->setExclusive(true); // only one selectable action - - addButton(mitk::MouseModeSwitcher::MousePointer, tr("Pointer"), QIcon(":/Qmitk/mm_pointer.png"), true); // toggle ON - addButton(mitk::MouseModeSwitcher::Scroll, tr("Scroll"), QIcon(":/Qmitk/mm_scroll.png")); - addButton(mitk::MouseModeSwitcher::LevelWindow, tr("Level/Window"), QIcon(":/Qmitk/mm_contrast.png")); - addButton(mitk::MouseModeSwitcher::Zoom, tr("Zoom"), QIcon(":/Qmitk/mm_zoom.png")); - addButton(mitk::MouseModeSwitcher::Pan, tr("Pan"), QIcon(":/Qmitk/mm_pan.png")); -} - -void QmitkMouseModeSwitcher::addButton(MouseMode id, const QString &toolName, const QIcon &icon, bool on) -{ - QAction* action = new QAction(icon, toolName, this); - action->setCheckable(true); - action->setActionGroup(m_ActionGroup); - action->setChecked(on); - action->setData(id); - connect(action, SIGNAL(triggered()), this, SLOT(OnMouseModeChangedViaButton())); - QToolBar::addAction(action); -} - -QmitkMouseModeSwitcher::~QmitkMouseModeSwitcher() -{ - if (nullptr != m_MouseModeSwitcher) - { - m_MouseModeSwitcher->RemoveObserver(m_ObserverTag); - } -} - -void QmitkMouseModeSwitcher::setMouseModeSwitcher(mitk::MouseModeSwitcher *mms) -{ - // goodbye / welcome ceremonies - if (nullptr != m_MouseModeSwitcher) - { - m_MouseModeSwitcher->RemoveObserver(m_ObserverTag); - } - - m_MouseModeSwitcher = mms; - - if (m_MouseModeSwitcher) - { - itk::ReceptorMemberCommand::Pointer command = itk::ReceptorMemberCommand::New(); - command->SetCallbackFunction(this, &QmitkMouseModeSwitcher::OnMouseModeChangedViaCommand); - m_ObserverTag = m_MouseModeSwitcher->AddObserver(mitk::MouseModeSwitcher::MouseModeChangedEvent(), command); - } -} - -void QmitkMouseModeSwitcher::OnMouseModeChangedViaButton() -{ - if (m_ActionButtonBlocked) - { - return; // blocked, since we change the checked state of the buttons in the callback function - } - - QAction* action = dynamic_cast(sender()); - if (action) - { - MouseMode id = static_cast(action->data().toInt()); - // qDebug() << "Mouse mode '" << qPrintable(action->text()) << "' selected, trigger mode id " << id; - - if (m_MouseModeSwitcher) - { - m_MouseModeSwitcher->SetInteractionScheme(mitk::MouseModeSwitcher::InteractionScheme::PACS); - m_MouseModeSwitcher->SelectMouseMode(id); - } - emit MouseModeSelected(id); - } -} - -void QmitkMouseModeSwitcher::OnMouseModeChangedViaCommand(const itk::EventObject &) -{ - m_ActionButtonBlocked = true; - - assert(m_MouseModeSwitcher); - MouseMode activeMode = m_MouseModeSwitcher->GetCurrentMouseMode(); - foreach(QAction* action, m_ActionGroup->actions()) - { - if (action->data().toInt() == activeMode) - { - action->setChecked(true); - } - } - - m_ActionButtonBlocked = false; -}