KDoubleNumInput Class Reference

`#include <knuminput.h>`

Inheritance diagram for KDoubleNumInput:

## Public Slots

void | setValue (double)
void | setRelativeValue (double)
void | setReferencePoint (double ref)
void | setSuffix (const QString &suffix)
void | setPrefix (const QString &prefix)

## Signals

void | valueChanged (double)
void | relativeValueChanged (double)

## Public Member Functions

| KDoubleNumInput (QWidget *parent=0, const char *name=0)
| KDoubleNumInput (double value, QWidget *parent=0, const char *name=0) KDE_DEPRECATED
| KDoubleNumInput (double lower, double upper, double value, double step=0.01, int precision=2, QWidget *parent=0, const char *name=0)
virtual | ~KDoubleNumInput ()
| KDoubleNumInput (KNumInput *below, double value, QWidget *parent=0, const char *name=0) KDE_DEPRECATED
| KDoubleNumInput (KNumInput *below, double lower, double upper, double value, double step=0.02, int precision=2, QWidget *parent=0, const char *name=0)
double | value () const
QString | suffix () const
QString | prefix () const
int | precision () const
QString | specialValueText () const
void | setRange (double min, double max, double step=1, bool slider=true)
void | setMinValue (double min)
double | minValue () const
void | setMaxValue (double max)
double | maxValue () const
void | setPrecision (int precision)
double | referencePoint () const
double | relativeValue () const
void | setSpecialValueText (const QString &text)
virtual void | setLabel (const QString &label, int a=AlignLeft|AlignTop)
virtual QSize | minimumSizeHint () const
virtual bool | eventFilter (QObject *, QEvent *)
Public Member Functions inherited from KNumInput
| KNumInput (QWidget *parent=0, const char *name=0)
| KNumInput (KNumInput *below, QWidget *parent=0, const char *name=0)
QString | label () const
bool | showSlider () const
void | setSteps (int minor, int major)
QSizePolicy | sizePolicy () const
virtual QSize | sizeHint () const

## Protected Member Functions

virtual void | doLayout ()
void | resizeEvent (QResizeEvent *)
virtual void | resetEditBox ()
virtual void | virtual_hook (int id, void *data)
Protected Member Functions inherited from KNumInput
void | layout (bool deep)

## Protected Attributes

KDoubleLine * | edit
bool | m_range
double | m_lower
double | m_upper
double | m_step
QSize | m_sizeEdit
Protected Attributes inherited from KNumInput
KNumInput * | m_prev
KNumInput * | m_next
int | m_colw1
int | m_colw2
QLabel * | m_label
QSlider * | m_slider
QSize | m_sizeSlider
QSize | m_sizeLabel
int | m_alignment

## Properties

double | value
double | minValue
double | maxValue
QString | suffix
QString | prefix
QString | specialValueText
int | precision
double | referencePoint
double | relativeValue
Properties inherited from KNumInput
QString | label

## Friends

class | KDoubleLine

## Detailed Description

An input control for real numbers, consisting of a spinbox and a slider.

KDoubleNumInput combines a QSpinBox and optionally a QSlider with a label to make an easy to use control for setting some float parameter. This is especially nice for configuration dialogs, which can have many such combinated controls.

The slider is created only when the user specifies a range for the control using the setRange function with the slider parameter set to "true".

A special feature of KDoubleNumInput, designed specifically for the situation when there are several instances in a column, is that you can specify what portion of the control is taken by the QSpinBox (the remaining portion is used by the slider). This makes it very simple to have all the sliders in a column be the same size.

It uses the KDoubleValidator validator class. KDoubleNumInput enforces the value to be in the given range, but see the class documentation of KDoubleSpinBox for the tricky interrelationship of precision and values. All of what is said there applies here, too.

See also
  KIntNumInput, KDoubleSpinBox

Definition at line 432 of file knuminput.h.

## Constructor & Destructor Documentation

KDoubleNumInput::KDoubleNumInput | ( | QWidget * | parent = `0`,
|  | const char * | name = `0`
| ) |  |

Constructs an input control for double values with initial value 0.00.

Definition at line 544 of file knuminput.cpp.

KDoubleNumInput::KDoubleNumInput | ( | double | value,
|  | QWidget * | parent = `0`,
|  | const char * | name = `0`
| ) |  |

Deprecated:
  (value is rounded to a multiple of 1/100) Constructor

Parameters

  value | initial value for the control
  parent | parent QWidget
  name | internal name for this widget

Definition at line 567 of file knuminput.cpp.

KDoubleNumInput::KDoubleNumInput | ( | double | lower,
|  | double | upper,
|  | double | value,
|  | double | step = `0.01`,
|  | int | precision = `2`,
|  | QWidget * | parent = `0`,
|  | const char * | name = `0`
| ) |  |

Constructor.

Parameters

  lower | lower boundary value
  upper | upper boundary value
  value | initial value for the control
  step | step size to use for up/down arrow clicks
  precision | number of digits after the decimal point
  parent | parent QWidget
  name | internal name for this widget

Since
  3.1

Definition at line 550 of file knuminput.cpp.

KDoubleNumInput::~KDoubleNumInput | ( |  | ) |

virtual

destructor

Definition at line 580 of file knuminput.cpp.

KDoubleNumInput::KDoubleNumInput | ( | KNumInput * | below,
|  | double | value,
|  | QWidget * | parent = `0`,
|  | const char * | name = `0`
| ) |  |

Deprecated:
  (rounds `value` to a multiple of 1/100) Constructor

puts it visually below other KNumInput

Parameters

  below |
  value | initial value for the control
  parent | parent QWidget
  name | internal name for this widget

Definition at line 573 of file knuminput.cpp.

KDoubleNumInput::KDoubleNumInput | ( | KNumInput * | below,
|  | double | lower,
|  | double | upper,
|  | double | value,
|  | double | step = `0.02`,
|  | int | precision = `2`,
|  | QWidget * | parent = `0`,
|  | const char * | name = `0`
| ) |  |

Constructor.

the difference here is the "below" parameter. It tells this instance that it is visually put below some other KNumInput widget. Note that these two KNumInput's need not to have the same parent widget or be in the same layout group. The effect is that it'll adjust it's layout in correspondence with the layout of the other KNumInput's (you can build an arbitrary long chain).

Parameters

  below | append KDoubleNumInput to the KDoubleNumInput chain
  lower | lower boundary value
  upper | upper boundary value
  value | initial value for the control
  step | step size to use for up/down arrow clicks
  precision | number of digits after the decimal point
  parent | parent QWidget
  name | internal name for this widget

Since
  3.1

Definition at line 558 of file knuminput.cpp.

## Member Function Documentation

void KDoubleNumInput::doLayout | ( |  | ) |

protected virtual

You need to overwrite this method and implement your layout calculations there.

See KIntNumInput::doLayout and KDoubleNumInput::doLayout implementation for details.

Implements KNumInput.

Definition at line 720 of file knuminput.cpp.

double KDoubleNumInput::maxValue | ( |  | ) | const

Returns
  the maximum value.

double KDoubleNumInput::minValue | ( |  | ) | const

Returns
  the minimum value.

int KDoubleNumInput::precision | ( |  | ) | const

Returns
  the precision.

See also
  setPrecision()

QString KDoubleNumInput::prefix | ( |  | ) | const

Returns
  the prefix.

See also
  setPrefix()

double KDoubleNumInput::referencePoint | ( |  | ) | const

Returns
  the reference point for relativeValue calculation

Since
  3.1

double KDoubleNumInput::relativeValue | ( |  | ) | const

Returns
  the current value in units of referencePoint.

Since
  3.1

void KDoubleNumInput::relativeValueChanged | ( | double |  | ) |

signal

This is an overloaded member function, provided for convenience.

It essentially behaves like the above function.

Contains the value in units of referencePoint.

Since
  3.1

void KDoubleNumInput::setLabel | ( | const QString & | label,
|  | int | a = `AlignLeft | AlignTop`
| ) |  |

virtual

Sets the text and alignment of the main description label.

Parameters

  label | The text of the label. Use QString::null to remove an existing one.
  a | one of `AlignLeft`, `AlignHCenter`, YAlignRight and `AlignTop`, `AlignVCenter`, `AlignBottom`. default is `AlignLeft` | `AlignTop`.

The vertical alignment flags have special meaning with this widget:

    @li @p AlignTop     The label is placed above the edit/slider
    @li @p AlignVCenter The label is placed left beside the edit
    @li @p AlignBottom  The label is placed below the edit/slider

Reimplemented from KNumInput.

Definition at line 873 of file knuminput.cpp.

void KDoubleNumInput::setMaxValue | ( | double | max | ) |

Sets the maximum value.

Definition at line 803 of file knuminput.cpp.

void KDoubleNumInput::setMinValue | ( | double | min | ) |

Sets the minimum value.

Definition at line 793 of file knuminput.cpp.

void KDoubleNumInput::setPrecision | ( | int | precision | ) |

Specifies the number of digits to use.

Definition at line 853 of file knuminput.cpp.

void KDoubleNumInput::setPrefix | ( | const QString & | prefix | ) |

slot

Sets the prefix to be displayed to `prefix`.

Use QString::null to disable this feature. Note that the prefix is attached to the value without any spacing.

See also
  setPrefix()

Definition at line 846 of file knuminput.cpp.

void KDoubleNumInput::setRange | ( | double | min,
|  | double | max,
|  | double | step = `1`,
|  | bool | slider = `true`
| ) |  |

Parameters

  min | minimum value
  max | maximum value
  step | step size for the QSlider
  slider | whether the slider is created or not

Definition at line 746 of file knuminput.cpp.

void KDoubleNumInput::setReferencePoint | ( | double | ref | ) |

slot

Sets the reference Point to `ref`.

It `ref` == 0, emitting of relativeValueChanged is blocked and relativeValue just returns 0.

Since
  3.1

Definition at line 739 of file knuminput.cpp.

void KDoubleNumInput::setRelativeValue | ( | double | r | ) |

slot

Sets the value in units of referencePoint.

Since
  3.1

Definition at line 731 of file knuminput.cpp.

void KDoubleNumInput::setSpecialValueText | ( | const QString & | text | ) |

Sets the special value text.

If set, the spin box will display this text instead of the numeric value whenever the current value is equal to minVal(). Typically this is used for indicating that the choice has a special (default) meaning.

Definition at line 865 of file knuminput.cpp.

void KDoubleNumInput::setSuffix | ( | const QString & | suffix | ) |

slot

Sets the suffix to be displayed to `suffix`.

Use QString::null to disable this feature. Note that the suffix is attached to the value without any spacing. So if you prefer to display a space separator, set suffix to something like " cm".

See also
  setSuffix()

Definition at line 839 of file knuminput.cpp.

void KDoubleNumInput::setValue | ( | double | val | ) |

slot

Sets the value of the control.

Definition at line 726 of file knuminput.cpp.

QString KDoubleNumInput::specialValueText | ( |  | ) | const

inline

Returns
  the string displayed for a special value.

See also
  setSpecialValueText()

Definition at line 547 of file knuminput.h.

QString KDoubleNumInput::suffix | ( |  | ) | const

Returns
  the suffix.

See also
  setSuffix()

double KDoubleNumInput::value | ( |  | ) | const

Returns
  the current value.

void KDoubleNumInput::valueChanged | ( | double |  | ) |

signal

Emitted every time the value changes (by calling setValue() or by user interaction).

The documentation for this class was generated from the following files:

- knuminput.h
- knuminput.cpp

KDE Home | KDE Accessibility Home | Description of Access Keys