#include <QmitkNumberPropertyEditor.h>
Definition at line 26 of file QmitkNumberPropertyEditor.h.
QmitkNumberPropertyEditor::QmitkNumberPropertyEditor | ( | mitk::IntProperty * | property, |
QWidget * | parent | ||
) |
Definition at line 38 of file QmitkNumberPropertyEditor.cpp.
References initialize().
: QSpinBox( parent ), PropertyEditor( property ), m_IntProperty(property), m_DataType(DT_INT) { initialize(); }
QmitkNumberPropertyEditor::QmitkNumberPropertyEditor | ( | mitk::FloatProperty * | property, |
QWidget * | parent | ||
) |
Definition at line 47 of file QmitkNumberPropertyEditor.cpp.
References initialize().
: QSpinBox( parent ), PropertyEditor( property ), m_FloatProperty(property), m_DataType(DT_FLOAT) { initialize(); }
QmitkNumberPropertyEditor::QmitkNumberPropertyEditor | ( | mitk::DoubleProperty * | property, |
QWidget * | parent | ||
) |
Definition at line 56 of file QmitkNumberPropertyEditor.cpp.
References initialize().
: QSpinBox( parent ), PropertyEditor( property ), m_DoubleProperty(property), m_DataType(DT_DOUBLE) { initialize(); }
QmitkNumberPropertyEditor::~QmitkNumberPropertyEditor | ( | ) | [virtual] |
Definition at line 65 of file QmitkNumberPropertyEditor.cpp.
{ }
void QmitkNumberPropertyEditor::DisplayNumber | ( | ) | [protected] |
Definition at line 282 of file QmitkNumberPropertyEditor.cpp.
References DT_DOUBLE, DT_FLOAT, DT_INT, mitk::GenericProperty< T >::GetValue(), m_DataType, m_DoubleProperty, m_FloatProperty, m_IntProperty, mitk::PropertyEditor::m_Property, and setDoubleValue().
Referenced by initialize(), PropertyChanged(), setDecimalPlaces(), and setShowPercent().
{ if (! m_Property ) return; m_SelfChangeLock = true; switch (m_DataType) { /* case DT_SHORT: { short s = m_ShortProperty->GetValue(); QSpinBox::setValue( s ); break; } */ case DT_INT: { int i = m_IntProperty->GetValue(); QSpinBox::setValue( i ); break; } case DT_FLOAT: { float f = m_FloatProperty->GetValue(); setDoubleValue( f ); break; } case DT_DOUBLE: { double d = m_DoubleProperty->GetValue(); setDoubleValue( d ); break; } default: break; } m_SelfChangeLock = false; }
double QmitkNumberPropertyEditor::doubleValue | ( | ) | const |
Definition at line 187 of file QmitkNumberPropertyEditor.cpp.
References m_FactorPropertyToSpinbox.
{ return static_cast<double>((QSpinBox::value()) / m_FactorPropertyToSpinbox ); }
short QmitkNumberPropertyEditor::getDecimalPlaces | ( | ) | const |
Definition at line 120 of file QmitkNumberPropertyEditor.cpp.
References m_DecimalPlaces.
{ return m_DecimalPlaces; }
bool QmitkNumberPropertyEditor::getShowPercent | ( | ) | const |
Definition at line 141 of file QmitkNumberPropertyEditor.cpp.
References m_ShowPercents.
{ return m_ShowPercents; }
void QmitkNumberPropertyEditor::initialize | ( | ) | [protected] |
Definition at line 69 of file QmitkNumberPropertyEditor.cpp.
References DisplayNumber(), m_DecimalPlaces, m_FactorPropertyToSpinbox, m_FactorSpinboxToDisplay, m_ShowPercents, and onValueChanged().
Referenced by QmitkNumberPropertyEditor().
{ // only to be called from constructors // spinbox settings //setValidator(0); setSuffix(""); // protected m_DecimalPlaces = 0; m_FactorPropertyToSpinbox = 1.0; m_FactorSpinboxToDisplay = 1.0; m_ShowPercents = false; // private m_SelfChangeLock = false; connect( this, SIGNAL(valueChanged(int)), this, SLOT(onValueChanged(int)) ); // display current value of our property DisplayNumber(); }
int QmitkNumberPropertyEditor::maxValue | ( | ) | const |
int QmitkNumberPropertyEditor::minValue | ( | ) | const |
void QmitkNumberPropertyEditor::onValueChanged | ( | int | value ) | [protected, slot] |
Definition at line 225 of file QmitkNumberPropertyEditor.cpp.
References mitk::PropertyObserver::BeginModifyProperty(), DT_DOUBLE, DT_FLOAT, DT_INT, mitk::PropertyObserver::EndModifyProperty(), mitk::RenderingManager::GetInstance(), m_DataType, m_DoubleProperty, m_FactorPropertyToSpinbox, m_FloatProperty, m_IntProperty, ROUND, and mitk::GenericProperty< T >::SetValue().
Referenced by initialize().
{ if (m_SelfChangeLock) return; // valueChanged is even emitted, when this widget initiates a change to its value // this may be useful some times, but in this use, it would be wrong: // (A) is an editor with 3 decimal places // (B) is an editor with 2 decimal places // User changes A's displayed value to 4.002 // A's onValueChanged gets called, sets the associated Property to 4.002 // B's onPropertyChanged gets called, sets its display to 4.00 // B's onValueChanged gets called and sets the associated Property to 4.00 // A's onPropertyChanged gets called, sets its display to 4.000 BeginModifyProperty(); double newValue( value / m_FactorPropertyToSpinbox ); switch (m_DataType) { /* case DT_SHORT: { m_ShortProperty->SetValue(ROUND_SHORT(newValue)); break; } */ case DT_INT: { m_IntProperty->SetValue(ROUND(newValue)); break; } case DT_FLOAT: { m_FloatProperty->SetValue(newValue); break; } case DT_DOUBLE: { m_DoubleProperty->SetValue(newValue); break; } } mitk::RenderingManager::GetInstance()->RequestUpdateAll(); EndModifyProperty(); }
void QmitkNumberPropertyEditor::PropertyChanged | ( | ) | [protected, virtual] |
Implements mitk::PropertyObserver.
Definition at line 271 of file QmitkNumberPropertyEditor.cpp.
References DisplayNumber(), and mitk::RenderingManager::GetInstance().
{ DisplayNumber(); mitk::RenderingManager::GetInstance()->RequestUpdateAll(); }
void QmitkNumberPropertyEditor::PropertyRemoved | ( | ) | [protected, virtual] |
Implements mitk::PropertyObserver.
Definition at line 277 of file QmitkNumberPropertyEditor.cpp.
References mitk::PropertyEditor::m_Property.
{ m_Property = NULL; }
void QmitkNumberPropertyEditor::setDecimalPlaces | ( | short | places ) |
Definition at line 125 of file QmitkNumberPropertyEditor.cpp.
References DisplayNumber(), DT_DOUBLE, DT_FLOAT, m_DataType, and m_ShowPercents.
Referenced by QmitkPropertyViewFactory::CreateEditor().
{ switch (m_DataType) { case DT_FLOAT: case DT_DOUBLE: { adjustFactors( places, m_ShowPercents ); DisplayNumber(); break; } default: break; } }
void QmitkNumberPropertyEditor::setDoubleValue | ( | double | value ) |
Definition at line 192 of file QmitkNumberPropertyEditor.cpp.
References m_FactorPropertyToSpinbox, and ROUND.
Referenced by DisplayNumber().
{ QSpinBox::setValue( ROUND( value * m_FactorPropertyToSpinbox ) ); //QSpinBox::updateDisplay(); }
void QmitkNumberPropertyEditor::setMaxValue | ( | int | value ) |
Definition at line 182 of file QmitkNumberPropertyEditor.cpp.
References m_FactorPropertyToSpinbox, and ROUND.
{ QSpinBox::setMaximum( ROUND( value * m_FactorPropertyToSpinbox ) ); }
void QmitkNumberPropertyEditor::setMinValue | ( | int | value ) |
Definition at line 172 of file QmitkNumberPropertyEditor.cpp.
References m_FactorPropertyToSpinbox, and ROUND.
{ QSpinBox::setMinimum( ROUND(value * m_FactorPropertyToSpinbox ) ); }
void QmitkNumberPropertyEditor::setShowPercent | ( | bool | showPercent ) |
Definition at line 146 of file QmitkNumberPropertyEditor.cpp.
References DisplayNumber(), DT_DOUBLE, DT_FLOAT, m_DataType, m_DecimalPlaces, and m_ShowPercents.
{ if ( showPercent == m_ShowPercents ) return; // nothing to change switch (m_DataType) { case DT_FLOAT: case DT_DOUBLE: { adjustFactors( m_DecimalPlaces, showPercent ); break; } default: { break; } } DisplayNumber(); }
QString QmitkNumberPropertyEditor::textFromValue | ( | int | value ) | const [protected, virtual] |
Definition at line 198 of file QmitkNumberPropertyEditor.cpp.
References m_DecimalPlaces, m_FactorSpinboxToDisplay, and ROUND.
{ QString displayedText; QTextStream stream(&displayedText); double d( value * m_FactorSpinboxToDisplay ); if ( m_DecimalPlaces > 0 ) { // QString formatString; // formatString.sprintf("%%.%if", m_DecimalPlaces); // do copy before sprintf // displayedText.sprintf( formatString , d ); stream.setRealNumberPrecision(m_DecimalPlaces); stream << d; } else //displayedText.sprintf( "%i" , ROUND(d) ); stream << ROUND(d); return displayedText; }
int QmitkNumberPropertyEditor::valueFromText | ( | const QString & | text ) | const [protected, virtual] |
Definition at line 220 of file QmitkNumberPropertyEditor.cpp.
References m_FactorSpinboxToDisplay, and ROUND.
{ return ROUND( text.toDouble() / m_FactorSpinboxToDisplay ); }
union { ... } [protected] |
const int QmitkNumberPropertyEditor::m_DataType [protected] |
Definition at line 75 of file QmitkNumberPropertyEditor.h.
Referenced by DisplayNumber(), onValueChanged(), setDecimalPlaces(), and setShowPercent().
short QmitkNumberPropertyEditor::m_DecimalPlaces [protected] |
Definition at line 77 of file QmitkNumberPropertyEditor.h.
Referenced by getDecimalPlaces(), initialize(), setShowPercent(), and textFromValue().
Definition at line 72 of file QmitkNumberPropertyEditor.h.
Referenced by DisplayNumber(), and onValueChanged().
double QmitkNumberPropertyEditor::m_FactorPropertyToSpinbox [protected] |
Definition at line 78 of file QmitkNumberPropertyEditor.h.
Referenced by doubleValue(), initialize(), onValueChanged(), setDoubleValue(), setMaxValue(), and setMinValue().
double QmitkNumberPropertyEditor::m_FactorSpinboxToDisplay [protected] |
Definition at line 79 of file QmitkNumberPropertyEditor.h.
Referenced by initialize(), textFromValue(), and valueFromText().
Definition at line 71 of file QmitkNumberPropertyEditor.h.
Referenced by DisplayNumber(), and onValueChanged().
Definition at line 70 of file QmitkNumberPropertyEditor.h.
Referenced by DisplayNumber(), and onValueChanged().
bool QmitkNumberPropertyEditor::m_ShowPercents [protected] |
Definition at line 80 of file QmitkNumberPropertyEditor.h.
Referenced by getShowPercent(), initialize(), setDecimalPlaces(), and setShowPercent().
short QmitkNumberPropertyEditor::decimalPlaces [read, write] |
Definition at line 29 of file QmitkNumberPropertyEditor.h.
int QmitkNumberPropertyEditor::maxValue [read, write] |
Definition at line 32 of file QmitkNumberPropertyEditor.h.
int QmitkNumberPropertyEditor::minValue [read, write] |
Definition at line 31 of file QmitkNumberPropertyEditor.h.
bool QmitkNumberPropertyEditor::showPercent [read, write] |
Definition at line 30 of file QmitkNumberPropertyEditor.h.