Qwt User's Guide 6.0.0
Public Types | Signals | Public Member Functions | Protected Member Functions

QwtCounter Class Reference

The Counter Widget. More...

#include <qwt_counter.h>

Inheritance diagram for QwtCounter:
Inheritance graph
[legend]

List of all members.

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
double step () const
void setStep (double s)
double minValue () const
void setMinValue (double m)
double maxValue () 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 ()

Detailed Description

The Counter Widget.

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)));

Member Enumeration Documentation

Button index.

Enumerator:
Button1 

Button intended for minor steps.

Button2 

Button intended for medium steps.

Button3 

Button intended for large steps.

ButtonCnt 

Number of buttons.


Constructor & Destructor Documentation

QwtCounter::QwtCounter ( QWidget *  parent = NULL) [explicit]

The default number of buttons is set to 2. The default increments are:

  • Button 1: 1 step
  • Button 2: 10 steps
  • Button 3: 100 steps
Parameters:
parent
QwtCounter::~QwtCounter ( ) [virtual]

Destructor.


Member Function Documentation

void QwtCounter::buttonReleased ( double  value) [signal]

This signal is emitted when a button has been released

Parameters:
valueThe new value
bool QwtCounter::editable ( ) const

returns whether the line edit is edatble. (default is yes)

bool QwtCounter::event ( QEvent *  event) [protected, virtual]

Handle PolishRequest events

Parameters:
eventEvent
int QwtCounter::incSteps ( QwtCounter::Button  button) const
Returns:
the number of steps by which a specified button increments the value or 0 if the button is invalid.
Parameters:
buttonButton index
See also:
setIncSteps()
void QwtCounter::keyPressEvent ( QKeyEvent *  event) [protected, virtual]

Handle key events

  • Ctrl + Qt::Key_Home
    Step to minValue()
  • Ctrl + Qt::Key_End
    Step to maxValue()
  • Qt::Key_Up
    Increment by incSteps(QwtCounter::Button1)
  • Qt::Key_Down
    Decrement by incSteps(QwtCounter::Button1)
  • Qt::Key_PageUp
    Increment by incSteps(QwtCounter::Button2)
  • Qt::Key_PageDown
    Decrement by incSteps(QwtCounter::Button2)
  • Shift + Qt::Key_PageUp
    Increment by incSteps(QwtCounter::Button3)
  • Shift + Qt::Key_PageDown
    Decrement by incSteps(QwtCounter::Button3)
Parameters:
eventKey event
double QwtCounter::maxValue ( ) const

returns the maximum value of the range

Reimplemented from QwtDoubleRange.

double QwtCounter::minValue ( ) const

returns the minimum value of the range

Reimplemented from QwtDoubleRange.

int QwtCounter::numButtons ( ) const
Returns:
The number of buttons on each side of the widget.
void QwtCounter::rangeChange ( ) [protected, virtual]

Notify change of range.

This function updates the enabled property of all buttons contained in QwtCounter.

Reimplemented from QwtDoubleRange.

void QwtCounter::setEditable ( bool  editable)

Allow/disallow the user to manually edit the value.

Parameters:
editabletrue enables editing
See also:
editable()
void QwtCounter::setIncSteps ( QwtCounter::Button  button,
int  nSteps 
)

Specify the number of steps by which the value is incremented or decremented when a specified button is pushed.

Parameters:
buttonButton index
nStepsNumber of steps
See also:
incSteps()
void QwtCounter::setMaxValue ( double  value)

Set the maximum value of the range

Parameters:
valueMaximum value
See also:
setMinValue(), maxVal()
void QwtCounter::setMinValue ( double  value)

Set the minimum value of the range

Parameters:
valueMinimum value
See also:
setMaxValue(), minValue()
void QwtCounter::setNumButtons ( int  numButtons)

Specify the number of buttons on each side of the label.

Parameters:
numButtonsNumber of buttons
void QwtCounter::setStep ( double  stepSize)

Set the step size

Parameters:
stepSizeStep size
See also:
QwtDoubleRange::setStep()

Reimplemented from QwtDoubleRange.

void QwtCounter::setStepButton1 ( int  nSteps)

Set the number of increment steps for button 1

Parameters:
nStepsNumber of steps
void QwtCounter::setStepButton2 ( int  nSteps)

Set the number of increment steps for button 2

Parameters:
nStepsNumber of steps
void QwtCounter::setStepButton3 ( int  nSteps)

Set the number of increment steps for button 3

Parameters:
nStepsNumber of steps
void QwtCounter::setValue ( double  value) [virtual]

Set a new value.

Calls QwtDoubleRange::setValue and does all visual updates.

Parameters:
valueNew value
See also:
QwtDoubleRange::setValue()

Reimplemented from QwtDoubleRange.

QSize QwtCounter::sizeHint ( ) const [virtual]

A size hint.

double QwtCounter::step ( ) const

returns the step size

Reimplemented from QwtDoubleRange.

int QwtCounter::stepButton1 ( ) const

returns the number of increment steps for button 1

int QwtCounter::stepButton2 ( ) const

returns the number of increment steps for button 2

int QwtCounter::stepButton3 ( ) const

returns the number of increment steps for button 3

double QwtCounter::value ( ) const [virtual]
Returns:
Current value

Reimplemented from QwtDoubleRange.

void QwtCounter::valueChanged ( double  value) [signal]

This signal is emitted when the counter's value has changed

Parameters:
valueThe new value
void QwtCounter::wheelEvent ( QWheelEvent *  event) [protected, virtual]

Handle wheel events

Parameters:
eventWheel event