diff --git a/Modules/QtWidgets/files.cmake b/Modules/QtWidgets/files.cmake index c5f1d77a71..7c9b965120 100644 --- a/Modules/QtWidgets/files.cmake +++ b/Modules/QtWidgets/files.cmake @@ -1,155 +1,155 @@ 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 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 QmitkRenderWindowDataStorageTreeModel.cpp QmitkRenderingManagerFactory.cpp QmitkRenderWindow.cpp QmitkRenderWindowMenu.cpp QmitkRenderWindowUtilityWidget.cpp QmitkRenderWindowWidget.cpp QmitkRenderWindowContextDataStorageInspector.cpp mitkRenderWindowLayerController.cpp mitkRenderWindowLayerUtilities.cpp mitkRenderWindowViewDirectionController.cpp QmitkServiceListWidget.cpp + QmitkSliceNavigationWidget.cpp QmitkSliderLevelWindowWidget.cpp - QmitkSliderNavigatorWidget.cpp QmitkStdMultiWidget.cpp QmitkStepperAdapter.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/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/QmitkRenderWindowDataStorageTreeModel.h include/QmitkRenderWindowMenu.h include/QmitkRenderWindowUtilityWidget.h include/QmitkRenderWindowWidget.h include/QmitkRenderWindowContextDataStorageInspector.h include/mitkRenderWindowLayerController.h include/mitkRenderWindowLayerUtilities.h include/mitkRenderWindowViewDirectionController.h include/QmitkServiceListWidget.h + include/QmitkSliceNavigationWidget.h include/QmitkSliderLevelWindowWidget.h - include/QmitkSliderNavigatorWidget.h include/QmitkStdMultiWidget.h include/QmitkMxNMultiWidget.h include/QmitkStepperAdapter.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/QmitkRenderWindowContextDataStorageInspector.ui src/QmitkServiceListWidgetControls.ui - src/QmitkSliderNavigator.ui + src/QmitkSliceNavigationWidget.ui src/QmitkDataStorageListInspector.ui src/QmitkDataStorageTreeInspector.ui src/QmitkDataStorageSelectionHistoryInspector.ui ) set(QRC_FILES resource/Qmitk.qrc ) diff --git a/Modules/QtWidgets/include/QmitkSliderNavigatorWidget.h b/Modules/QtWidgets/include/QmitkSliceNavigationWidget.h similarity index 87% rename from Modules/QtWidgets/include/QmitkSliderNavigatorWidget.h rename to Modules/QtWidgets/include/QmitkSliceNavigationWidget.h index bdc105e109..558f504354 100644 --- a/Modules/QtWidgets/include/QmitkSliderNavigatorWidget.h +++ b/Modules/QtWidgets/include/QmitkSliceNavigationWidget.h @@ -1,122 +1,122 @@ /*============================================================================ 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 QMITKSLIDERNAVIGATORWIDGET_H_ -#define QMITKSLIDERNAVIGATORWIDGET_H_ +#ifndef QMITKSLICENAVIGATIONWIDGET_H +#define QMITKSLICENAVIGATIONWIDGET_H -#include "ui_QmitkSliderNavigator.h" #include "MitkQtWidgetsExports.h" +#include "ui_QmitkSliceNavigationWidget.h" #include #include #include -class MITKQTWIDGETS_EXPORT QmitkSliderNavigatorWidget : public QWidget, public Ui::QmitkSliderNavigator +class MITKQTWIDGETS_EXPORT QmitkSliceNavigationWidget : public QWidget, public Ui::QmitkSliceNavigationWidget { Q_OBJECT public: - QmitkSliderNavigatorWidget(QWidget *parent = nullptr, Qt::WindowFlags f = nullptr); + QmitkSliceNavigationWidget(QWidget *parent = nullptr, Qt::WindowFlags f = nullptr); QString GetLabelUnit(); /** * \brief Converts the passed value to a QString representation. * * If the value exceeds a certain maximum, "INF" (for "infinity") is displayed * instead. */ QString ClippedValueToString(float value); /** * \brief Returns range-minimum (displayed as label left of slider if enabled) */ QString GetMinValueLabel(); QString GetMaxValueLabel(); int GetPos(); bool GetInverseDirection() const; bool GetInvertedControls() const; public slots: /** - * \brief Updates the slider with the recent changes applied to the navigator. + * \brief Updates the slider with the recent changes applied to the navigation widget. * * Intended to be called via event mechanism, e.g. if the connected * mitk::Stepper is modified. */ void Refetch(); void SetStepper(mitk::Stepper *stepper); void ShowLabels(bool show); /** * \brief En-/disables displaying of the unit label (range will be displayed * without unit if enabled). */ void ShowLabelUnit(bool show); void SetPos(int val); void SetInverseDirection(bool inverseDirection); void SetInvertedControls(bool invertedControls); protected slots: void slider_valueChanged(double); /** * \brief Set range minimum and maximum (displayed as labels left and right * of slider if enabled) */ void SetLabelValues(float min, float max); void SetLabelValuesValid(bool minValid, bool maxValid); /** * \brief Set range unit (e.g. mm or ms) which will be displayed below range * labels if enabled. */ void SetLabelUnit(const char *unit); /** * \brief Configure slider with labels according to range and unit settings */ void SetLabels(); void spinBox_valueChanged(double); protected: bool m_HasLabelUnit; bool m_MaxValueValid; bool m_MinValueValid; QString m_LabelUnit; mitk::Stepper::Pointer m_Stepper; bool m_InRefetch; bool m_HasLabels; float m_MinValue; float m_MaxValue; bool m_InverseDirection; bool m_InvertedControls; }; -#endif +#endif // QMITKSLICENAVIGATIONWIDGET_H diff --git a/Modules/QtWidgets/src/QmitkSliderNavigatorWidget.cpp b/Modules/QtWidgets/src/QmitkSliceNavigationWidget.cpp similarity index 81% rename from Modules/QtWidgets/src/QmitkSliderNavigatorWidget.cpp rename to Modules/QtWidgets/src/QmitkSliceNavigationWidget.cpp index 4d3b9e244c..55cc102d91 100644 --- a/Modules/QtWidgets/src/QmitkSliderNavigatorWidget.cpp +++ b/Modules/QtWidgets/src/QmitkSliceNavigationWidget.cpp @@ -1,307 +1,307 @@ /*============================================================================ 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 "QmitkSliderNavigatorWidget.h" +#include "QmitkSliceNavigationWidget.h" -QmitkSliderNavigatorWidget::QmitkSliderNavigatorWidget(QWidget *parent, Qt::WindowFlags f) : QWidget(parent, f) +QmitkSliceNavigationWidget::QmitkSliceNavigationWidget(QWidget *parent, Qt::WindowFlags f) : QWidget(parent, f) { this->setupUi(this); m_Slider->setOrientation(Qt::Horizontal); m_Slider->setMinimum(0); m_Slider->setMaximum(0); m_Slider->setValue(0); m_Slider->setSingleStep(1); m_Slider->setPageStep(10); m_SpinBox->setMinimum( 0 ); m_SpinBox->setMaximum(0); m_SpinBox->setValue(0); m_SpinBox->setDecimals(0); m_SpinBox->setSingleStep(1); this->connect(m_Slider, SIGNAL(valueChanged(double)), SLOT(slider_valueChanged(double))); this->connect(m_SpinBox, SIGNAL(valueChanged(double)), SLOT(spinBox_valueChanged(double))); // this avoids trying to use m_Stepper until it is set to something != nullptr // (additionally to the avoiding recursions during refetching) m_InRefetch = true; // Hide slider labeling -- until it is explicitly activated this->ShowLabels(false); // Set label values as invalid (N/A) this->SetLabelValuesValid(false, false); m_HasLabels = false; m_HasLabelUnit = true; m_InverseDirection = false; m_InvertedControls = false; } -void QmitkSliderNavigatorWidget::Refetch() +void QmitkSliceNavigationWidget::Refetch() { if (!m_InRefetch) { m_InRefetch = true; if (m_Stepper->GetSteps() == 0) { m_Slider->setMaximum(0); m_Slider->setValue(0); m_SpinBox->setMaximum(0); m_SpinBox->setValue(0); } else { m_Slider->setMaximum(m_Stepper->GetSteps() - 1); if (m_InverseDirection) { m_Slider->setValue(m_Stepper->GetSteps() - 1 - m_Stepper->GetPos()); } else { m_Slider->setValue(m_Stepper->GetPos()); } m_SpinBox->setMaximum(m_Stepper->GetSteps() - 1); if (m_InverseDirection) { m_SpinBox->setValue(m_Stepper->GetSteps() - 1 - m_Stepper->GetPos()); } else { m_SpinBox->setValue(m_Stepper->GetPos()); } } if (m_Stepper->HasRange() && m_HasLabels) { // Show slider with labels according to below settings m_SliderLabelLeft->setHidden(false); m_SliderLabelRight->setHidden(false); if (m_Stepper->HasValidRange()) { this->SetLabelValuesValid(true, true); this->SetLabelValues(m_Stepper->GetRangeMin(), m_Stepper->GetRangeMax()); } else { this->SetLabelValuesValid(false, false); } if (m_Stepper->HasUnitName()) { this->SetLabelUnit(m_Stepper->GetUnitName()); } } else { // Show slider without any labels m_SliderLabelLeft->setHidden(true); m_SliderLabelRight->setHidden(true); } // Update GUI according to above settings this->SetLabels(); m_InRefetch = false; } } -void QmitkSliderNavigatorWidget::SetStepper(mitk::Stepper *stepper) +void QmitkSliceNavigationWidget::SetStepper(mitk::Stepper *stepper) { m_Stepper = stepper; // this avoids trying to use m_Stepper until it is set to something != nullptr // (additionally to the avoiding recursions during refetching) m_InRefetch = (stepper == nullptr); } -void QmitkSliderNavigatorWidget::slider_valueChanged(double) +void QmitkSliceNavigationWidget::slider_valueChanged(double) { if (!m_InRefetch) { if (m_InverseDirection) { m_Stepper->SetPos(m_Stepper->GetSteps() - 1 - m_Slider->value()); } else { m_Stepper->SetPos(m_Slider->value()); } this->Refetch(); } } -void QmitkSliderNavigatorWidget::ShowLabels(bool show) +void QmitkSliceNavigationWidget::ShowLabels(bool show) { m_HasLabels = show; } -void QmitkSliderNavigatorWidget::ShowLabelUnit(bool show) +void QmitkSliceNavigationWidget::ShowLabelUnit(bool show) { m_HasLabelUnit = show; } -void QmitkSliderNavigatorWidget::SetLabelValues(float min, float max) +void QmitkSliceNavigationWidget::SetLabelValues(float min, float max) { m_MinValue = min; m_MaxValue = max; } -void QmitkSliderNavigatorWidget::SetLabelValuesValid(bool minValid, bool maxValid) +void QmitkSliceNavigationWidget::SetLabelValuesValid(bool minValid, bool maxValid) { m_MinValueValid = minValid; m_MaxValueValid = maxValid; } -void QmitkSliderNavigatorWidget::SetLabelUnit(const char *unit) +void QmitkSliceNavigationWidget::SetLabelUnit(const char *unit) { m_LabelUnit = unit; } -QString QmitkSliderNavigatorWidget::GetLabelUnit() +QString QmitkSliceNavigationWidget::GetLabelUnit() { return m_LabelUnit; } -QString QmitkSliderNavigatorWidget::ClippedValueToString(float value) +QString QmitkSliceNavigationWidget::ClippedValueToString(float value) { if (value < -10000000.0) { return "-INF"; } else if (value > 10000000.0) { return "+INF"; } else { return QString::number(value, 'f', 2); } } -QString QmitkSliderNavigatorWidget::GetMinValueLabel() +QString QmitkSliceNavigationWidget::GetMinValueLabel() { if (m_MinValueValid) { return this->ClippedValueToString(m_MinValue); } else { return "N/A"; } } -QString QmitkSliderNavigatorWidget::GetMaxValueLabel() +QString QmitkSliceNavigationWidget::GetMaxValueLabel() { if (m_MaxValueValid) { return this->ClippedValueToString(m_MaxValue); } else { return "N/A"; } } -void QmitkSliderNavigatorWidget::SetLabels() +void QmitkSliceNavigationWidget::SetLabels() { QString minText = "

" + this->GetMinValueLabel(); QString maxText = "

" + this->GetMaxValueLabel(); if (m_HasLabelUnit) { minText += " " + this->GetLabelUnit(); maxText += " " + this->GetLabelUnit(); } if (m_MinValueValid) { minText += "
(pos 0)"; } if (m_MaxValueValid) { maxText += "
(pos " + QString::number(m_Stepper->GetSteps() - 1) + ")"; } minText += "

"; maxText += "

"; m_SliderLabelLeft->setText(minText); m_SliderLabelRight->setText(maxText); } -void QmitkSliderNavigatorWidget::spinBox_valueChanged(double) +void QmitkSliceNavigationWidget::spinBox_valueChanged(double) { if (!m_InRefetch) { if (m_InverseDirection) { m_Stepper->SetPos(m_Stepper->GetSteps() - 1 - m_SpinBox->value()); } else { m_Stepper->SetPos(m_SpinBox->value()); } this->Refetch(); } } -int QmitkSliderNavigatorWidget::GetPos() +int QmitkSliceNavigationWidget::GetPos() { return m_Stepper->GetPos(); } -void QmitkSliderNavigatorWidget::SetPos(int val) +void QmitkSliceNavigationWidget::SetPos(int val) { if (!m_InRefetch) { m_Stepper->SetPos(val); } } -bool QmitkSliderNavigatorWidget::GetInverseDirection() const +bool QmitkSliceNavigationWidget::GetInverseDirection() const { return m_InverseDirection; } -void QmitkSliderNavigatorWidget::SetInverseDirection(bool inverseDirection) +void QmitkSliceNavigationWidget::SetInverseDirection(bool inverseDirection) { if (inverseDirection != m_InverseDirection) { m_InverseDirection = inverseDirection; this->Refetch(); } } -bool QmitkSliderNavigatorWidget::GetInvertedControls() const +bool QmitkSliceNavigationWidget::GetInvertedControls() const { return m_InvertedControls; } -void QmitkSliderNavigatorWidget::SetInvertedControls(bool invertedControls) +void QmitkSliceNavigationWidget::SetInvertedControls(bool invertedControls) { if (invertedControls != m_InvertedControls) { m_InvertedControls = invertedControls; m_Slider->setInvertedAppearance(invertedControls); m_Slider->setInvertedControls(invertedControls); m_SpinBox->setInvertedControls(invertedControls); } } diff --git a/Modules/QtWidgets/src/QmitkSliderNavigator.ui b/Modules/QtWidgets/src/QmitkSliceNavigationWidget.ui similarity index 96% rename from Modules/QtWidgets/src/QmitkSliderNavigator.ui rename to Modules/QtWidgets/src/QmitkSliceNavigationWidget.ui index fcb08fc3da..382b96a4aa 100644 --- a/Modules/QtWidgets/src/QmitkSliderNavigator.ui +++ b/Modules/QtWidgets/src/QmitkSliceNavigationWidget.ui @@ -1,151 +1,151 @@ - QmitkSliderNavigator - + QmitkSliceNavigationWidget + 0 0 235 137 0 0 0 0 32767 32767 - QmitkSliderNavigator + QmitkSliceNavigation 2 2 2 2 0 0 0 true 0 0 45 0 45 32767 <p align="center">XXX</p> false 0 0 0 0 45 0 45 32767 <p align="center">XXX</p> false ctkDoubleSlider QWidget
ctkDoubleSlider.h
1
ctkDoubleSpinBox QWidget
ctkDoubleSpinBox.h
1
mitkStepper.h