#include <QmitkSliderNavigatorWidget.h>
Public Slots | |
void | Refetch () |
Updates the slider with the recent changes applied to the navigator. | |
void | SetStepper (mitk::Stepper *stepper) |
void | ShowLabels (bool show) |
void | ShowLabelUnit (bool show) |
En-/disables displaying of the unit label (range will be displayed without unit if enabled). | |
void | SetPos (int val) |
void | SetInverseDirection (bool inverseDirection) |
Public Member Functions | |
QmitkSliderNavigatorWidget (QWidget *parent=0, Qt::WindowFlags f=0) | |
QString | GetLabelUnit () |
QString | ClippedValueToString (float value) |
Converts the passed value to a QString representation. | |
QString | GetMinValueLabel () |
Returns range-minimum (displayed as label left of slider if enabled) | |
QString | GetMaxValueLabel () |
int | GetPos () |
Protected Slots | |
void | slider_valueChanged (int) |
void | SetLabelValues (float min, float max) |
Set range minimum and maximum (displayed as labels left and right of slider if enabled) | |
void | SetLabelValuesValid (bool minValid, bool maxValid) |
void | SetLabelUnit (const char *unit) |
Set range unit (e.g. mm or ms) which will be displayed below range labels if enabled. | |
void | SetLabels () |
Configure slider with labels according to range and unit settings. | |
void | spinBox_valueChanged (int) |
Protected Attributes | |
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 |
Definition at line 29 of file QmitkSliderNavigatorWidget.h.
QmitkSliderNavigatorWidget::QmitkSliderNavigatorWidget | ( | QWidget * | parent = 0 , |
Qt::WindowFlags | f = 0 |
||
) |
Definition at line 20 of file QmitkSliderNavigatorWidget.cpp.
References m_HasLabels, m_HasLabelUnit, m_InRefetch, m_InverseDirection, SetLabelValuesValid(), Ui_QmitkSliderNavigator::setupUi(), and ShowLabels().
: QWidget(parent, f) { this->setupUi(this); // this avoids trying to use m_Stepper until it is set to something != NULL // (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; }
QString QmitkSliderNavigatorWidget::ClippedValueToString | ( | float | value ) |
Converts the passed value to a QString representation.
If the value exceeds a certain maximum, "INF" (for "infinity") is displayed instead.
Definition at line 165 of file QmitkSliderNavigatorWidget.cpp.
Referenced by GetMaxValueLabel(), and GetMinValueLabel().
{ if ( value < -10000000.0 ) { return "-INF"; } else if ( value > 10000000.0 ) { return "+INF"; } else { return QString::number( value, 'f', 2 ); } }
QString QmitkSliderNavigatorWidget::GetLabelUnit | ( | ) |
Definition at line 160 of file QmitkSliderNavigatorWidget.cpp.
References m_LabelUnit.
Referenced by SetLabels().
{ return m_LabelUnit; }
QString QmitkSliderNavigatorWidget::GetMaxValueLabel | ( | ) |
Definition at line 193 of file QmitkSliderNavigatorWidget.cpp.
References ClippedValueToString(), m_MaxValue, and m_MaxValueValid.
Referenced by SetLabels().
{ if ( m_MaxValueValid ) { return this->ClippedValueToString( m_MaxValue ); } else { return "N/A"; } }
QString QmitkSliderNavigatorWidget::GetMinValueLabel | ( | ) |
Returns range-minimum (displayed as label left of slider if enabled)
Definition at line 181 of file QmitkSliderNavigatorWidget.cpp.
References ClippedValueToString(), m_MinValue, and m_MinValueValid.
Referenced by SetLabels().
{ if ( m_MinValueValid ) { return this->ClippedValueToString( m_MinValue ); } else { return "N/A"; } }
int QmitkSliderNavigatorWidget::GetPos | ( | ) |
Definition at line 252 of file QmitkSliderNavigatorWidget.cpp.
References m_Stepper.
Referenced by QmitkSliceWidget::wheelEvent().
{ return m_Stepper->GetPos(); }
void QmitkSliderNavigatorWidget::Refetch | ( | ) | [slot] |
Updates the slider with the recent changes applied to the navigator.
Intended to be called via event mechanism, e.g. if the connected mitk::Stepper is modified.
Definition at line 40 of file QmitkSliderNavigatorWidget.cpp.
References m_HasLabels, m_InRefetch, m_InverseDirection, Ui_QmitkSliderNavigator::m_Slider, Ui_QmitkSliderNavigator::m_SliderLabelLeft, Ui_QmitkSliderNavigator::m_SliderLabelRight, Ui_QmitkSliderNavigator::m_SpinBox, m_Stepper, SetLabels(), SetLabelUnit(), SetLabelValues(), and SetLabelValuesValid().
Referenced by slider_valueChanged(), and spinBox_valueChanged().
{ if ( !m_InRefetch ) { m_InRefetch = true; m_Slider->setMinimum( 0 ); 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->setMinimum( 0 ); 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::SetInverseDirection | ( | bool | inverseDirection ) | [slot] |
Definition at line 265 of file QmitkSliderNavigatorWidget.cpp.
References m_InverseDirection.
Referenced by QmitkImageNavigatorView::CreateQtPartControl().
{ m_InverseDirection = inverseDirection; }
void QmitkSliderNavigatorWidget::SetLabels | ( | ) | [protected, slot] |
Configure slider with labels according to range and unit settings.
Definition at line 205 of file QmitkSliderNavigatorWidget.cpp.
References GetLabelUnit(), GetMaxValueLabel(), GetMinValueLabel(), m_HasLabelUnit, m_MaxValueValid, m_MinValueValid, Ui_QmitkSliderNavigator::m_SliderLabelLeft, Ui_QmitkSliderNavigator::m_SliderLabelRight, and m_Stepper.
Referenced by Refetch().
{ QString minText = "<p align='center'><font size='2'>" + this->GetMinValueLabel(); QString maxText = "<p align='center'><font size='2'>" + this->GetMaxValueLabel(); if ( m_HasLabelUnit ) { minText += " " + this->GetLabelUnit(); maxText += " " + this->GetLabelUnit(); } if ( m_MinValueValid ) { minText += "<br>(pos 0)"; } if ( m_MaxValueValid ) { maxText += "<br>(pos " + QString::number( m_Stepper->GetSteps() - 1 ) + ")"; } minText += "</font></p>"; maxText += "</font></p>"; m_SliderLabelLeft->setText( minText ); m_SliderLabelRight->setText( maxText ); }
void QmitkSliderNavigatorWidget::SetLabelUnit | ( | const char * | unit ) | [protected, slot] |
Set range unit (e.g. mm or ms) which will be displayed below range labels if enabled.
Definition at line 155 of file QmitkSliderNavigatorWidget.cpp.
References m_LabelUnit.
Referenced by Refetch().
{ m_LabelUnit = unit; }
void QmitkSliderNavigatorWidget::SetLabelValues | ( | float | min, |
float | max | ||
) | [protected, slot] |
Set range minimum and maximum (displayed as labels left and right of slider if enabled)
Definition at line 143 of file QmitkSliderNavigatorWidget.cpp.
References m_MaxValue, m_MinValue, QuadProgPP::max(), and min.
Referenced by Refetch().
{ m_MinValue = min; m_MaxValue = max; }
void QmitkSliderNavigatorWidget::SetLabelValuesValid | ( | bool | minValid, |
bool | maxValid | ||
) | [protected, slot] |
Definition at line 149 of file QmitkSliderNavigatorWidget.cpp.
References m_MaxValueValid, and m_MinValueValid.
Referenced by QmitkSliderNavigatorWidget(), and Refetch().
{ m_MinValueValid = minValid; m_MaxValueValid = maxValid; }
void QmitkSliderNavigatorWidget::SetPos | ( | int | val ) | [slot] |
Definition at line 257 of file QmitkSliderNavigatorWidget.cpp.
References m_InRefetch, and m_Stepper.
Referenced by QmitkSliceWidget::wheelEvent().
{ if (!m_InRefetch) { m_Stepper->SetPos( val ); } }
void QmitkSliderNavigatorWidget::SetStepper | ( | mitk::Stepper * | stepper ) | [slot] |
Definition at line 106 of file QmitkSliderNavigatorWidget.cpp.
References m_InRefetch, and m_Stepper.
{ m_Stepper = stepper; // this avoids trying to use m_Stepper until it is set to something != NULL // (additionally to the avoiding recursions during refetching) m_InRefetch = (stepper==NULL); }
void QmitkSliderNavigatorWidget::ShowLabels | ( | bool | show ) | [slot] |
Definition at line 133 of file QmitkSliderNavigatorWidget.cpp.
References m_HasLabels.
Referenced by QmitkSliderNavigatorWidget().
{ m_HasLabels = show; }
void QmitkSliderNavigatorWidget::ShowLabelUnit | ( | bool | show ) | [slot] |
En-/disables displaying of the unit label (range will be displayed without unit if enabled).
Definition at line 138 of file QmitkSliderNavigatorWidget.cpp.
References m_HasLabelUnit.
{ m_HasLabelUnit = show; }
void QmitkSliderNavigatorWidget::slider_valueChanged | ( | int | ) | [protected, slot] |
Definition at line 116 of file QmitkSliderNavigatorWidget.cpp.
References m_InRefetch, m_InverseDirection, Ui_QmitkSliderNavigator::m_Slider, m_Stepper, and Refetch().
{ 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::spinBox_valueChanged | ( | int | ) | [protected, slot] |
Definition at line 236 of file QmitkSliderNavigatorWidget.cpp.
References m_InRefetch, m_InverseDirection, Ui_QmitkSliderNavigator::m_SpinBox, m_Stepper, and Refetch().
{ 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(); } }
bool QmitkSliderNavigatorWidget::m_HasLabels [protected] |
Definition at line 114 of file QmitkSliderNavigatorWidget.h.
Referenced by QmitkSliderNavigatorWidget(), Refetch(), and ShowLabels().
bool QmitkSliderNavigatorWidget::m_HasLabelUnit [protected] |
Definition at line 108 of file QmitkSliderNavigatorWidget.h.
Referenced by QmitkSliderNavigatorWidget(), SetLabels(), and ShowLabelUnit().
bool QmitkSliderNavigatorWidget::m_InRefetch [protected] |
Definition at line 113 of file QmitkSliderNavigatorWidget.h.
Referenced by QmitkSliderNavigatorWidget(), Refetch(), SetPos(), SetStepper(), slider_valueChanged(), and spinBox_valueChanged().
bool QmitkSliderNavigatorWidget::m_InverseDirection [protected] |
Definition at line 118 of file QmitkSliderNavigatorWidget.h.
Referenced by QmitkSliderNavigatorWidget(), Refetch(), SetInverseDirection(), slider_valueChanged(), and spinBox_valueChanged().
QString QmitkSliderNavigatorWidget::m_LabelUnit [protected] |
Definition at line 111 of file QmitkSliderNavigatorWidget.h.
Referenced by GetLabelUnit(), and SetLabelUnit().
float QmitkSliderNavigatorWidget::m_MaxValue [protected] |
Definition at line 116 of file QmitkSliderNavigatorWidget.h.
Referenced by GetMaxValueLabel(), and SetLabelValues().
bool QmitkSliderNavigatorWidget::m_MaxValueValid [protected] |
Definition at line 109 of file QmitkSliderNavigatorWidget.h.
Referenced by GetMaxValueLabel(), SetLabels(), and SetLabelValuesValid().
float QmitkSliderNavigatorWidget::m_MinValue [protected] |
Definition at line 115 of file QmitkSliderNavigatorWidget.h.
Referenced by GetMinValueLabel(), and SetLabelValues().
bool QmitkSliderNavigatorWidget::m_MinValueValid [protected] |
Definition at line 110 of file QmitkSliderNavigatorWidget.h.
Referenced by GetMinValueLabel(), SetLabels(), and SetLabelValuesValid().
mitk::Stepper::Pointer QmitkSliderNavigatorWidget::m_Stepper [protected] |
Definition at line 112 of file QmitkSliderNavigatorWidget.h.
Referenced by GetPos(), Refetch(), SetLabels(), SetPos(), SetStepper(), slider_valueChanged(), and spinBox_valueChanged().