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

1250 lines
29 KiB
Groff

.TH "QwtPicker" 3 "Mon Jun 1 2020" "Version 6.1.5" "Qwt User's Guide" \" -*- nroff -*-
.ad l
.nh
.SH NAME
QwtPicker \- \fBQwtPicker\fP provides selections on a widget\&.
.SH SYNOPSIS
.br
.PP
.PP
\fC#include <qwt_picker\&.h>\fP
.PP
Inherits QObject, and \fBQwtEventPattern\fP\&.
.PP
Inherited by \fBQwtPlotPicker\fP\&.
.SS "Public Types"
.in +1c
.ti -1c
.RI "enum \fBRubberBand\fP { \fBNoRubberBand\fP = 0, \fBHLineRubberBand\fP, \fBVLineRubberBand\fP, \fBCrossRubberBand\fP, \fBRectRubberBand\fP, \fBEllipseRubberBand\fP, \fBPolygonRubberBand\fP, \fBUserRubberBand\fP = 100 }"
.br
.ti -1c
.RI "enum \fBDisplayMode\fP { \fBAlwaysOff\fP, \fBAlwaysOn\fP, \fBActiveOnly\fP }"
.br
.RI "Display mode\&. "
.ti -1c
.RI "enum \fBResizeMode\fP { \fBStretch\fP, \fBKeepSize\fP }"
.br
.in -1c
.SS "Public Slots"
.in +1c
.ti -1c
.RI "void \fBsetEnabled\fP (bool)"
.br
.RI "En/disable the picker\&. "
.in -1c
.SS "Signals"
.in +1c
.ti -1c
.RI "void \fBactivated\fP (bool on)"
.br
.ti -1c
.RI "void \fBselected\fP (const QPolygon &polygon)"
.br
.ti -1c
.RI "void \fBappended\fP (const QPoint &pos)"
.br
.ti -1c
.RI "void \fBmoved\fP (const QPoint &pos)"
.br
.ti -1c
.RI "void \fBremoved\fP (const QPoint &pos)"
.br
.ti -1c
.RI "void \fBchanged\fP (const QPolygon &\fBselection\fP)"
.br
.in -1c
.SS "Public Member Functions"
.in +1c
.ti -1c
.RI "\fBQwtPicker\fP (QWidget *parent)"
.br
.ti -1c
.RI "\fBQwtPicker\fP (\fBRubberBand\fP \fBrubberBand\fP, \fBDisplayMode\fP \fBtrackerMode\fP, QWidget *)"
.br
.ti -1c
.RI "virtual \fB~QwtPicker\fP ()"
.br
.RI "Destructor\&. "
.ti -1c
.RI "void \fBsetStateMachine\fP (\fBQwtPickerMachine\fP *)"
.br
.ti -1c
.RI "const \fBQwtPickerMachine\fP * \fBstateMachine\fP () const"
.br
.ti -1c
.RI "\fBQwtPickerMachine\fP * \fBstateMachine\fP ()"
.br
.ti -1c
.RI "void \fBsetRubberBand\fP (\fBRubberBand\fP)"
.br
.ti -1c
.RI "\fBRubberBand\fP \fBrubberBand\fP () const"
.br
.ti -1c
.RI "void \fBsetTrackerMode\fP (\fBDisplayMode\fP)"
.br
.RI "Set the display mode of the tracker\&. "
.ti -1c
.RI "\fBDisplayMode\fP \fBtrackerMode\fP () const"
.br
.ti -1c
.RI "void \fBsetResizeMode\fP (\fBResizeMode\fP)"
.br
.RI "Set the resize mode\&. "
.ti -1c
.RI "\fBResizeMode\fP \fBresizeMode\fP () const"
.br
.ti -1c
.RI "void \fBsetRubberBandPen\fP (const QPen &)"
.br
.ti -1c
.RI "QPen \fBrubberBandPen\fP () const"
.br
.ti -1c
.RI "void \fBsetTrackerPen\fP (const QPen &)"
.br
.ti -1c
.RI "QPen \fBtrackerPen\fP () const"
.br
.ti -1c
.RI "void \fBsetTrackerFont\fP (const QFont &)"
.br
.ti -1c
.RI "QFont \fBtrackerFont\fP () const"
.br
.ti -1c
.RI "bool \fBisEnabled\fP () const"
.br
.ti -1c
.RI "bool \fBisActive\fP () const"
.br
.ti -1c
.RI "virtual bool \fBeventFilter\fP (QObject *, QEvent *)"
.br
.RI "Event filter\&. "
.ti -1c
.RI "QWidget * \fBparentWidget\fP ()"
.br
.RI "Return the parent widget, where the selection happens\&. "
.ti -1c
.RI "const QWidget * \fBparentWidget\fP () const"
.br
.RI "Return the parent widget, where the selection happens\&. "
.ti -1c
.RI "virtual QPainterPath \fBpickArea\fP () const"
.br
.ti -1c
.RI "virtual void \fBdrawRubberBand\fP (QPainter *) const"
.br
.ti -1c
.RI "virtual void \fBdrawTracker\fP (QPainter *) const"
.br
.ti -1c
.RI "virtual QRegion \fBrubberBandMask\fP () const"
.br
.ti -1c
.RI "virtual \fBQwtText\fP \fBtrackerText\fP (const QPoint &pos) const"
.br
.RI "Return the label for a position\&. "
.ti -1c
.RI "QPoint \fBtrackerPosition\fP () const"
.br
.ti -1c
.RI "virtual QRect \fBtrackerRect\fP (const QFont &) const"
.br
.ti -1c
.RI "QPolygon \fBselection\fP () const"
.br
.in -1c
.SS "Protected Member Functions"
.in +1c
.ti -1c
.RI "virtual QPolygon \fBadjustedPoints\fP (const QPolygon &) const"
.br
.RI "Map the \fBpickedPoints()\fP into a \fBselection()\fP "
.ti -1c
.RI "virtual void \fBtransition\fP (const QEvent *)"
.br
.ti -1c
.RI "virtual void \fBbegin\fP ()"
.br
.ti -1c
.RI "virtual void \fBappend\fP (const QPoint &)"
.br
.ti -1c
.RI "virtual void \fBmove\fP (const QPoint &)"
.br
.ti -1c
.RI "virtual void \fBremove\fP ()"
.br
.ti -1c
.RI "virtual bool \fBend\fP (bool ok=true)"
.br
.RI "Close a selection setting the state to inactive\&. "
.ti -1c
.RI "virtual bool \fBaccept\fP (QPolygon &) const"
.br
.RI "Validate and fix up the selection\&. "
.ti -1c
.RI "virtual void \fBreset\fP ()"
.br
.ti -1c
.RI "virtual void \fBwidgetMousePressEvent\fP (QMouseEvent *)"
.br
.ti -1c
.RI "virtual void \fBwidgetMouseReleaseEvent\fP (QMouseEvent *)"
.br
.ti -1c
.RI "virtual void \fBwidgetMouseDoubleClickEvent\fP (QMouseEvent *)"
.br
.ti -1c
.RI "virtual void \fBwidgetMouseMoveEvent\fP (QMouseEvent *)"
.br
.ti -1c
.RI "virtual void \fBwidgetWheelEvent\fP (QWheelEvent *)"
.br
.ti -1c
.RI "virtual void \fBwidgetKeyPressEvent\fP (QKeyEvent *)"
.br
.ti -1c
.RI "virtual void \fBwidgetKeyReleaseEvent\fP (QKeyEvent *)"
.br
.ti -1c
.RI "virtual void \fBwidgetEnterEvent\fP (QEvent *)"
.br
.ti -1c
.RI "virtual void \fBwidgetLeaveEvent\fP (QEvent *)"
.br
.ti -1c
.RI "virtual void \fBstretchSelection\fP (const QSize &oldSize, const QSize &newSize)"
.br
.ti -1c
.RI "virtual void \fBupdateDisplay\fP ()"
.br
.RI "Update the state of rubber band and tracker label\&. "
.ti -1c
.RI "const \fBQwtWidgetOverlay\fP * \fBrubberBandOverlay\fP () const"
.br
.ti -1c
.RI "const \fBQwtWidgetOverlay\fP * \fBtrackerOverlay\fP () const"
.br
.ti -1c
.RI "const QPolygon & \fBpickedPoints\fP () const"
.br
.in -1c
.SH "Detailed Description"
.PP
\fBQwtPicker\fP provides selections on a widget\&.
\fBQwtPicker\fP filters all enter, leave, mouse and keyboard events of a widget and translates them into an array of selected points\&.
.PP
The way how the points are collected depends on type of state machine that is connected to the picker\&. Qwt offers a couple of predefined state machines for selecting:
.PP
.IP "\(bu" 2
Nothing
.br
\fBQwtPickerTrackerMachine\fP
.IP "\(bu" 2
Single points
.br
\fBQwtPickerClickPointMachine\fP, \fBQwtPickerDragPointMachine\fP
.IP "\(bu" 2
Rectangles
.br
\fBQwtPickerClickRectMachine\fP, \fBQwtPickerDragRectMachine\fP
.IP "\(bu" 2
Polygons
.br
\fBQwtPickerPolygonMachine\fP
.PP
.PP
While these state machines cover the most common ways to collect points it is also possible to implement individual machines as well\&.
.PP
\fBQwtPicker\fP translates the picked points into a selection using the \fBadjustedPoints()\fP method\&. \fBadjustedPoints()\fP is intended to be reimplemented to fix up the selection according to application specific requirements\&. (F\&.e\&. when an application accepts rectangles of a fixed aspect ratio only\&.)
.PP
Optionally \fBQwtPicker\fP support the process of collecting points by a rubber band and tracker displaying a text for the current mouse position\&.
.PP
\fBExample\fP
.RS 4
.PP
.nf
#include <qwt_picker\&.h>
#include <qwt_picker_machine\&.h>
QwtPicker *picker = new QwtPicker(widget);
picker->setStateMachine(new QwtPickerDragRectMachine);
picker->setTrackerMode(QwtPicker::ActiveOnly);
picker->setRubberBand(QwtPicker::RectRubberBand);
.fi
.PP
\\endpar
.RE
.PP
The state machine triggers the following commands:
.PP
.IP "\(bu" 2
\fBbegin()\fP
.br
Activate/Initialize the selection\&.
.IP "\(bu" 2
\fBappend()\fP
.br
Add a new point
.IP "\(bu" 2
\fBmove()\fP
.br
Change the position of the last point\&.
.IP "\(bu" 2
\fBremove()\fP
.br
Remove the last point\&.
.IP "\(bu" 2
\fBend()\fP
.br
Terminate the selection and call accept to validate the picked points\&.
.PP
.PP
The picker is active (\fBisActive()\fP), between \fBbegin()\fP and \fBend()\fP\&. In active state the rubber band is displayed, and the tracker is visible in case of trackerMode is ActiveOnly or AlwaysOn\&.
.PP
The cursor can be moved using the arrow keys\&. All selections can be aborted using the abort key\&. (\fBQwtEventPattern::KeyPatternCode\fP)
.PP
\fBWarning\fP
.RS 4
In case of QWidget::NoFocus the focus policy of the observed widget is set to QWidget::WheelFocus and mouse tracking will be manipulated while the picker is active, or if \fBtrackerMode()\fP is AlwayOn\&.
.RE
.PP
.SH "Member Enumeration Documentation"
.PP
.SS "enum \fBQwtPicker::DisplayMode\fP"
.PP
Display mode\&.
.PP
\fBSee also\fP
.RS 4
\fBsetTrackerMode()\fP, \fBtrackerMode()\fP, \fBisActive()\fP
.RE
.PP
.PP
\fBEnumerator\fP
.in +1c
.TP
\fB\fIAlwaysOff \fP\fP
Display never\&.
.TP
\fB\fIAlwaysOn \fP\fP
Display always\&.
.TP
\fB\fIActiveOnly \fP\fP
Display only when the selection is active\&.
.SS "enum \fBQwtPicker::ResizeMode\fP"
Controls what to do with the selected points of an active selection when the observed widget is resized\&.
.PP
The default value is \fBQwtPicker::Stretch\fP\&.
.PP
\fBSee also\fP
.RS 4
\fBsetResizeMode()\fP
.RE
.PP
.PP
\fBEnumerator\fP
.in +1c
.TP
\fB\fIStretch \fP\fP
All points are scaled according to the new size,\&.
.TP
\fB\fIKeepSize \fP\fP
All points remain unchanged\&.
.SS "enum \fBQwtPicker::RubberBand\fP"
Rubber band style
.PP
The default value is \fBQwtPicker::NoRubberBand\fP\&.
.PP
\fBSee also\fP
.RS 4
\fBsetRubberBand()\fP, \fBrubberBand()\fP
.RE
.PP
.PP
\fBEnumerator\fP
.in +1c
.TP
\fB\fINoRubberBand \fP\fP
No rubberband\&.
.TP
\fB\fIHLineRubberBand \fP\fP
A horizontal line ( only for \fBQwtPickerMachine::PointSelection\fP )
.TP
\fB\fIVLineRubberBand \fP\fP
A vertical line ( only for \fBQwtPickerMachine::PointSelection\fP )
.TP
\fB\fICrossRubberBand \fP\fP
A crosshair ( only for \fBQwtPickerMachine::PointSelection\fP )
.TP
\fB\fIRectRubberBand \fP\fP
A rectangle ( only for \fBQwtPickerMachine::RectSelection\fP )
.TP
\fB\fIEllipseRubberBand \fP\fP
An ellipse ( only for \fBQwtPickerMachine::RectSelection\fP )
.TP
\fB\fIPolygonRubberBand \fP\fP
A polygon ( only for \fBQwtPickerMachine::PolygonSelection\fP )
.TP
\fB\fIUserRubberBand \fP\fP
Values >= UserRubberBand can be used to define additional rubber bands\&.
.SH "Constructor & Destructor Documentation"
.PP
.SS "QwtPicker::QwtPicker (QWidget * parent)\fC [explicit]\fP"
Constructor
.PP
Creates an picker that is enabled, but without a state machine\&. rubber band and tracker are disabled\&.
.PP
\fBParameters\fP
.RS 4
\fIparent\fP Parent widget, that will be observed
.RE
.PP
.SS "QwtPicker::QwtPicker (\fBRubberBand\fP rubberBand, \fBDisplayMode\fP trackerMode, QWidget * parent)\fC [explicit]\fP"
Constructor
.PP
\fBParameters\fP
.RS 4
\fIrubberBand\fP Rubber band style
.br
\fItrackerMode\fP Tracker mode
.br
\fIparent\fP Parent widget, that will be observed
.RE
.PP
.SH "Member Function Documentation"
.PP
.SS "bool QwtPicker::accept (QPolygon & selection) const\fC [protected]\fP, \fC [virtual]\fP"
.PP
Validate and fix up the selection\&. Accepts all selections unmodified
.PP
\fBParameters\fP
.RS 4
\fIselection\fP Selection to validate and fix up
.RE
.PP
\fBReturns\fP
.RS 4
true, when accepted, false otherwise
.RE
.PP
.PP
Reimplemented in \fBQwtPlotZoomer\fP\&.
.SS "void QwtPicker::activated (bool on)\fC [signal]\fP"
A signal indicating, when the picker has been activated\&. Together with \fBsetEnabled()\fP it can be used to implement selections with more than one picker\&.
.PP
\fBParameters\fP
.RS 4
\fIon\fP True, when the picker has been activated
.RE
.PP
.SS "QPolygon QwtPicker::adjustedPoints (const QPolygon & points) const\fC [protected]\fP, \fC [virtual]\fP"
.PP
Map the \fBpickedPoints()\fP into a \fBselection()\fP \fBadjustedPoints()\fP maps the points, that have been collected on the \fBparentWidget()\fP into a \fBselection()\fP\&. The default implementation simply returns the points unmodified\&.
.PP
The reason, why a \fBselection()\fP differs from the picked points depends on the application requirements\&. F\&.e\&. :
.PP
.IP "\(bu" 2
A rectangular selection might need to have a specific aspect ratio only\&.
.IP "\(bu" 2
A selection could accept non intersecting polygons only\&.
.IP "\(bu" 2
\&.\&.\&.
.PP
.PP
The example below is for a rectangular selection, where the first point is the center of the selected rectangle\&.
.PP
\fBExample\fP
.RS 4
.PP
.nf
QPolygon MyPicker::adjustedPoints( const QPolygon &points ) const
{
QPolygon adjusted;
if ( points\&.size() == 2 )
{
const int width = qAbs( points[1]\&.x() - points[0]\&.x() );
const int height = qAbs( points[1]\&.y() - points[0]\&.y() );
QRect rect( 0, 0, 2 * width, 2 * height );
rect\&.moveCenter( points[0] );
adjusted += rect\&.topLeft();
adjusted += rect\&.bottomRight();
}
return adjusted;
}
.fi
.PP
\\endpar
.RE
.PP
\fBParameters\fP
.RS 4
\fIpoints\fP Selected points
.RE
.PP
\fBReturns\fP
.RS 4
Selected points unmodified
.RE
.PP
.SS "void QwtPicker::append (const QPoint & pos)\fC [protected]\fP, \fC [virtual]\fP"
Append a point to the selection and update rubber band and tracker\&. The \fBappended()\fP signal is emitted\&.
.PP
\fBParameters\fP
.RS 4
\fIpos\fP Additional point
.RE
.PP
\fBSee also\fP
.RS 4
\fBisActive()\fP, \fBbegin()\fP, \fBend()\fP, \fBmove()\fP, \fBappended()\fP
.RE
.PP
.PP
Reimplemented in \fBQwtPlotPicker\fP\&.
.SS "void QwtPicker::appended (const QPoint & pos)\fC [signal]\fP"
A signal emitted when a point has been appended to the selection
.PP
\fBParameters\fP
.RS 4
\fIpos\fP Position of the appended point\&.
.RE
.PP
\fBSee also\fP
.RS 4
\fBappend()\fP\&. \fBmoved()\fP
.RE
.PP
.SS "void QwtPicker::begin ()\fC [protected]\fP, \fC [virtual]\fP"
Open a selection setting the state to active
.PP
\fBSee also\fP
.RS 4
\fBisActive()\fP, \fBend()\fP, \fBappend()\fP, \fBmove()\fP
.RE
.PP
.PP
Reimplemented in \fBQwtPlotZoomer\fP\&.
.SS "void QwtPicker::changed (const QPolygon & selection)\fC [signal]\fP"
A signal emitted when the active selection has been changed\&. This might happen when the observed widget is resized\&.
.PP
\fBParameters\fP
.RS 4
\fIselection\fP Changed selection
.RE
.PP
\fBSee also\fP
.RS 4
\fBstretchSelection()\fP
.RE
.PP
.SS "void QwtPicker::drawRubberBand (QPainter * painter) const\fC [virtual]\fP"
Draw a rubber band, depending on \fBrubberBand()\fP
.PP
\fBParameters\fP
.RS 4
\fIpainter\fP Painter, initialized with a clip region
.RE
.PP
\fBSee also\fP
.RS 4
\fBrubberBand()\fP, \fBRubberBand\fP
.RE
.PP
.SS "void QwtPicker::drawTracker (QPainter * painter) const\fC [virtual]\fP"
Draw the tracker
.PP
\fBParameters\fP
.RS 4
\fIpainter\fP Painter
.RE
.PP
\fBSee also\fP
.RS 4
\fBtrackerRect()\fP, \fBtrackerText()\fP
.RE
.PP
.SS "bool QwtPicker::end (bool ok = \fCtrue\fP)\fC [protected]\fP, \fC [virtual]\fP"
.PP
Close a selection setting the state to inactive\&. The selection is validated and maybe fixed by \fBaccept()\fP\&.
.PP
\fBParameters\fP
.RS 4
\fIok\fP If true, complete the selection and emit a selected signal otherwise discard the selection\&.
.RE
.PP
\fBReturns\fP
.RS 4
true if the selection is accepted, false otherwise
.RE
.PP
\fBSee also\fP
.RS 4
\fBisActive()\fP, \fBbegin()\fP, \fBappend()\fP, \fBmove()\fP, \fBselected()\fP, \fBaccept()\fP
.RE
.PP
.PP
Reimplemented in \fBQwtPlotZoomer\fP, and \fBQwtPlotPicker\fP\&.
.SS "bool QwtPicker::eventFilter (QObject * object, QEvent * event)\fC [virtual]\fP"
.PP
Event filter\&. When \fBisEnabled()\fP is true all events of the observed widget are filtered\&. Mouse and keyboard events are translated into widgetMouse- and widgetKey- and widgetWheel-events\&. Paint and Resize events are handled to keep rubber band and tracker up to date\&.
.PP
\fBParameters\fP
.RS 4
\fIobject\fP Object to be filtered
.br
\fIevent\fP Event
.RE
.PP
\fBReturns\fP
.RS 4
Always false\&.
.RE
.PP
\fBSee also\fP
.RS 4
\fBwidgetEnterEvent()\fP, \fBwidgetLeaveEvent()\fP, \fBwidgetMousePressEvent()\fP, \fBwidgetMouseReleaseEvent()\fP, \fBwidgetMouseDoubleClickEvent()\fP, \fBwidgetMouseMoveEvent()\fP, \fBwidgetWheelEvent()\fP, \fBwidgetKeyPressEvent()\fP, \fBwidgetKeyReleaseEvent()\fP, QObject::installEventFilter(), QObject::event()
.RE
.PP
.SS "bool QwtPicker::isActive () const"
A picker is active between \fBbegin()\fP and \fBend()\fP\&.
.PP
\fBReturns\fP
.RS 4
true if the selection is active\&.
.RE
.PP
.SS "bool QwtPicker::isEnabled () const"
.PP
\fBReturns\fP
.RS 4
true when enabled, false otherwise
.RE
.PP
\fBSee also\fP
.RS 4
\fBsetEnabled()\fP, \fBeventFilter()\fP
.RE
.PP
.SS "void QwtPicker::move (const QPoint & pos)\fC [protected]\fP, \fC [virtual]\fP"
Move the last point of the selection The \fBmoved()\fP signal is emitted\&.
.PP
\fBParameters\fP
.RS 4
\fIpos\fP New position
.RE
.PP
\fBSee also\fP
.RS 4
\fBisActive()\fP, \fBbegin()\fP, \fBend()\fP, \fBappend()\fP
.RE
.PP
.PP
Reimplemented in \fBQwtPlotPicker\fP\&.
.SS "void QwtPicker::moved (const QPoint & pos)\fC [signal]\fP"
A signal emitted whenever the last appended point of the selection has been moved\&.
.PP
\fBParameters\fP
.RS 4
\fIpos\fP Position of the moved last point of the selection\&.
.RE
.PP
\fBSee also\fP
.RS 4
\fBmove()\fP, \fBappended()\fP
.RE
.PP
.SS "QPainterPath QwtPicker::pickArea () const\fC [virtual]\fP"
Find the area of the observed widget, where selection might happen\&.
.PP
\fBReturns\fP
.RS 4
\fBparentWidget()\fP->contentsRect()
.RE
.PP
.SS "const QPolygon & QwtPicker::pickedPoints () const\fC [protected]\fP"
Return the points, that have been collected so far\&. The \fBselection()\fP is calculated from the \fBpickedPoints()\fP in \fBadjustedPoints()\fP\&.
.PP
\fBReturns\fP
.RS 4
Picked points
.RE
.PP
.SS "void QwtPicker::remove ()\fC [protected]\fP, \fC [virtual]\fP"
Remove the last point of the selection The \fBremoved()\fP signal is emitted\&.
.PP
\fBSee also\fP
.RS 4
\fBisActive()\fP, \fBbegin()\fP, \fBend()\fP, \fBappend()\fP, \fBmove()\fP
.RE
.PP
.SS "void QwtPicker::removed (const QPoint & pos)\fC [signal]\fP"
A signal emitted whenever the last appended point of the selection has been removed\&.
.PP
\fBParameters\fP
.RS 4
\fIpos\fP Position of the point, that has been removed
.RE
.PP
\fBSee also\fP
.RS 4
\fBremove()\fP, \fBappended()\fP
.RE
.PP
.SS "void QwtPicker::reset ()\fC [protected]\fP, \fC [virtual]\fP"
Reset the state machine and terminate ( end(false) ) the selection
.SS "\fBQwtPicker::ResizeMode\fP QwtPicker::resizeMode () const"
.PP
\fBReturns\fP
.RS 4
Resize mode
.RE
.PP
\fBSee also\fP
.RS 4
\fBsetResizeMode()\fP, \fBResizeMode\fP
.RE
.PP
.SS "\fBQwtPicker::RubberBand\fP QwtPicker::rubberBand () const"
.PP
\fBReturns\fP
.RS 4
Rubber band style
.RE
.PP
\fBSee also\fP
.RS 4
\fBsetRubberBand()\fP, \fBRubberBand\fP, \fBrubberBandPen()\fP
.RE
.PP
.SS "QRegion QwtPicker::rubberBandMask () const\fC [virtual]\fP"
Calculate the mask for the rubber band overlay
.PP
\fBReturns\fP
.RS 4
Region for the mask
.RE
.PP
\fBSee also\fP
.RS 4
QWidget::setMask()
.RE
.PP
.SS "const \fBQwtWidgetOverlay\fP * QwtPicker::rubberBandOverlay () const\fC [protected]\fP"
.PP
\fBReturns\fP
.RS 4
Overlay displaying the rubber band
.RE
.PP
.SS "QPen QwtPicker::rubberBandPen () const"
.PP
\fBReturns\fP
.RS 4
Rubber band pen
.RE
.PP
\fBSee also\fP
.RS 4
\fBsetRubberBandPen()\fP, \fBrubberBand()\fP
.RE
.PP
.SS "void QwtPicker::selected (const QPolygon & polygon)\fC [signal]\fP"
A signal emitting the selected points, at the end of a selection\&.
.PP
\fBParameters\fP
.RS 4
\fIpolygon\fP Selected points
.RE
.PP
.SS "QPolygon QwtPicker::selection () const"
.PP
\fBReturns\fP
.RS 4
Selected points
.RE
.PP
\fBSee also\fP
.RS 4
\fBpickedPoints()\fP, \fBadjustedPoints()\fP
.RE
.PP
.SS "void QwtPicker::setEnabled (bool enabled)\fC [slot]\fP"
.PP
En/disable the picker\&. When enabled is true an event filter is installed for the observed widget, otherwise the event filter is removed\&.
.PP
\fBParameters\fP
.RS 4
\fIenabled\fP true or false
.RE
.PP
\fBSee also\fP
.RS 4
\fBisEnabled()\fP, \fBeventFilter()\fP
.RE
.PP
.SS "void QwtPicker::setResizeMode (\fBResizeMode\fP mode)"
.PP
Set the resize mode\&. The resize mode controls what to do with the selected points of an active selection when the observed widget is resized\&.
.PP
Stretch means the points are scaled according to the new size, KeepSize means the points remain unchanged\&.
.PP
The default mode is Stretch\&.
.PP
\fBParameters\fP
.RS 4
\fImode\fP Resize mode
.RE
.PP
\fBSee also\fP
.RS 4
\fBresizeMode()\fP, \fBResizeMode\fP
.RE
.PP
.SS "void QwtPicker::setRubberBand (\fBRubberBand\fP rubberBand)"
Set the rubber band style
.PP
\fBParameters\fP
.RS 4
\fIrubberBand\fP Rubber band style The default value is NoRubberBand\&.
.RE
.PP
\fBSee also\fP
.RS 4
\fBrubberBand()\fP, \fBRubberBand\fP, \fBsetRubberBandPen()\fP
.RE
.PP
.SS "void QwtPicker::setRubberBandPen (const QPen & pen)"
Set the pen for the rubberband
.PP
\fBParameters\fP
.RS 4
\fIpen\fP Rubber band pen
.RE
.PP
\fBSee also\fP
.RS 4
\fBrubberBandPen()\fP, \fBsetRubberBand()\fP
.RE
.PP
.SS "void QwtPicker::setStateMachine (\fBQwtPickerMachine\fP * stateMachine)"
Set a state machine and delete the previous one
.PP
\fBParameters\fP
.RS 4
\fIstateMachine\fP State machine
.RE
.PP
\fBSee also\fP
.RS 4
\fBstateMachine()\fP
.RE
.PP
.SS "void QwtPicker::setTrackerFont (const QFont & font)"
Set the font for the tracker
.PP
\fBParameters\fP
.RS 4
\fIfont\fP Tracker font
.RE
.PP
\fBSee also\fP
.RS 4
\fBtrackerFont()\fP, \fBsetTrackerMode()\fP, \fBsetTrackerPen()\fP
.RE
.PP
.SS "void QwtPicker::setTrackerMode (\fBDisplayMode\fP mode)"
.PP
Set the display mode of the tracker\&. A tracker displays information about current position of the cursor as a string\&. The display mode controls if the tracker has to be displayed whenever the observed widget has focus and cursor (AlwaysOn), never (AlwaysOff), or only when the selection is active (ActiveOnly)\&.
.PP
\fBParameters\fP
.RS 4
\fImode\fP Tracker display mode
.RE
.PP
\fBWarning\fP
.RS 4
In case of AlwaysOn, mouseTracking will be enabled for the observed widget\&.
.RE
.PP
\fBSee also\fP
.RS 4
\fBtrackerMode()\fP, \fBDisplayMode\fP
.RE
.PP
.SS "void QwtPicker::setTrackerPen (const QPen & pen)"
Set the pen for the tracker
.PP
\fBParameters\fP
.RS 4
\fIpen\fP Tracker pen
.RE
.PP
\fBSee also\fP
.RS 4
\fBtrackerPen()\fP, \fBsetTrackerMode()\fP, \fBsetTrackerFont()\fP
.RE
.PP
.SS "\fBQwtPickerMachine\fP * QwtPicker::stateMachine ()"
.PP
\fBReturns\fP
.RS 4
Assigned state machine
.RE
.PP
\fBSee also\fP
.RS 4
\fBsetStateMachine()\fP
.RE
.PP
.SS "const \fBQwtPickerMachine\fP * QwtPicker::stateMachine () const"
.PP
\fBReturns\fP
.RS 4
Assigned state machine
.RE
.PP
\fBSee also\fP
.RS 4
\fBsetStateMachine()\fP
.RE
.PP
.SS "void QwtPicker::stretchSelection (const QSize & oldSize, const QSize & newSize)\fC [protected]\fP, \fC [virtual]\fP"
Scale the selection by the ratios of oldSize and newSize The \fBchanged()\fP signal is emitted\&.
.PP
\fBParameters\fP
.RS 4
\fIoldSize\fP Previous size
.br
\fInewSize\fP Current size
.RE
.PP
\fBSee also\fP
.RS 4
\fBResizeMode\fP, \fBsetResizeMode()\fP, \fBresizeMode()\fP
.RE
.PP
.SS "QFont QwtPicker::trackerFont () const"
.PP
\fBReturns\fP
.RS 4
Tracker font
.RE
.PP
\fBSee also\fP
.RS 4
\fBsetTrackerFont()\fP, \fBtrackerMode()\fP, \fBtrackerPen()\fP
.RE
.PP
.SS "\fBQwtPicker::DisplayMode\fP QwtPicker::trackerMode () const"
.PP
\fBReturns\fP
.RS 4
Tracker display mode
.RE
.PP
\fBSee also\fP
.RS 4
\fBsetTrackerMode()\fP, \fBDisplayMode\fP
.RE
.PP
.SS "const \fBQwtWidgetOverlay\fP * QwtPicker::trackerOverlay () const\fC [protected]\fP"
.PP
\fBReturns\fP
.RS 4
Overlay displaying the tracker text
.RE
.PP
.SS "QPen QwtPicker::trackerPen () const"
.PP
\fBReturns\fP
.RS 4
Tracker pen
.RE
.PP
\fBSee also\fP
.RS 4
\fBsetTrackerPen()\fP, \fBtrackerMode()\fP, \fBtrackerFont()\fP
.RE
.PP
.SS "QPoint QwtPicker::trackerPosition () const"
.PP
\fBReturns\fP
.RS 4
Current position of the tracker
.RE
.PP
.SS "QRect QwtPicker::trackerRect (const QFont & font) const\fC [virtual]\fP"
Calculate the bounding rectangle for the tracker text from the current position of the tracker
.PP
\fBParameters\fP
.RS 4
\fIfont\fP Font of the tracker text
.RE
.PP
\fBReturns\fP
.RS 4
Bounding rectangle of the tracker text
.RE
.PP
\fBSee also\fP
.RS 4
\fBtrackerPosition()\fP
.RE
.PP
.SS "\fBQwtText\fP QwtPicker::trackerText (const QPoint & pos) const\fC [virtual]\fP"
.PP
Return the label for a position\&. In case of HLineRubberBand the label is the value of the y position, in case of VLineRubberBand the value of the x position\&. Otherwise the label contains x and y position separated by a ',' \&.
.PP
The format for the string conversion is '%d'\&.
.PP
\fBParameters\fP
.RS 4
\fIpos\fP Position
.RE
.PP
\fBReturns\fP
.RS 4
Converted position as string
.RE
.PP
.PP
Reimplemented in \fBQwtPlotPicker\fP\&.
.SS "void QwtPicker::transition (const QEvent * event)\fC [protected]\fP, \fC [virtual]\fP"
Passes an event to the state machine and executes the resulting commands\&. Append and Move commands use the current position of the cursor ( QCursor::pos() )\&.
.PP
\fBParameters\fP
.RS 4
\fIevent\fP Event
.RE
.PP
.SS "void QwtPicker::widgetEnterEvent (QEvent * event)\fC [protected]\fP, \fC [virtual]\fP"
Handle a enter event for the observed widget\&.
.PP
\fBParameters\fP
.RS 4
\fIevent\fP Qt event
.RE
.PP
\fBSee also\fP
.RS 4
\fBeventFilter()\fP, \fBwidgetMousePressEvent()\fP, \fBwidgetMouseReleaseEvent()\fP, \fBwidgetMouseDoubleClickEvent()\fP, \fBwidgetWheelEvent()\fP, \fBwidgetKeyPressEvent()\fP, \fBwidgetKeyReleaseEvent()\fP
.RE
.PP
.SS "void QwtPicker::widgetKeyPressEvent (QKeyEvent * keyEvent)\fC [protected]\fP, \fC [virtual]\fP"
Handle a key press event for the observed widget\&.
.PP
Selections can be completely done by the keyboard\&. The arrow keys move the cursor, the abort key aborts a selection\&. All other keys are handled by the current state machine\&.
.PP
\fBParameters\fP
.RS 4
\fIkeyEvent\fP Key event
.RE
.PP
\fBSee also\fP
.RS 4
\fBeventFilter()\fP, \fBwidgetMousePressEvent()\fP, \fBwidgetMouseReleaseEvent()\fP, \fBwidgetMouseDoubleClickEvent()\fP, \fBwidgetMouseMoveEvent()\fP, \fBwidgetWheelEvent()\fP, \fBwidgetKeyReleaseEvent()\fP, \fBstateMachine()\fP, \fBQwtEventPattern::KeyPatternCode\fP
.RE
.PP
.PP
Reimplemented in \fBQwtPlotZoomer\fP\&.
.SS "void QwtPicker::widgetKeyReleaseEvent (QKeyEvent * keyEvent)\fC [protected]\fP, \fC [virtual]\fP"
Handle a key release event for the observed widget\&.
.PP
Passes the event to the state machine\&.
.PP
\fBParameters\fP
.RS 4
\fIkeyEvent\fP Key event
.RE
.PP
\fBSee also\fP
.RS 4
\fBeventFilter()\fP, \fBwidgetMousePressEvent()\fP, \fBwidgetMouseReleaseEvent()\fP, \fBwidgetMouseDoubleClickEvent()\fP, \fBwidgetMouseMoveEvent()\fP, \fBwidgetWheelEvent()\fP, \fBwidgetKeyPressEvent()\fP, \fBstateMachine()\fP
.RE
.PP
.SS "void QwtPicker::widgetLeaveEvent (QEvent * event)\fC [protected]\fP, \fC [virtual]\fP"
Handle a leave event for the observed widget\&.
.PP
\fBParameters\fP
.RS 4
\fIevent\fP Qt event
.RE
.PP
\fBSee also\fP
.RS 4
\fBeventFilter()\fP, \fBwidgetMousePressEvent()\fP, \fBwidgetMouseReleaseEvent()\fP, \fBwidgetMouseDoubleClickEvent()\fP, \fBwidgetWheelEvent()\fP, \fBwidgetKeyPressEvent()\fP, \fBwidgetKeyReleaseEvent()\fP
.RE
.PP
.SS "void QwtPicker::widgetMouseDoubleClickEvent (QMouseEvent * mouseEvent)\fC [protected]\fP, \fC [virtual]\fP"
Handle mouse double click event for the observed widget\&.
.PP
\fBParameters\fP
.RS 4
\fImouseEvent\fP Mouse event
.RE
.PP
\fBSee also\fP
.RS 4
\fBeventFilter()\fP, \fBwidgetMousePressEvent()\fP, \fBwidgetMouseReleaseEvent()\fP, \fBwidgetMouseMoveEvent()\fP, \fBwidgetWheelEvent()\fP, \fBwidgetKeyPressEvent()\fP, \fBwidgetKeyReleaseEvent()\fP
.RE
.PP
.SS "void QwtPicker::widgetMouseMoveEvent (QMouseEvent * mouseEvent)\fC [protected]\fP, \fC [virtual]\fP"
Handle a mouse move event for the observed widget\&.
.PP
\fBParameters\fP
.RS 4
\fImouseEvent\fP Mouse event
.RE
.PP
\fBSee also\fP
.RS 4
\fBeventFilter()\fP, \fBwidgetMousePressEvent()\fP, \fBwidgetMouseReleaseEvent()\fP, \fBwidgetMouseDoubleClickEvent()\fP, \fBwidgetWheelEvent()\fP, \fBwidgetKeyPressEvent()\fP, \fBwidgetKeyReleaseEvent()\fP
.RE
.PP
.SS "void QwtPicker::widgetMousePressEvent (QMouseEvent * mouseEvent)\fC [protected]\fP, \fC [virtual]\fP"
Handle a mouse press event for the observed widget\&.
.PP
\fBParameters\fP
.RS 4
\fImouseEvent\fP Mouse event
.RE
.PP
\fBSee also\fP
.RS 4
\fBeventFilter()\fP, \fBwidgetMouseReleaseEvent()\fP, \fBwidgetMouseDoubleClickEvent()\fP, \fBwidgetMouseMoveEvent()\fP, \fBwidgetWheelEvent()\fP, \fBwidgetKeyPressEvent()\fP, \fBwidgetKeyReleaseEvent()\fP
.RE
.PP
.SS "void QwtPicker::widgetMouseReleaseEvent (QMouseEvent * mouseEvent)\fC [protected]\fP, \fC [virtual]\fP"
Handle a mouse release event for the observed widget\&.
.PP
\fBParameters\fP
.RS 4
\fImouseEvent\fP Mouse event
.RE
.PP
\fBSee also\fP
.RS 4
\fBeventFilter()\fP, \fBwidgetMousePressEvent()\fP, \fBwidgetMouseDoubleClickEvent()\fP, \fBwidgetMouseMoveEvent()\fP, \fBwidgetWheelEvent()\fP, \fBwidgetKeyPressEvent()\fP, \fBwidgetKeyReleaseEvent()\fP
.RE
.PP
.PP
Reimplemented in \fBQwtPlotZoomer\fP\&.
.SS "void QwtPicker::widgetWheelEvent (QWheelEvent * wheelEvent)\fC [protected]\fP, \fC [virtual]\fP"
Handle a wheel event for the observed widget\&.
.PP
Move the last point of the selection in case of \fBisActive()\fP == true
.PP
\fBParameters\fP
.RS 4
\fIwheelEvent\fP Wheel event
.RE
.PP
\fBSee also\fP
.RS 4
\fBeventFilter()\fP, \fBwidgetMousePressEvent()\fP, \fBwidgetMouseReleaseEvent()\fP, \fBwidgetMouseDoubleClickEvent()\fP, \fBwidgetMouseMoveEvent()\fP, \fBwidgetKeyPressEvent()\fP, \fBwidgetKeyReleaseEvent()\fP
.RE
.PP
.SH "Author"
.PP
Generated automatically by Doxygen for Qwt User's Guide from the source code\&.