Dhanya Thattil 38cd10d4e6
Qt5 built in qwt (#570)
- qt4->qt5
- in built qt5 6.1.5 because rhel7 is not upto date with qt5, removed findqwt.cmake
- made a fix in qwt lib (qwt_plot_layout.h) to work with 5.15 and lower versions for qrect constr.
- qt5 forms fixed, qt4 many hard coding forms switched to forms including qtabwidget, scrolls etc, fonts moved to forms
 - docking option enabled by default, removed option to disable docking feature from "Mode"
- added qVersionResolve utility functions to handle compatibility before and after qt5.12
- qtplots (ian's code) takes in gain mode enable to set some settings within the class, with proper gain plot ticks
- ensure gain plots have no zooming of z axis in 2d and y axis in 1d
- removed placeholder text in qpalette in main window form as its not supportd until 5.12 (so using qt5.9 designer insted of qt5.15 to cope)
- tab order
Servers:
- fixed some error messages that were empty for fail in funcs (mostly minor as if this error, major issues)
2022-11-11 15:15:10 +01:00

637 lines
12 KiB
Groff

.TH "QwtKnob" 3 "Mon Jun 1 2020" "Version 6.1.5" "Qwt User's Guide" \" -*- nroff -*-
.ad l
.nh
.SH NAME
QwtKnob \- The Knob Widget\&.
.SH SYNOPSIS
.br
.PP
.PP
\fC#include <qwt_knob\&.h>\fP
.PP
Inherits \fBQwtAbstractSlider\fP\&.
.SS "Public Types"
.in +1c
.ti -1c
.RI "enum \fBKnobStyle\fP { \fBFlat\fP, \fBRaised\fP, \fBSunken\fP, \fBStyled\fP }"
.br
.RI "Style of the knob surface\&. "
.ti -1c
.RI "enum \fBMarkerStyle\fP { \fBNoMarker\fP = -1, \fBTick\fP, \fBTriangle\fP, \fBDot\fP, \fBNub\fP, \fBNotch\fP }"
.br
.RI "Marker type\&. "
.in -1c
.SS "Public Member Functions"
.in +1c
.ti -1c
.RI "\fBQwtKnob\fP (QWidget *parent=NULL)"
.br
.RI "Constructor\&. "
.ti -1c
.RI "virtual \fB~QwtKnob\fP ()"
.br
.RI "Destructor\&. "
.ti -1c
.RI "void \fBsetAlignment\fP (Qt::Alignment)"
.br
.RI "Set the alignment of the knob\&. "
.ti -1c
.RI "Qt::Alignment \fBalignment\fP () const"
.br
.ti -1c
.RI "void \fBsetKnobWidth\fP (int)"
.br
.RI "Change the knob's width\&. "
.ti -1c
.RI "int \fBknobWidth\fP () const"
.br
.RI "Return the width of the knob\&. "
.ti -1c
.RI "void \fBsetNumTurns\fP (int)"
.br
.RI "Set the number of turns\&. "
.ti -1c
.RI "int \fBnumTurns\fP () const"
.br
.ti -1c
.RI "void \fBsetTotalAngle\fP (double angle)"
.br
.RI "Set the total angle by which the knob can be turned\&. "
.ti -1c
.RI "double \fBtotalAngle\fP () const"
.br
.ti -1c
.RI "void \fBsetKnobStyle\fP (\fBKnobStyle\fP)"
.br
.RI "Set the knob type\&. "
.ti -1c
.RI "\fBKnobStyle\fP \fBknobStyle\fP () const"
.br
.ti -1c
.RI "void \fBsetBorderWidth\fP (int)"
.br
.RI "Set the knob's border width\&. "
.ti -1c
.RI "int \fBborderWidth\fP () const"
.br
.RI "Return the border width\&. "
.ti -1c
.RI "void \fBsetMarkerStyle\fP (\fBMarkerStyle\fP)"
.br
.RI "Set the marker type of the knob\&. "
.ti -1c
.RI "\fBMarkerStyle\fP \fBmarkerStyle\fP () const"
.br
.ti -1c
.RI "void \fBsetMarkerSize\fP (int)"
.br
.RI "Set the size of the marker\&. "
.ti -1c
.RI "int \fBmarkerSize\fP () const"
.br
.ti -1c
.RI "virtual QSize \fBsizeHint\fP () const"
.br
.ti -1c
.RI "virtual QSize \fBminimumSizeHint\fP () const"
.br
.ti -1c
.RI "void \fBsetScaleDraw\fP (\fBQwtRoundScaleDraw\fP *)"
.br
.ti -1c
.RI "const \fBQwtRoundScaleDraw\fP * \fBscaleDraw\fP () const"
.br
.ti -1c
.RI "\fBQwtRoundScaleDraw\fP * \fBscaleDraw\fP ()"
.br
.ti -1c
.RI "QRect \fBknobRect\fP () const"
.br
.in -1c
.SS "Protected Member Functions"
.in +1c
.ti -1c
.RI "virtual void \fBpaintEvent\fP (QPaintEvent *)"
.br
.ti -1c
.RI "virtual void \fBchangeEvent\fP (QEvent *)"
.br
.ti -1c
.RI "virtual void \fBdrawKnob\fP (QPainter *, const QRectF &) const"
.br
.RI "Draw the knob\&. "
.ti -1c
.RI "virtual void \fBdrawFocusIndicator\fP (QPainter *) const"
.br
.ti -1c
.RI "virtual void \fBdrawMarker\fP (QPainter *, const QRectF &, double angle) const"
.br
.RI "Draw the marker at the knob's front\&. "
.ti -1c
.RI "virtual double \fBscrolledTo\fP (const QPoint &) const"
.br
.RI "Determine the value for a new position of the mouse\&. "
.ti -1c
.RI "virtual bool \fBisScrollPosition\fP (const QPoint &) const"
.br
.RI "Determine what to do when the user presses a mouse button\&. "
.in -1c
.SS "Additional Inherited Members"
.SH "Detailed Description"
.PP
The Knob Widget\&.
The \fBQwtKnob\fP widget imitates look and behavior of a volume knob on a radio\&. It looks similar to QDial - not to \fBQwtDial\fP\&.
.PP
The value range of a knob might be divided into several turns\&.
.PP
The layout of the knob depends on the \fBknobWidth()\fP\&.
.PP
.IP "\(bu" 2
width > 0 The diameter of the knob is fixed and the knob is aligned according to the \fBalignment()\fP flags inside of the contentsRect()\&.
.IP "\(bu" 2
width <= 0 The knob is extended to the minimum of width/height of the contentsRect() and aligned in the other direction according to \fBalignment()\fP\&.
.PP
.PP
Setting a fixed \fBknobWidth()\fP is helpful to align several knobs with different scale labels\&.
.PP
.SH "Member Enumeration Documentation"
.PP
.SS "enum \fBQwtKnob::KnobStyle\fP"
.PP
Style of the knob surface\&. Depending on the KnobStyle the surface of the knob is filled from the brushes of the widget palette()\&.
.PP
\fBSee also\fP
.RS 4
\fBsetKnobStyle()\fP, \fBknobStyle()\fP
.RE
.PP
.PP
\fBEnumerator\fP
.in +1c
.TP
\fB\fIFlat \fP\fP
Fill the knob with a brush from QPalette::Button\&.
.TP
\fB\fIRaised \fP\fP
Build a gradient from QPalette::Midlight and QPalette::Button\&.
.TP
\fB\fISunken \fP\fP
Build a gradient from QPalette::Midlight, QPalette::Button and QPalette::Midlight
.TP
\fB\fIStyled \fP\fP
Build a radial gradient from QPalette::Button like it is used for QDial in various Qt styles\&.
.SS "enum \fBQwtKnob::MarkerStyle\fP"
.PP
Marker type\&. The marker indicates the current value on the knob The default setting is a Notch marker\&.
.PP
\fBSee also\fP
.RS 4
\fBsetMarkerStyle()\fP, \fBsetMarkerSize()\fP
.RE
.PP
.PP
\fBEnumerator\fP
.in +1c
.TP
\fB\fINoMarker \fP\fP
Don't paint any marker\&.
.TP
\fB\fITick \fP\fP
Paint a single tick in QPalette::ButtonText color\&.
.TP
\fB\fITriangle \fP\fP
Paint a triangle in QPalette::ButtonText color\&.
.TP
\fB\fIDot \fP\fP
Paint a circle in QPalette::ButtonText color\&.
.TP
\fB\fINub \fP\fP
Draw a raised ellipse with a gradient build from QPalette::Light and QPalette::Mid
.TP
\fB\fINotch \fP\fP
Draw a sunken ellipse with a gradient build from QPalette::Light and QPalette::Mid
.SH "Constructor & Destructor Documentation"
.PP
.SS "QwtKnob::QwtKnob (QWidget * parent = \fCNULL\fP)\fC [explicit]\fP"
.PP
Constructor\&. Construct a knob with an angle of 270°\&. The style is \fBQwtKnob::Raised\fP and the marker style is \fBQwtKnob::Notch\fP\&. The width of the knob is set to 50 pixels\&.
.PP
\fBParameters\fP
.RS 4
\fIparent\fP Parent widget
.RE
.PP
\fBSee also\fP
.RS 4
\fBsetTotalAngle()\fP
.RE
.PP
.SH "Member Function Documentation"
.PP
.SS "Qt::Alignment QwtKnob::alignment () const"
.PP
\fBReturns\fP
.RS 4
Alignment of the knob inside of contentsRect()
.RE
.PP
\fBSee also\fP
.RS 4
\fBsetAlignment()\fP, \fBknobWidth()\fP, \fBknobRect()\fP
.RE
.PP
.SS "void QwtKnob::changeEvent (QEvent * event)\fC [protected]\fP, \fC [virtual]\fP"
Handle QEvent::StyleChange and QEvent::FontChange;
.PP
\fBParameters\fP
.RS 4
\fIevent\fP Change event
.RE
.PP
.SS "void QwtKnob::drawFocusIndicator (QPainter * painter) const\fC [protected]\fP, \fC [virtual]\fP"
Draw the focus indicator
.PP
\fBParameters\fP
.RS 4
\fIpainter\fP Painter
.RE
.PP
.SS "void QwtKnob::drawKnob (QPainter * painter, const QRectF & knobRect) const\fC [protected]\fP, \fC [virtual]\fP"
.PP
Draw the knob\&.
.PP
\fBParameters\fP
.RS 4
\fIpainter\fP painter
.br
\fIknobRect\fP Bounding rectangle of the knob (without scale)
.RE
.PP
.SS "void QwtKnob::drawMarker (QPainter * painter, const QRectF & rect, double angle) const\fC [protected]\fP, \fC [virtual]\fP"
.PP
Draw the marker at the knob's front\&.
.PP
\fBParameters\fP
.RS 4
\fIpainter\fP Painter
.br
\fIrect\fP Bounding rectangle of the knob without scale
.br
\fIangle\fP Angle of the marker in degrees ( clockwise, 0 at the 12 o'clock position )
.RE
.PP
.SS "bool QwtKnob::isScrollPosition (const QPoint & pos) const\fC [protected]\fP, \fC [virtual]\fP"
.PP
Determine what to do when the user presses a mouse button\&.
.PP
\fBParameters\fP
.RS 4
\fIpos\fP Mouse position
.RE
.PP
\fBReturn values\fP
.RS 4
\fITrue,when\fP pos is inside the circle of the knob\&.
.RE
.PP
\fBSee also\fP
.RS 4
\fBscrolledTo()\fP
.RE
.PP
.PP
Implements \fBQwtAbstractSlider\fP\&.
.SS "QRect QwtKnob::knobRect () const"
Calculate the bounding rectangle of the knob without the scale
.PP
\fBReturns\fP
.RS 4
Bounding rectangle of the knob
.RE
.PP
\fBSee also\fP
.RS 4
\fBknobWidth()\fP, \fBalignment()\fP, QWidget::contentsRect()
.RE
.PP
.SS "\fBQwtKnob::KnobStyle\fP QwtKnob::knobStyle () const"
.PP
\fBReturns\fP
.RS 4
Marker type of the knob
.RE
.PP
\fBSee also\fP
.RS 4
\fBsetKnobStyle()\fP, \fBsetBorderWidth()\fP
.RE
.PP
.SS "int QwtKnob::markerSize () const"
.PP
\fBReturns\fP
.RS 4
Marker size
.RE
.PP
\fBSee also\fP
.RS 4
\fBsetMarkerSize()\fP
.RE
.PP
.SS "\fBQwtKnob::MarkerStyle\fP QwtKnob::markerStyle () const"
.PP
\fBReturns\fP
.RS 4
Marker type of the knob
.RE
.PP
\fBSee also\fP
.RS 4
\fBsetMarkerStyle()\fP, \fBsetMarkerSize()\fP
.RE
.PP
.SS "QSize QwtKnob::minimumSizeHint () const\fC [virtual]\fP"
.PP
\fBReturns\fP
.RS 4
Minimum size hint
.RE
.PP
\fBSee also\fP
.RS 4
\fBsizeHint()\fP
.RE
.PP
.SS "int QwtKnob::numTurns () const"
.PP
\fBReturns\fP
.RS 4
Number of turns\&.
.RE
.PP
When the total angle is below 360° \fBnumTurns()\fP is ceiled to 1\&.
.PP
\fBSee also\fP
.RS 4
\fBsetNumTurns()\fP, \fBsetTotalAngle()\fP, \fBtotalAngle()\fP
.RE
.PP
.SS "void QwtKnob::paintEvent (QPaintEvent * event)\fC [protected]\fP, \fC [virtual]\fP"
Repaint the knob
.PP
\fBParameters\fP
.RS 4
\fIevent\fP Paint event
.RE
.PP
.SS "\fBQwtRoundScaleDraw\fP * QwtKnob::scaleDraw ()"
.PP
\fBReturns\fP
.RS 4
the scale draw of the knob
.RE
.PP
\fBSee also\fP
.RS 4
\fBsetScaleDraw()\fP
.RE
.PP
.SS "const \fBQwtRoundScaleDraw\fP * QwtKnob::scaleDraw () const"
.PP
\fBReturns\fP
.RS 4
the scale draw of the knob
.RE
.PP
\fBSee also\fP
.RS 4
\fBsetScaleDraw()\fP
.RE
.PP
.SS "double QwtKnob::scrolledTo (const QPoint & pos) const\fC [protected]\fP, \fC [virtual]\fP"
.PP
Determine the value for a new position of the mouse\&.
.PP
\fBParameters\fP
.RS 4
\fIpos\fP Mouse position
.RE
.PP
\fBReturns\fP
.RS 4
Value for the mouse position
.RE
.PP
\fBSee also\fP
.RS 4
\fBisScrollPosition()\fP
.RE
.PP
.PP
Implements \fBQwtAbstractSlider\fP\&.
.SS "void QwtKnob::setAlignment (Qt::Alignment alignment)"
.PP
Set the alignment of the knob\&. Similar to a QLabel::alignment() the flags decide how to align the knob inside of contentsRect()\&.
.PP
The default setting is Qt::AlignCenter
.PP
\fBParameters\fP
.RS 4
\fIalignment\fP Or'd alignment flags
.RE
.PP
\fBSee also\fP
.RS 4
\fBalignment()\fP, \fBsetKnobWidth()\fP, \fBknobRect()\fP
.RE
.PP
.SS "void QwtKnob::setBorderWidth (int borderWidth)"
.PP
Set the knob's border width\&.
.PP
\fBParameters\fP
.RS 4
\fIborderWidth\fP new border width
.RE
.PP
.SS "void QwtKnob::setKnobStyle (\fBKnobStyle\fP knobStyle)"
.PP
Set the knob type\&.
.PP
\fBParameters\fP
.RS 4
\fIknobStyle\fP Knob type
.RE
.PP
\fBSee also\fP
.RS 4
\fBknobStyle()\fP, \fBsetBorderWidth()\fP
.RE
.PP
.SS "void QwtKnob::setKnobWidth (int width)"
.PP
Change the knob's width\&. Setting a fixed value for the diameter of the knob is helpful for aligning several knobs in a row\&.
.PP
\fBParameters\fP
.RS 4
\fIwidth\fP New width
.RE
.PP
\fBSee also\fP
.RS 4
\fBknobWidth()\fP, \fBsetAlignment()\fP
.RE
.PP
\fBNote\fP
.RS 4
Modifies the sizePolicy()
.RE
.PP
.SS "void QwtKnob::setMarkerSize (int size)"
.PP
Set the size of the marker\&. When setting a size <= 0 the marker will automatically scaled to 40% of the radius of the knob\&.
.PP
\fBSee also\fP
.RS 4
\fBmarkerSize()\fP, \fBmarkerStyle()\fP
.RE
.PP
.SS "void QwtKnob::setMarkerStyle (\fBMarkerStyle\fP markerStyle)"
.PP
Set the marker type of the knob\&.
.PP
\fBParameters\fP
.RS 4
\fImarkerStyle\fP Marker type
.RE
.PP
\fBSee also\fP
.RS 4
\fBmarkerStyle()\fP, \fBsetMarkerSize()\fP
.RE
.PP
.SS "void QwtKnob::setNumTurns (int numTurns)"
.PP
Set the number of turns\&. When numTurns > 1 the knob can be turned several times around its axis
.IP "\(bu" 2
otherwise the total angle is floored to 360°\&.
.PP
.PP
\fBSee also\fP
.RS 4
\fBnumTurns()\fP, \fBtotalAngle()\fP, \fBsetTotalAngle()\fP
.RE
.PP
.SS "void QwtKnob::setScaleDraw (\fBQwtRoundScaleDraw\fP * scaleDraw)"
Change the scale draw of the knob
.PP
For changing the labels of the scales, it is necessary to derive from \fBQwtRoundScaleDraw\fP and overload \fBQwtRoundScaleDraw::label()\fP\&.
.PP
\fBSee also\fP
.RS 4
\fBscaleDraw()\fP
.RE
.PP
.SS "void QwtKnob::setTotalAngle (double angle)"
.PP
Set the total angle by which the knob can be turned\&.
.PP
\fBParameters\fP
.RS 4
\fIangle\fP Angle in degrees\&.
.RE
.PP
The angle has to be between [10, 360] degrees\&. Angles above 360 ( so that the knob can be turned several times around its axis ) have to be set using \fBsetNumTurns()\fP\&.
.PP
The default angle is 270 degrees\&.
.PP
\fBSee also\fP
.RS 4
\fBtotalAngle()\fP, \fBsetNumTurns()\fP
.RE
.PP
.SS "QSize QwtKnob::sizeHint () const\fC [virtual]\fP"
.PP
\fBReturns\fP
.RS 4
\fBsizeHint()\fP
.RE
.PP
.SS "double QwtKnob::totalAngle () const"
.PP
\fBReturns\fP
.RS 4
the total angle
.RE
.PP
\fBSee also\fP
.RS 4
\fBsetTotalAngle()\fP, \fBsetNumTurns()\fP, \fBnumTurns()\fP
.RE
.PP
.SH "Author"
.PP
Generated automatically by Doxygen for Qwt User's Guide from the source code\&.