diff --git a/Modules/QtWidgetsExt/files.cmake b/Modules/QtWidgetsExt/files.cmake index e8bd9dd1f6..cef73672bd 100644 --- a/Modules/QtWidgetsExt/files.cmake +++ b/Modules/QtWidgetsExt/files.cmake @@ -1,106 +1,109 @@ file(GLOB_RECURSE H_FILES RELATIVE "${CMAKE_CURRENT_SOURCE_DIR}" "${CMAKE_CURRENT_SOURCE_DIR}/include/*") set(CPP_FILES qclickablelabel.cpp QmitkAboutDialog.cpp QmitkBasePropertyView.cpp QmitkBoolPropertyWidget.cpp QmitkBoundingObjectWidget.cpp QmitkCallbackFromGUIThread.cpp QmitkColorPropertyEditor.cpp QmitkColorPropertyView.cpp QmitkColorTransferFunctionCanvas.cpp QmitkCrossWidget.cpp QmitkEditPointDialog.cpp QmitkEnumerationPropertyWidget.cpp QmitkFFmpegWriter.cpp QmitkFileChooser.cpp QmitkGnuplotWidget.cpp QmitkHistogram.cpp QmitkHotkeyLineEdit.cpp QmitkModulesDialog.cpp QmitkModuleTableModel.cpp QmitkNumberPropertyEditor.cpp QmitkNumberPropertySlider.cpp QmitkNumberPropertyView.cpp QmitkPiecewiseFunctionCanvas.cpp QmitkPlotDialog.cpp QmitkPlotWidget.cpp QmitkPointListModel.cpp QmitkPointListView.cpp QmitkPointListViewWidget.cpp QmitkPointListWidget.cpp QmitkPrimitiveMovieNavigatorWidget.cpp QmitkPropertyViewFactory.cpp QmitkSelectableGLWidget.cpp QmitkSliceWidget.cpp QmitkSliderNavigatorWidget.cpp + QmitkSliderSpinboxWidget.cpp QmitkStandardViews.cpp QmitkStepperAdapter.cpp QmitkStringPropertyEditor.cpp QmitkStringPropertyOnDemandEdit.cpp QmitkStringPropertyView.cpp QmitkTransferFunctionCanvas.cpp QmitkTransferFunctionGeneratorWidget.cpp QmitkTransferFunctionWidget.cpp QmitkUGCombinedRepresentationPropertyWidget.cpp QmitkVideoBackground.cpp QtWidgetsExtRegisterClasses.cpp ) set(MOC_H_FILES include/qclickablelabel.h include/QmitkAboutDialog.h include/QmitkBasePropertyView.h include/QmitkBoolPropertyWidget.h include/QmitkBoundingObjectWidget.h include/QmitkCallbackFromGUIThread.h include/QmitkColorPropertyEditor.h include/QmitkColorPropertyView.h include/QmitkColorTransferFunctionCanvas.h include/QmitkCrossWidget.h include/QmitkEditPointDialog.h include/QmitkEnumerationPropertyWidget.h include/QmitkFFmpegWriter.h include/QmitkFileChooser.h include/QmitkGnuplotWidget.h include/QmitkHotkeyLineEdit.h include/QmitkNumberPropertyEditor.h include/QmitkNumberPropertySlider.h include/QmitkNumberPropertyView.h include/QmitkPiecewiseFunctionCanvas.h include/QmitkPlotWidget.h include/QmitkPointListModel.h include/QmitkPointListView.h include/QmitkPointListViewWidget.h include/QmitkPointListWidget.h include/QmitkPrimitiveMovieNavigatorWidget.h include/QmitkSelectableGLWidget.h include/QmitkSliceWidget.h include/QmitkSliderNavigatorWidget.h + include/QmitkSliderSpinboxWidget.h include/QmitkStandardViews.h include/QmitkStepperAdapter.h include/QmitkStringPropertyEditor.h include/QmitkStringPropertyOnDemandEdit.h include/QmitkStringPropertyView.h include/QmitkTransferFunctionCanvas.h include/QmitkTransferFunctionGeneratorWidget.h include/QmitkTransferFunctionWidget.h include/QmitkUGCombinedRepresentationPropertyWidget.h include/QmitkVideoBackground.h ) set(UI_FILES src/QmitkAboutDialogGUI.ui src/QmitkGnuplotWidget.ui src/QmitkPrimitiveMovieNavigatorWidget.ui src/QmitkSelectableGLWidget.ui src/QmitkSliceWidget.ui src/QmitkSliderNavigator.ui + src/QmitkSliderSpinboxWidget.ui src/QmitkTransferFunctionGeneratorWidget.ui src/QmitkTransferFunctionWidget.ui ) set(QRC_FILES resource/QtWidgetsExt.qrc ) diff --git a/Modules/QtWidgetsExt/include/QmitkSliderSpinboxWidget.h b/Modules/QtWidgetsExt/include/QmitkSliderSpinboxWidget.h new file mode 100644 index 0000000000..3af1c8b337 --- /dev/null +++ b/Modules/QtWidgetsExt/include/QmitkSliderSpinboxWidget.h @@ -0,0 +1,43 @@ +/*=================================================================== + +The Medical Imaging Interaction Toolkit (MITK) + +Copyright (c) German Cancer Research Center, +Division of Medical and Biological Informatics. +All rights reserved. + +This software is distributed WITHOUT ANY WARRANTY; without +even the implied warranty of MERCHANTABILITY or FITNESS FOR +A PARTICULAR PURPOSE. + +See LICENSE.txt or http://www.mitk.org for details. + +===================================================================*/ + +#ifndef QMITKSLIDERSPINBOXWIDGET_H_ +#define QMITKSLIDERSPINBOXWIDGET_H_ + +#include "MitkQtWidgetsExtExports.h" +#include "ui_QmitkSliderSpinboxWidget.h" + +#include + +class MITKQTWIDGETSEXT_EXPORT QmitkSliderSpinboxWidget : public QWidget +{ + Q_OBJECT + +public: + QmitkSliderSpinboxWidget(QWidget *parent = 0, int min = 0, int max = 10, int initValue = 0, const QString& labelText=""); + void SetMin(int min); + void SetMax(int max); + void SetValue(int value); + void SetLabelText(const QString& text); + +protected: + void CreateConnections(); + +private: + Ui::QmitkSliderSpinboxControls m_Controls; +}; + +#endif //QMITKSLIDERSPINBOXWIDGET_H_ diff --git a/Modules/QtWidgetsExt/src/QmitkSliderSpinboxWidget.cpp b/Modules/QtWidgetsExt/src/QmitkSliderSpinboxWidget.cpp new file mode 100644 index 0000000000..b755d3e1f3 --- /dev/null +++ b/Modules/QtWidgetsExt/src/QmitkSliderSpinboxWidget.cpp @@ -0,0 +1,56 @@ +/*=================================================================== + +The Medical Imaging Interaction Toolkit (MITK) + +Copyright (c) German Cancer Research Center, +Division of Medical and Biological Informatics. +All rights reserved. + +This software is distributed WITHOUT ANY WARRANTY; without +even the implied warranty of MERCHANTABILITY or FITNESS FOR +A PARTICULAR PURPOSE. + +See LICENSE.txt or http://www.mitk.org for details. + +===================================================================*/ + +#include "QmitkSliderSpinboxWidget.h" +#include + +QmitkSliderSpinboxWidget::QmitkSliderSpinboxWidget(QWidget *parent, int min, int max, int initValue, const QString& labelText) : QWidget(parent) +{ + m_Controls.setupUi(this); + SetMin(min); + SetMax(max); + SetValue(initValue); + SetLabelText(labelText); + + CreateConnections(); +} + +void QmitkSliderSpinboxWidget::SetMin(int min) +{ + m_Controls.horizontalSlider->setMinimum(min); + m_Controls.spinBox->setMinimum(min); +} + +void QmitkSliderSpinboxWidget::SetMax(int max) +{ + m_Controls.horizontalSlider->setMaximum(max); + m_Controls.spinBox->setMaximum(max); +} +void QmitkSliderSpinboxWidget::SetValue(int value) +{ + m_Controls.horizontalSlider->setValue(value); + m_Controls.spinBox->setValue(value); +} + +void QmitkSliderSpinboxWidget::SetLabelText(const QString& text) { + m_Controls.label->setText(text); +} + +void QmitkSliderSpinboxWidget::CreateConnections() +{ + connect(m_Controls.horizontalSlider, &QSlider::valueChanged, m_Controls.spinBox, &QSpinBox::setValue); + connect(m_Controls.spinBox, QOverload::of(&QSpinBox::valueChanged), m_Controls.horizontalSlider, &QSlider::setValue); +} diff --git a/Modules/QtWidgetsExt/src/QmitkSliderSpinboxWidget.ui b/Modules/QtWidgetsExt/src/QmitkSliderSpinboxWidget.ui new file mode 100644 index 0000000000..4c28a860fe --- /dev/null +++ b/Modules/QtWidgetsExt/src/QmitkSliderSpinboxWidget.ui @@ -0,0 +1,38 @@ + + + QmitkSliderSpinboxControls + + + + 0 + 0 + 455 + 97 + + + + Form + + + + + + + + + + + + + Qt::Horizontal + + + + + + + + + + +