summaryrefslogtreecommitdiffstats
path: root/kdeui/knuminput.h
diff options
context:
space:
mode:
Diffstat (limited to 'kdeui/knuminput.h')
-rw-r--r--kdeui/knuminput.h962
1 files changed, 0 insertions, 962 deletions
diff --git a/kdeui/knuminput.h b/kdeui/knuminput.h
deleted file mode 100644
index dd43092ef..000000000
--- a/kdeui/knuminput.h
+++ /dev/null
@@ -1,962 +0,0 @@
-/*
- * knuminput.h
- *
- * Copyright (c) 1997 Patrick Dowler <dowler@morgul.fsh.uvic.ca>
- * Copyright (c) 2000 Dirk A. Mueller <mueller@kde.org>
- * Copyright (c) 2002 Marc Mutz <mutz@kde.org>
- *
- * Requires the Qt widget libraries, available at no cost at
- * http://www.troll.no/
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public License
- * along with this library; see the file COPYING.LIB. If not, write to
- * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
- * Boston, MA 02110-1301, USA.
- */
-
-#ifndef K_NUMINPUT_H
-#define K_NUMINPUT_H
-
-#include <tqwidget.h>
-#include <tqspinbox.h>
-#include <kdelibs_export.h>
-
-class TQLabel;
-class TQSlider;
-class TQLineEdit;
-class TQLayout;
-class TQValidator;
-
-class KIntSpinBox;
-
-/* ------------------------------------------------------------------------ */
-
-/**
- * You need to inherit from this class if you want to implement K*NumInput
- * for a different variable type
- *
- */
-class KDEUI_EXPORT KNumInput : public TQWidget
-{
- Q_OBJECT
- TQ_OBJECT
- Q_PROPERTY( TQString label READ label WRITE setLabel )
-public:
- /**
- * Default constructor
- * @param parent If parent is 0, the new widget becomes a top-level window. If parent is another widget, this widget becomes a child window inside parent. The new widget is deleted when its parent is deleted.
- * @param name The name is sent to the TQObject constructor.
- */
- KNumInput(TQWidget* parent=0, const char* name=0);
-
- /**
- * @param below A pointer to another KNumInput.
- * @param parent parent widget
- * @param name name of the widget
- */
- KNumInput(KNumInput* below, TQWidget* parent=0, const char* name=0);
- ~KNumInput();
-
- /**
- * Sets the text and tqalignment of the main description label.
- *
- * @param label The text of the label.
- * Use TQString::null to remove an existing one.
- *
- * @param a one of @p AlignLeft, @p AlignHCenter, YAlignRight and
- * @p AlignTop, @p AlignVCenter, @p AlignBottom.
- * default is @p AlignLeft | @p AlignTop.
- *
- * The vertical tqalignment 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
- *
- */
- virtual void setLabel(const TQString & label, int a = AlignLeft | AlignTop);
-
- /**
- * @return the text of the label.
- */
- TQString label() const;
-
- /**
- * @return if the num input has a slider.
- * @since 3.1
- */
- bool showSlider() const { return m_slider; }
-
- /**
- * Sets the spacing of tickmarks for the slider.
- *
- * @param minor Minor tickmark separation.
- * @param major Major tickmark separation.
- */
- void setSteps(int minor, int major);
-
- /**
- * Specifies that this widget may stretch horizontally, but is
- * fixed vertically (like TQSpinBox itself).
- */
- TQSizePolicy sizePolicy() const;
-
- /**
- * Returns a size which fits the contents of the control.
- *
- * @return the preferred size necessary to show the control
- */
- virtual TQSize tqsizeHint() const;
-
-protected:
- /**
- * Call this function whenever you change something in the geometry
- * of your KNumInput child.
- *
- */
- void layout(bool deep);
-
- /**
- * You need to overwrite this method and implement your layout
- * calculations there.
- *
- * See KIntNumInput::doLayout and KDoubleNumInput::doLayout implementation
- * for details.
- *
- */
- virtual void doLayout() = 0;
-
- KNumInput* m_prev, *m_next;
- int m_colw1, m_colw2;
-
- TQLabel* m_label;
- TQSlider* m_slider;
- TQSize m_sizeSlider, m_sizeLabel;
-
- int m_tqalignment;
-
-private:
- void init();
-
-protected:
- virtual void virtual_hook( int id, void* data );
-private:
- class KNumInputPrivate;
- KNumInputPrivate *d;
-};
-
-/* ------------------------------------------------------------------------ */
-
-/**
- * @short An input widget for integer numbers, consisting of a spinbox and a slider.
- *
- * KIntNumInput combines a TQSpinBox and optionally a QSlider
- * with a label to make an easy to use control for setting some integer
- * 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 KIntNumInput, designed specifically for
- * the situation when there are several KIntNumInputs in a column,
- * is that you can specify what portion of the control is taken by the
- * TQSpinBox (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 KIntValidator validator class. KIntNumInput enforces the
- * value to be in the given range, and can display it in any base
- * between 2 and 36.
- *
- * \image html kintnuminput.png "KDE Int Number Input Spinbox"
- *
- * @version $Id$
- */
-
-class KDEUI_EXPORT KIntNumInput : public KNumInput
-{
- Q_OBJECT
- TQ_OBJECT
- Q_PROPERTY( int value READ value WRITE setValue )
- Q_PROPERTY( int minValue READ minValue WRITE setMinValue )
- Q_PROPERTY( int maxValue READ maxValue WRITE setMaxValue )
- Q_PROPERTY( int referencePoint READ referencePoint WRITE setReferencePoint )
- Q_PROPERTY( double relativeValue READ relativeValue WRITE setRelativeValue )
- Q_PROPERTY( TQString suffix READ suffix WRITE setSuffix )
- Q_PROPERTY( TQString prefix READ prefix WRITE setPrefix )
- Q_PROPERTY( TQString specialValueText READ specialValueText WRITE setSpecialValueText )
-
-public:
- /**
- * Constructs an input control for integer values
- * with base 10 and initial value 0.
- */
- KIntNumInput(TQWidget *parent=0, const char *name=0);
- /**
- * Constructor
- * It constructs a TQSpinBox that allows the input of integer numbers
- * in the range of -INT_MAX to +INT_MAX. To set a descriptive label,
- * use setLabel(). To enforce the value being in a range and optionally to
- * attach a slider to it, use setRange().
- *
- * @param value initial value for the control
- * @param base numeric base used for display
- * @param parent parent QWidget
- * @param name internal name for this widget
- */
- KIntNumInput(int value, TQWidget* parent=0, int base = 10, const char *name=0);
-
- /**
- * Constructor
- *
- * the difference to the one above 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).
- *
- * @param below append KIntNumInput to the KNumInput chain
- * @param value initial value for the control
- * @param base numeric base used for display
- * @param parent parent QWidget
- * @param name internal name for this widget
- */
- KIntNumInput(KNumInput* below, int value, TQWidget* parent=0, int base = 10, const char *name=0);
-
- /**
- * Destructor
- *
- *
- */
- virtual ~KIntNumInput();
-
- /**
- * @return the current value.
- */
- int value() const;
-
- /**
- * @return the curent value in units of the referencePoint.
- * @since 3.1
- */
- double relativeValue() const;
-
- /**
- * @return the current reference point
- * @since 3.1
- */
- int referencePoint() const;
-
- /**
- * @return the suffix displayed behind the value.
- * @see setSuffix()
- */
- TQString suffix() const;
- /**
- * @return the prefix displayed in front of the value.
- * @see setPrefix()
- */
- TQString prefix() const;
- /**
- * @return the string displayed for a special value.
- * @see setSpecialValueText()
- */
- TQString specialValueText() const;
-
- /**
- * @param min minimum value
- * @param max maximum value
- * @param step step size for the QSlider
- * @param slider whether the slider is created or not
- */
- void setRange(int min, int max, int step=1, bool slider=true);
- /**
- * Sets the minimum value.
- */
- void setMinValue(int min);
- /**
- * @return the minimum value.
- */
- int minValue() const;
- /**
- * Sets the maximum value.
- */
- void setMaxValue(int max);
- /**
- * @return the maximum value.
- */
- int maxValue() const;
-
- /**
- * Sets the special value text. If set, the SpinBox 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.
- */
- void setSpecialValueText(const TQString& text);
-
- virtual void setLabel(const TQString & label, int a = AlignLeft | AlignTop);
-
- /**
- * This method returns the minimum size necessary to display the
- * control. The minimum size is enough to show all the labels
- * in the current font (font change may tqinvalidate the return value).
- *
- * @return the minimum size necessary to show the control
- */
- virtual TQSize tqminimumSizeHint() const;
-
-public slots:
- /**
- * Sets the value of the control.
- */
- void setValue(int);
-
- /**
- * Sets the value in units of the referencePoint
- * @since 3.1
- */
- void setRelativeValue(double);
-
- /**
- * Sets the reference point for relativeValue.
- * @since 3.1
- */
- void setReferencePoint(int);
-
- /**
- * Sets the suffix to @p suffix.
- * Use TQString::null to disable this feature.
- * Formatting has to be provided (e.g. a space separator between the
- * prepended @p value and the suffix's text has to be provided
- * as the first character in the suffix).
- *
- * @see TQSpinBox::setSuffix(), #setPrefix()
- */
- void setSuffix(const TQString &suffix);
-
- /**
- * Sets the prefix to @p prefix.
- * Use TQString::null to disable this feature.
- * Formatting has to be provided (see above).
- *
- * @see TQSpinBox::setPrefix(), #setSuffix()
- */
- void setPrefix(const TQString &prefix);
-
- /**
- * sets focus to the edit widget and marks all text in if mark == true
- *
- */
- void setEditFocus( bool mark = true );
-
-signals:
- /**
- * Emitted every time the value changes (by calling setValue() or
- * by user interaction).
- */
- void valueChanged(int);
-
- /**
- * Emitted whenever valueChanged is. Contains the change
- * relative to the referencePoint.
- * @since 3.1
- */
- void relativeValueChanged(double);
-
-private slots:
- void spinValueChanged(int);
- void slotEmitRelativeValueChanged(int);
-
-protected:
- virtual void doLayout();
- void resizeEvent ( TQResizeEvent * );
-
- KIntSpinBox* m_spin;
- TQSize m_sizeSpin;
-
-private:
- void init(int value, int _base);
-
-protected:
- virtual void virtual_hook( int id, void* data );
-private:
- class KIntNumInputPrivate;
- KIntNumInputPrivate *d;
-};
-
-
-/* ------------------------------------------------------------------------ */
-
-class KDoubleLine;
-
-/**
- * @short An input control for real numbers, consisting of a spinbox and a slider.
- *
- * KDoubleNumInput combines a TQSpinBox 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
- * TQSpinBox (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 KIntNumInput, KDoubleSpinBox
- */
-
-class KDEUI_EXPORT KDoubleNumInput : public KNumInput
-{
- Q_OBJECT
- TQ_OBJECT
- Q_PROPERTY( double value READ value WRITE setValue )
- Q_PROPERTY( double minValue READ minValue WRITE setMinValue )
- Q_PROPERTY( double maxValue READ maxValue WRITE setMaxValue )
- Q_PROPERTY( TQString suffix READ suffix WRITE setSuffix )
- Q_PROPERTY( TQString prefix READ prefix WRITE setPrefix )
- Q_PROPERTY( TQString specialValueText READ specialValueText WRITE setSpecialValueText )
- Q_PROPERTY( int precision READ precision WRITE setPrecision )
- Q_PROPERTY( double referencePoint READ referencePoint WRITE setReferencePoint )
- Q_PROPERTY( double relativeValue READ relativeValue WRITE setRelativeValue )
-
-public:
- /**
- * Constructs an input control for double values
- * with initial value 0.00.
- */
- KDoubleNumInput(TQWidget *parent=0, const char *name=0);
-
- /**
- * @deprecated (value is rounded to a multiple of 1/100)
- * Constructor
- *
- * @param value initial value for the control
- * @param parent parent QWidget
- * @param name internal name for this widget
- */
- KDoubleNumInput(double value, TQWidget *parent=0, const char *name=0) KDE_DEPRECATED;
-
- /**
- * Constructor
- *
- * @param lower lower boundary value
- * @param upper upper boundary value
- * @param value initial value for the control
- * @param step step size to use for up/down arrow clicks
- * @param precision number of digits after the decimal point
- * @param parent parent QWidget
- * @param name internal name for this widget
- * @since 3.1
- */
- KDoubleNumInput(double lower, double upper, double value, double step=0.01,
- int precision=2, TQWidget *parent=0, const char *name=0);
-
- /**
- * destructor
- */
- virtual ~KDoubleNumInput();
-
- /**
- * @deprecated (rounds @p value to a multiple of 1/100)
- * Constructor
- *
- * puts it visually below other KNumInput
- *
- * @param below
- * @param value initial value for the control
- * @param parent parent QWidget
- * @param name internal name for this widget
- **/
- KDoubleNumInput(KNumInput* below, double value, TQWidget* parent=0, const char* name=0) KDE_DEPRECATED;
-
- /**
- * 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).
- *
- * @param below append KDoubleNumInput to the KDoubleNumInput chain
- * @param lower lower boundary value
- * @param upper upper boundary value
- * @param value initial value for the control
- * @param step step size to use for up/down arrow clicks
- * @param precision number of digits after the decimal point
- * @param parent parent QWidget
- * @param name internal name for this widget
- * @since 3.1
- */
- KDoubleNumInput(KNumInput* below,
- double lower, double upper, double value, double step=0.02,
- int precision=2, TQWidget *parent=0, const char *name=0);
-
- /**
- * @return the current value.
- */
- double value() const;
-
- /**
- * @return the suffix.
- * @see setSuffix()
- */
- TQString suffix() const;
-
- /**
- * @return the prefix.
- * @see setPrefix()
- */
- TQString prefix() const;
-
- /**
- * @return the precision.
- * @see setPrecision()
- */
- int precision() const;
-
- /**
- * @return the string displayed for a special value.
- * @see setSpecialValueText()
- */
- TQString specialValueText() const { return m_specialvalue; }
-
- /**
- * @param min minimum value
- * @param max maximum value
- * @param step step size for the QSlider
- * @param slider whether the slider is created or not
- */
- void setRange(double min, double max, double step=1, bool slider=true);
- /**
- * Sets the minimum value.
- */
- void setMinValue(double min);
- /**
- * @return the minimum value.
- */
- double minValue() const;
- /**
- * Sets the maximum value.
- */
- void setMaxValue(double max);
- /**
- * @return the maximum value.
- */
- double maxValue() const;
-
- /**
- * Specifies the number of digits to use.
- */
- void setPrecision(int precision);
-
- /**
- * @return the reference point for relativeValue calculation
- * @since 3.1
- */
- double referencePoint() const;
-
- /**
- * @return the current value in units of referencePoint.
- * @since 3.1
- */
- double relativeValue() const;
-
- /**
- * 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.
- */
- void setSpecialValueText(const TQString& text);
-
- virtual void setLabel(const TQString & label, int a = AlignLeft | AlignTop);
- virtual TQSize tqminimumSizeHint() const;
- virtual bool eventFilter(TQObject*, TQEvent*);
-
-public slots:
- /**
- * Sets the value of the control.
- */
- void setValue(double);
-
- /**
- * Sets the value in units of referencePoint.
- * @since 3.1
- */
- void setRelativeValue(double);
-
- /**
- * Sets the reference Point to @p ref. It @p ref == 0, emitting of
- * relativeValueChanged is blocked and relativeValue
- * just returns 0.
- * @since 3.1
- */
- void setReferencePoint(double ref);
-
- /**
- * Sets the suffix to be displayed to @p suffix. Use TQString::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 setSuffix()
- */
- void setSuffix(const TQString &suffix);
-
- /**
- * Sets the prefix to be displayed to @p prefix. Use TQString::null to disable
- * this feature. Note that the prefix is attached to the value without any
- * spacing.
- * @see setPrefix()
- */
- void setPrefix(const TQString &prefix);
-
-signals:
- /**
- * Emitted every time the value changes (by calling setValue() or
- * by user interaction).
- */
- void valueChanged(double);
- /**
- * 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 relativeValueChanged(double);
-
-private slots:
- void sliderMoved(int);
- void slotEmitRelativeValueChanged(double);
-
-protected:
- virtual void doLayout();
- void resizeEvent ( TQResizeEvent * );
-
- virtual void resetEditBox();
-
- // ### no longer used, remove when BIC allowed
- KDoubleLine* edit;
-
- bool m_range;
- double m_lower, m_upper, m_step;
- // ### end no longer used
-
- TQSize m_sizeEdit;
-
- friend class KDoubleLine;
-private:
- void init(double value, double lower, double upper,
- double step, int precision);
- double mapSliderToSpin(int) const;
- void updateLegacyMembers();
- // ### no longer used, remove when BIC allowed:
- TQString m_specialvalue, m_prefix, m_suffix;
- double m_value;
- short m_precision;
- // ### end remove when BIC allowed
-
-protected:
- virtual void virtual_hook( int id, void* data );
-private:
- class KDoubleNumInputPrivate;
- KDoubleNumInputPrivate *d;
-};
-
-
-/* ------------------------------------------------------------------------ */
-
-/**
- * @short A TQSpinBox with support for arbitrary base numbers.
- *
- * A TQSpinBox with support for arbitrary base numbers
- * (e.g. hexadecimal).
- *
- * The class provides an easy interface to use other
- * numeric systems than the decimal.
- */
-class KDEUI_EXPORT KIntSpinBox : public TQSpinBox
-{
- Q_OBJECT
- TQ_OBJECT
- Q_PROPERTY( int base READ base WRITE setBase )
-
-public:
-
- /**
- * Constructor.
- *
- * Constructs a widget with an integer inputline with a little scrollbar
- * and a slider, with minimal value 0, maximal value 99, step 1, base 10
- * and initial value 0.
- */
- KIntSpinBox( TQWidget *parent=0, const char *name=0);
-
- /**
- * Constructor.
- *
- * Constructs a widget with an integer inputline with a little scrollbar
- * and a slider.
- *
- * @param lower The lowest valid value.
- * @param upper The greatest valid value.
- * @param step The step size of the scrollbar.
- * @param value The actual value.
- * @param base The base of the used number system.
- * @param parent The parent of the widget.
- * @param name The Name of the widget.
- */
- KIntSpinBox(int lower, int upper, int step, int value, int base = 10,
- TQWidget* parent = 0, const char* name = 0);
-
- /**
- * Destructor.
- */
- virtual ~KIntSpinBox();
-
- /**
- * Sets the base in which the numbers in the spin box are represented.
- */
- void setBase(int base);
- /**
- * @return the base in which numbers in the spin box are represented.
- */
- int base() const;
- /**
- * sets focus and optionally marks all text
- *
- */
- void setEditFocus(bool mark);
-
-protected:
-
- /**
- * Overloaded the method in QSpinBox
- * to make use of the base given in the constructor.
- */
- virtual TQString mapValueToText(int);
-
- /**
- * Overloaded the method in QSpinBox
- * to make use of the base given in the constructor.
- */
- virtual int mapTextToValue(bool*);
-
-private:
- int val_base;
-protected:
- virtual void virtual_hook( int id, void* data );
-private:
- class KIntSpinBoxPrivate;
- KIntSpinBoxPrivate *d;
-};
-
-
-/* --------------------------------------------------------------------------- */
-
-/**
- @short A spin box for fractional numbers.
-
- This class provides a spin box for fractional numbers.
-
- \image html kdoublespinbox.png "KDE Fractional Number Spinbox"
-
- See below for code examples on how to use this class.
-
- \b Parameters \n
-
- To make successful use of KDoubleSpinBox, you need to understand the
- relationship between precision and available range.
-
- @li precision: The number of digits after the decimal point.
- @li maxValue/minValue: upper and lower bounds of the valid range
- @li lineStep: the size of the step that is made when the user hits
- the up or down buttons
-
- Since we work with fixed-point numbers internally, the maximum
- precision is a function of the valid range and vice versa. More
- precisely, the following relationships hold:
- \code
- max( abs(minValue()), abs(maxValue() ) <= INT_MAX/10^precision
- maxPrecision = floor( log10( INT_MAX/max(abs(minValue()),abs(maxValue())) ) )
- \endcode
-
- Since the value, bounds and lineStep are rounded to the current
- precision, you may find that the order of setting these
- parameters matters. As an example, the following are @em not equivalent (try
- it!):
-
- \code
- // sets precision,
- // then min/max value (rounded to precision and clipped to obtainable range if needed)
- // then value and lineStep
- KDoubleSpinBox * spin = new KDoubleSpinBox( 0, 9.999, 0.001, 4.321, 3, this );
-
- // sets minValue to 0; maxValue to 10.00(!); value to 4.32(!) and only then
- // increases the precision - too late, since e.g. value has already been rounded...
- KDoubleSpinBox * spin = new KDoubleSpinBox( this );
- spin->setMinValue( 0 );
- spin->setMaxValue( 9.999 );
- spin->setValue( 4.321 );
- spin->setPrecision( 3 );
- \endcode
-
- @author Marc Mutz <mutz@kde.org>
- @version $Id$
- @since 3.1
-**/
-
-class KDEUI_EXPORT KDoubleSpinBox : public TQSpinBox {
- Q_OBJECT
- TQ_OBJECT
- Q_PROPERTY( bool acceptLocalizedNumbers READ acceptLocalizedNumbers WRITE setAcceptLocalizedNumbers )
- Q_OVERRIDE( double maxValue READ maxValue WRITE setMaxValue )
- Q_OVERRIDE( double minValue READ minValue WRITE setMinValue )
- Q_OVERRIDE( double lineStep READ lineStep WRITE setLineStep )
- Q_OVERRIDE( double value READ value WRITE setValue )
- Q_PROPERTY( int precision READ precision WRITE setPrecision )
-
-public:
- /** Constructs a KDoubleSpinBox with parent @p parent and
- default values for range and value (whatever QRangeControl
- uses) and precision (2). */
- KDoubleSpinBox( TQWidget * parent=0, const char * name=0 );
-
- /** Constructs a KDoubleSpinBox with parent @p parent, range
- [ @p lower, @p upper ], lineStep @p step, precision @p
- precision and initial value @p value. */
- KDoubleSpinBox( double lower, double upper, double step, double value,
- int precision=2, TQWidget * parent=0, const char * name=0 );
-
- virtual ~KDoubleSpinBox();
-
- /** @return whether the spinbox uses localized numbers */
- bool acceptLocalizedNumbers() const;
-
- /** Sets whether to use and accept localized numbers as returned by
- KLocale::formatNumber() */
- virtual void setAcceptLocalizedNumbers( bool accept );
-
- /** Sets a new range for the spin box values. Note that @p lower, @p
- upper and @p step are rounded to @p precision decimal points
- first. */
- void setRange( double lower, double upper, double step=0.01, int precision=2 );
-
- /** @return the current number of digits displayed to the right of the
- decimal point. */
- int precision() const;
-
- /** Equivalent to setPrecision( @p precision, @p false ); Needed
- since Qt's tqmoc doesn't ignore trailing parameters with default
- args when searching for a property setter method. */
- void setPrecision( int precision );
-
- /** Sets the precision (number of digits to the right of the decimal point). Note
- that there is a tradeoff between the precision used and the available range of
- values. See the class documentation above for more information on this.
-
- @param precision the new precision to use
-
- @param force if true, disables checking of bounds violations that can
- arise if you increase the precision so much that the
- minimum and maximum values can't be represented
- anymore. Disabling is useful if you were going to disable range
- control in any case.
- **/
- virtual void setPrecision( int precision, bool force );
-
- /** @return the current value */
- double value() const;
-
- /** @return the current lower bound */
- double minValue() const;
-
- /** Sets the lower bound of the range to @p value, subject to the
- contraints that @p value is first rounded to the current
- precision and then clipped to the maximum range interval that can
- be handled at that precision.
- @see maxValue, minValue, setMaxValue, setRange
- */
- void setMinValue( double value );
-
- /** @return the current upper bound */
- double maxValue() const;
-
- /** Sets the upper bound of the range to @p value, subject to the
- contraints that @p value is first rounded to the current
- precision and then clipped to the maximum range interval
- that can be handled at that precision.
- @see minValue, maxValue, setMinValue, setRange
- */
- void setMaxValue( double value );
-
- /** @return the current step size */
- double lineStep() const;
-
- /** Sets the step size for clicking the up/down buttons to @p step,
- subject to the constraints that @p step is first rounded to the
- current precision and then clipped to the meaningful interval
- [ 1, @p maxValue() - @p minValue() ]. */
- void setLineStep( double step );
-
- /** Overridden to ignore any setValidator() calls. */
- void setValidator( const TQValidator * );
-
-signals:
- /** Emitted whenever TQSpinBox::valueChanged( int ) is emitted. */
- void valueChanged( double value );
-
-public slots:
- /** Sets the current value to @p value, subject to the constraints
- that @p value is first rounded to the current precision and then
- clipped to the interval [ @p minValue() , @p maxValue() ]. */
- virtual void setValue( double value );
-
-protected:
- virtual TQString mapValueToText(int);
- virtual int mapTextToValue(bool*);
-
-protected slots:
- void slotValueChanged( int value );
-
-protected:
- virtual void virtual_hook( int id, void* data );
-private:
- typedef TQSpinBox base;
- void updateValidator();
- int maxPrecision() const;
-
- class Private;
- Private * d;
-};
-
-#endif // K_NUMINPUT_H