A Counter consists of a label displaying a number and one ore more (up to three) push buttons on each side of the label which can be used to increment or decrement the counter's value.
A Counter has a range from a minimum value to a maximum value and a step size. The range can be specified using QwtDblRange::setRange(). The counter's value is an integer multiple of the step size. The number of steps by which a button increments or decrements the value can be specified using QwtCounter::setIncSteps(). The number of buttons can be changed with QwtCounter::setNumButtons().
Holding the space bar down with focus on a button is the fastest method to step through the counter values. When the counter underflows/overflows, the focus is set to the smallest up/down button and counting is disabled. Counting is re-enabled on a button release event (mouse or space bar).
Example:
#include "../include/qwt_counter.h> QwtCounter *cnt; cnt = new QwtCounter(parent, name); cnt->setRange(0.0, 100.0, 1.0); // From 0.0 to 100, step 1.0 cnt->setNumButtons(2); // Two buttons each side cnt->setIncSteps(QwtCounter::Button1, 1); // Button 1 increments 1 step cnt->setIncSteps(QwtCounter::Button2, 20); // Button 2 increments 20 steps connect(cnt, SIGNAL(valueChanged(double)), my_class, SLOT(newValue(double)));
Definition at line 60 of file qwt_counter.h.
Public Types | |
enum | Button { Button1, Button2, Button3, ButtonCnt } |
Signals | |
void | buttonReleased (double value) |
void | valueChanged (double value) |
Public Member Functions | |
QwtCounter (QWidget *parent=NULL) | |
virtual | ~QwtCounter () |
bool | editable () const |
void | setEditable (bool) |
void | setNumButtons (int n) |
int | numButtons () const |
void | setIncSteps (QwtCounter::Button btn, int nSteps) |
int | incSteps (QwtCounter::Button btn) const |
virtual void | setValue (double) |
virtual QSize | sizeHint () const |
virtual void | polish () |
double | step () const |
void | setStep (double s) |
double | minVal () const |
void | setMinValue (double m) |
double | maxVal () const |
void | setMaxValue (double m) |
void | setStepButton1 (int nSteps) |
int | stepButton1 () const |
void | setStepButton2 (int nSteps) |
int | stepButton2 () const |
void | setStepButton3 (int nSteps) |
int | stepButton3 () const |
virtual double | value () const |
Protected Member Functions | |
virtual bool | event (QEvent *) |
virtual void | wheelEvent (QWheelEvent *) |
virtual void | keyPressEvent (QKeyEvent *) |
virtual void | rangeChange () |
enum QwtCounter::Button |
Button index
Definition at line 79 of file qwt_counter.h.
QwtCounter::QwtCounter | ( | QWidget * | parent = NULL |
) | [explicit] |
The default number of buttons is set to 2. The default increments are:
parent |
Definition at line 50 of file qwt_counter.cpp.
QwtCounter::~QwtCounter | ( | ) | [virtual] |
bool QwtCounter::editable | ( | ) | const |
returns whether the line edit is edatble. (default is yes)
Definition at line 198 of file qwt_counter.cpp.
void QwtCounter::setEditable | ( | bool | editable | ) |
Allow/disallow the user to manually edit the value.
editable | true enables editing |
Definition at line 185 of file qwt_counter.cpp.
void QwtCounter::setNumButtons | ( | int | n | ) |
Specify the number of buttons on each side of the label.
n | Number of buttons |
Definition at line 441 of file qwt_counter.cpp.
int QwtCounter::numButtons | ( | ) | const |
Definition at line 466 of file qwt_counter.cpp.
void QwtCounter::setIncSteps | ( | QwtCounter::Button | btn, | |
int | nSteps | |||
) |
Specify the number of steps by which the value is incremented or decremented when a specified button is pushed.
btn | One of QwtCounter::Button1 , QwtCounter::Button2 , QwtCounter::Button3 | |
nSteps | Number of steps |
Definition at line 355 of file qwt_counter.cpp.
Referenced by setStepButton1(), setStepButton2(), and setStepButton3().
int QwtCounter::incSteps | ( | QwtCounter::Button | btn | ) | const |
btn | One of QwtCounter::Button1 , QwtCounter::Button2 , QwtCounter::Button3 |
Definition at line 367 of file qwt_counter.cpp.
Referenced by stepButton1(), stepButton2(), and stepButton3().
void QwtCounter::setValue | ( | double | v | ) | [virtual] |
Set a new value.
v | new value Calls QwtDoubleRange::setValue and does all visual updates. |
Reimplemented from QwtDoubleRange.
Definition at line 382 of file qwt_counter.cpp.
References QwtDoubleRange::setValue(), and value().
Referenced by keyPressEvent().
QSize QwtCounter::sizeHint | ( | ) | const [virtual] |
A size hint.
Definition at line 513 of file qwt_counter.cpp.
References QwtDoubleRange::maxValue(), QwtDoubleRange::minValue(), and step().
void QwtCounter::polish | ( | ) | [virtual] |
Sets the minimum width for the buttons
Definition at line 151 of file qwt_counter.cpp.
Referenced by event().
double QwtCounter::step | ( | ) | const |
returns the step size
Reimplemented from QwtDoubleRange.
Definition at line 550 of file qwt_counter.cpp.
References QwtDoubleRange::step().
Referenced by setMaxValue(), setMinValue(), and sizeHint().
void QwtCounter::setStep | ( | double | s | ) |
sets the step size
Reimplemented from QwtDoubleRange.
Definition at line 556 of file qwt_counter.cpp.
References QwtDoubleRange::setStep().
double QwtCounter::minVal | ( | ) | const |
returns the minimum value of the range
Definition at line 562 of file qwt_counter.cpp.
References QwtDoubleRange::minValue().
void QwtCounter::setMinValue | ( | double | m | ) |
sets the minimum value of the range
Definition at line 568 of file qwt_counter.cpp.
References QwtDoubleRange::maxValue(), QwtDoubleRange::setRange(), and step().
double QwtCounter::maxVal | ( | ) | const |
returns the maximum value of the range
Definition at line 574 of file qwt_counter.cpp.
References QwtDoubleRange::maxValue().
void QwtCounter::setMaxValue | ( | double | m | ) |
sets the maximum value of the range
Definition at line 580 of file qwt_counter.cpp.
References QwtDoubleRange::minValue(), QwtDoubleRange::setRange(), and step().
void QwtCounter::setStepButton1 | ( | int | nSteps | ) |
set the number of increment steps for button 1
Definition at line 586 of file qwt_counter.cpp.
References setIncSteps().
int QwtCounter::stepButton1 | ( | ) | const |
returns the number of increment steps for button 1
Definition at line 592 of file qwt_counter.cpp.
References incSteps().
void QwtCounter::setStepButton2 | ( | int | nSteps | ) |
set the number of increment steps for button 2
Definition at line 598 of file qwt_counter.cpp.
References setIncSteps().
int QwtCounter::stepButton2 | ( | ) | const |
returns the number of increment steps for button 2
Definition at line 604 of file qwt_counter.cpp.
References incSteps().
void QwtCounter::setStepButton3 | ( | int | nSteps | ) |
set the number of increment steps for button 3
Definition at line 610 of file qwt_counter.cpp.
References setIncSteps().
int QwtCounter::stepButton3 | ( | ) | const |
returns the number of increment steps for button 3
Definition at line 616 of file qwt_counter.cpp.
References incSteps().
double QwtCounter::value | ( | ) | const [virtual] |
Returns the current value.
Reimplemented from QwtDoubleRange.
Definition at line 621 of file qwt_counter.cpp.
References QwtDoubleRange::value().
Referenced by setValue().
void QwtCounter::buttonReleased | ( | double | value | ) | [signal] |
This signal is emitted when a button has been released
value | The new value |
void QwtCounter::valueChanged | ( | double | value | ) | [signal] |
This signal is emitted when the counter's value has changed
value | The new value |
bool QwtCounter::event | ( | QEvent * | e | ) | [protected, virtual] |
void QwtCounter::keyPressEvent | ( | QKeyEvent * | e | ) | [protected, virtual] |
Handles key events
Definition at line 236 of file qwt_counter.cpp.
References QwtDoubleRange::incValue(), QwtDoubleRange::maxValue(), QwtDoubleRange::minValue(), and setValue().
void QwtCounter::rangeChange | ( | ) | [protected, virtual] |
Notify change of range.
This function updates the enabled property of all buttons contained in QwtCounter.
Reimplemented from QwtDoubleRange.
Definition at line 507 of file qwt_counter.cpp.