#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().
1.7.2