Main Page | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Class Members | File Members | Related Pages

QwtKnob Class Reference

Inheritance diagram for QwtKnob:

Inheritance graph
[legend]
Collaboration diagram for QwtKnob:

Collaboration graph
[legend]
List of all members.

Detailed Description

The Knob Widget.

The QwtKnob widget imitates look and behaviour of a volume knob on a radio. It contains a scale around the knob which is set up automatically or can be configured manually (see QwtAbstractScale). Automatic scrolling is enabled when the user presses a mouse button on the scale. For a description of signals, slots and other members, see QwtAbstractSlider.

knob.gif
See also:
QwtAbstractSlider and QwtAbstractScale for the descriptions of the inherited members.

Definition at line 34 of file qwt_knob.h.

Public Types

enum  Symbol {
  Line,
  Dot
}

Public Member Functions

 QwtKnob (QWidget *parent=NULL)
virtual ~QwtKnob ()
void setKnobWidth (int w)
int knobWidth () const
void setTotalAngle (double angle)
double totalAngle () const
void setBorderWidth (int bw)
int borderWidth () const
void setSymbol (Symbol)
Symbol symbol () const
virtual QSize sizeHint () const
virtual QSize minimumSizeHint () const
void setScaleDraw (QwtRoundScaleDraw *)
const QwtRoundScaleDrawscaleDraw () const
QwtRoundScaleDrawscaleDraw ()

Protected Member Functions

virtual void paintEvent (QPaintEvent *e)
virtual void resizeEvent (QResizeEvent *e)
void draw (QPainter *p, const QRect &ur)
void drawKnob (QPainter *p, const QRect &r)
void drawMarker (QPainter *p, double arc, const QColor &c)


Member Enumeration Documentation

enum QwtKnob::Symbol
 

Symbol

See also:
QwtKnob::QwtKnob()

Definition at line 49 of file qwt_knob.h.


Constructor & Destructor Documentation

QwtKnob::QwtKnob QWidget *  parent = NULL  )  [explicit]
 

Constructor.

Parameters:
parent Parent widget

Definition at line 59 of file qwt_knob.cpp.

References QwtDoubleRange::setRange(), setScaleDraw(), setTotalAngle(), QwtAbstractSlider::setUpdateTime(), and QwtAbstractSlider::setValue().

QwtKnob::~QwtKnob  )  [virtual]
 

Destructor.

Definition at line 80 of file qwt_knob.cpp.


Member Function Documentation

int QwtKnob::borderWidth  )  const
 

Return the border width.

Definition at line 456 of file qwt_knob.cpp.

void QwtKnob::draw QPainter *  p,
const QRect &  ur
[protected]
 

Repaint the knob.

Definition at line 363 of file qwt_knob.cpp.

References QwtAbstractScaleDraw::draw(), QwtPainter::drawFocusRect(), drawKnob(), and scaleDraw().

Referenced by paintEvent().

void QwtKnob::drawKnob QPainter *  painter,
const QRect &  r
[protected]
 

Draw the knob.

Parameters:
painter painter
r Bounding rectangle of the knob (without scale)

Definition at line 170 of file qwt_knob.cpp.

References drawMarker(), QwtAbstractSlider::isValid(), and qwtMin.

Referenced by draw().

void QwtKnob::drawMarker QPainter *  p,
double  arc,
const QColor &  c
[protected]
 

Draw the marker at the knob's front.

Parameters:
p Painter
arc Angle of the marker
c Marker color

Definition at line 386 of file qwt_knob.cpp.

References M_PI, and qwtMax.

Referenced by drawKnob().

int QwtKnob::knobWidth  )  const
 

Return the width of the knob.

Definition at line 440 of file qwt_knob.cpp.

QSize QwtKnob::minimumSizeHint  )  const [virtual]
 

Return a minimum size hint.

Warning:
The return value of QwtKnob::minimumSizeHint() depends on the font and the scale.

Definition at line 517 of file qwt_knob.cpp.

References QwtRoundScaleDraw::extent(), and scaleDraw().

Referenced by sizeHint().

void QwtKnob::paintEvent QPaintEvent *  e  )  [protected, virtual]
 

Repaint the knob.

Definition at line 343 of file qwt_knob.cpp.

References draw(), and QwtPaintBuffer::painter().

void QwtKnob::resizeEvent QResizeEvent *  e  )  [protected, virtual]
 

Qt Resize Event.

Definition at line 312 of file qwt_knob.cpp.

QwtRoundScaleDraw * QwtKnob::scaleDraw  ) 
 

Returns:
the scale draw of the knob
See also:
setScaleDraw()

Definition at line 160 of file qwt_knob.cpp.

References QwtAbstractScale::abstractScaleDraw().

const QwtRoundScaleDraw * QwtKnob::scaleDraw  )  const
 

Returns:
the scale draw of the knob
See also:
setScaleDraw()

Definition at line 151 of file qwt_knob.cpp.

References QwtAbstractScale::abstractScaleDraw().

Referenced by draw(), minimumSizeHint(), and setTotalAngle().

void QwtKnob::setBorderWidth int  bw  ) 
 

Set the knob's border width.

Parameters:
bw new border width

Definition at line 449 of file qwt_knob.cpp.

References qwtMax.

void QwtKnob::setKnobWidth int  w  ) 
 

Change the knob's width.

The specified width must be >= 5, or it will be clipped.

Parameters:
w New width

Definition at line 433 of file qwt_knob.cpp.

References qwtMax.

void QwtKnob::setScaleDraw QwtRoundScaleDraw scaleDraw  ) 
 

Change the scale draw of the knob

For changing the labels of the scales, it is necessary to derive from QwtRoundScaleDraw and overload QwtRoundScaleDraw::label().

See also:
scaleDraw()

Definition at line 142 of file qwt_knob.cpp.

References QwtAbstractScale::setAbstractScaleDraw().

Referenced by QwtKnob().

void QwtKnob::setSymbol QwtKnob::Symbol  s  ) 
 

Set the symbol of the knob.

See also:
QwtKnob::symbol()

Definition at line 89 of file qwt_knob.cpp.

void QwtKnob::setTotalAngle double  angle  ) 
 

Set the total angle by which the knob can be turned.

Parameters:
angle Angle in degrees.
The default angle is 270 degrees. It is possible to specify an angle of more than 360 degrees so that the knob can be turned several times around its axis.

Definition at line 115 of file qwt_knob.cpp.

References scaleDraw(), and QwtRoundScaleDraw::setAngleRange().

Referenced by QwtKnob().

QSize QwtKnob::sizeHint  )  const [virtual]
 

Returns:
QwtKnob::minimumSizeHint()

Definition at line 507 of file qwt_knob.cpp.

References minimumSizeHint().

QwtKnob::Symbol QwtKnob::symbol  )  const
 

Returns:
symbol of the knob
See also:
QwtKnob::setSymbol()

Definition at line 102 of file qwt_knob.cpp.

double QwtKnob::totalAngle  )  const
 

Return the total angle.

Definition at line 128 of file qwt_knob.cpp.


Generated on Mon Jan 30 22:17:05 2006 for Qwt User's Guide by  doxygen 1.4.4