boolQwtPicker::accept(QPolygon&selection)const[protected],[virtual]
Validate and fix up the selection. Accepts all selections unmodified
Parameters:selection Selection to validate and fix up
Returns:
true, when accepted, false otherwise
Reimplemented in QwtPlotZoomer.
voidQwtPicker::activated(boolon)[signal]
A signal indicating, when the picker has been activated. Together with setEnabled() it can be used to
implement selections with more than one picker.
Parameters:on True, when the picker has been activated
QPolygonQwtPicker::adjustedPoints(constQPolygon&points)const[protected],[virtual]
Map the pickedPoints() into a selection()adjustedPoints() maps the points, that have been collected on
the parentWidget() into a selection(). The default implementation simply returns the points unmodified.
The reason, why a selection() differs from the picked points depends on the application requirements.
F.e. :
• A rectangular selection might need to have a specific aspect ratio only.
• A selection could accept non intersecting polygons only.
• ...
The example below is for a rectangular selection, where the first point is the center of the selected
rectangle.
Example
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;
}
Parameters:points Selected points
Returns:
Selected points unmodified
voidQwtPicker::append(constQPoint&pos)[protected],[virtual]
Append a point to the selection and update rubber band and tracker. The appended() signal is emitted.
Parameters:pos Additional point
Seealso:isActive(), begin(), end(), move(), appended()
Reimplemented in QwtPlotPicker.
voidQwtPicker::appended(constQPoint&pos)[signal]
A signal emitted when a point has been appended to the selection
Parameters:pos Position of the appended point.
Seealso:append(). moved()voidQwtPicker::begin()[protected],[virtual]
Open a selection setting the state to active
Seealso:isActive(), end(), append(), move()
Reimplemented in QwtPlotZoomer.
voidQwtPicker::changed(constQPolygon&selection)[signal]
A signal emitted when the active selection has been changed. This might happen when the observed widget
is resized.
Parameters:selection Changed selection
Seealso:stretchSelection()voidQwtPicker::drawRubberBand(QPainter*painter)const[virtual]
Draw a rubber band, depending on rubberBand()Parameters:painter Painter, initialized with a clip region
Seealso:rubberBand(), RubberBandvoidQwtPicker::drawTracker(QPainter*painter)const[virtual]
Draw the tracker
Parameters:painter Painter
Seealso:trackerRect(), trackerText()boolQwtPicker::end(boolok=true)[protected],[virtual]
Close a selection setting the state to inactive. The selection is validated and maybe fixed by accept().
Parameters:ok If true, complete the selection and emit a selected signal otherwise discard the selection.
Returns:
true if the selection is accepted, false otherwise
Seealso:isActive(), begin(), append(), move(), selected(), accept()
Reimplemented in QwtPlotZoomer, and QwtPlotPicker.
boolQwtPicker::eventFilter(QObject*object,QEvent*event)[virtual]
Event filter. When isEnabled() 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.
Parameters:object Object to be filtered
event Event
Returns:
Always false.
Seealso:widgetEnterEvent(), widgetLeaveEvent(), widgetMousePressEvent(), widgetMouseReleaseEvent(),
widgetMouseDoubleClickEvent(), widgetMouseMoveEvent(), widgetWheelEvent(), widgetKeyPressEvent(),
widgetKeyReleaseEvent(), QObject::installEventFilter(), QObject::event()
boolQwtPicker::isActive()const
A picker is active between begin() and end().
Returns:
true if the selection is active.
boolQwtPicker::isEnabled()constReturns:
true when enabled, false otherwise
Seealso:setEnabled(), eventFilter()voidQwtPicker::move(constQPoint&pos)[protected],[virtual]
Move the last point of the selection The moved() signal is emitted.
Parameters:pos New position
Seealso:isActive(), begin(), end(), append()
Reimplemented in QwtPlotPicker.
voidQwtPicker::moved(constQPoint&pos)[signal]
A signal emitted whenever the last appended point of the selection has been moved.
Parameters:pos Position of the moved last point of the selection.
Seealso:move(), appended()QPainterPathQwtPicker::pickArea()const[virtual]
Find the area of the observed widget, where selection might happen.
Returns:parentWidget()->contentsRect()
constQPolygon&QwtPicker::pickedPoints()const[protected]
Return the points, that have been collected so far. The selection() is calculated from the pickedPoints()
in adjustedPoints().
Returns:
Picked points
voidQwtPicker::remove()[protected],[virtual]
Remove the last point of the selection The removed() signal is emitted.
Seealso:isActive(), begin(), end(), append(), move()voidQwtPicker::removed(constQPoint&pos)[signal]
A signal emitted whenever the last appended point of the selection has been removed.
Parameters:pos Position of the point, that has been removed
Seealso:remove(), appended()voidQwtPicker::reset()[protected],[virtual]
Reset the state machine and terminate ( end(false) ) the selection
QwtPicker::ResizeModeQwtPicker::resizeMode()constReturns:
Resize mode
Seealso:setResizeMode(), ResizeModeQwtPicker::RubberBandQwtPicker::rubberBand()constReturns:
Rubber band style
Seealso:setRubberBand(), RubberBand, rubberBandPen()QRegionQwtPicker::rubberBandMask()const[virtual]
Calculate the mask for the rubber band overlay
Returns:
Region for the mask
Seealso:
QWidget::setMask()
constQwtWidgetOverlay*QwtPicker::rubberBandOverlay()const[protected]Returns:
Overlay displaying the rubber band
QPenQwtPicker::rubberBandPen()constReturns:
Rubber band pen
Seealso:setRubberBandPen(), rubberBand()voidQwtPicker::selected(constQPolygon&polygon)[signal]
A signal emitting the selected points, at the end of a selection.
Parameters:polygon Selected points
QPolygonQwtPicker::selection()constReturns:
Selected points
Seealso:pickedPoints(), adjustedPoints()voidQwtPicker::setEnabled(boolenabled)[slot]
En/disable the picker. When enabled is true an event filter is installed for the observed widget,
otherwise the event filter is removed.
Parameters:enabled true or false
Seealso:isEnabled(), eventFilter()voidQwtPicker::setResizeMode(ResizeModemode)
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.
Stretch means the points are scaled according to the new size, KeepSize means the points remain
unchanged.
The default mode is Stretch.
Parameters:mode Resize mode
Seealso:resizeMode(), ResizeModevoidQwtPicker::setRubberBand(RubberBandrubberBand)
Set the rubber band style
Parameters:rubberBand Rubber band style The default value is NoRubberBand.
Seealso:rubberBand(), RubberBand, setRubberBandPen()voidQwtPicker::setRubberBandPen(constQPen&pen)
Set the pen for the rubberband
Parameters:pen Rubber band pen
Seealso:rubberBandPen(), setRubberBand()voidQwtPicker::setStateMachine(QwtPickerMachine*stateMachine)
Set a state machine and delete the previous one
Parameters:stateMachine State machine
Seealso:stateMachine()voidQwtPicker::setTrackerFont(constQFont&font)
Set the font for the tracker
Parameters:font Tracker font
Seealso:trackerFont(), setTrackerMode(), setTrackerPen()voidQwtPicker::setTrackerMode(DisplayModemode)
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).
Parameters:mode Tracker display mode
Warning:
In case of AlwaysOn, mouseTracking will be enabled for the observed widget.
Seealso:trackerMode(), DisplayModevoidQwtPicker::setTrackerPen(constQPen&pen)
Set the pen for the tracker
Parameters:pen Tracker pen
Seealso:trackerPen(), setTrackerMode(), setTrackerFont()constQwtPickerMachine*QwtPicker::stateMachine()constReturns:
Assigned state machine
Seealso:setStateMachine()QwtPickerMachine*QwtPicker::stateMachine()Returns:
Assigned state machine
Seealso:setStateMachine()voidQwtPicker::stretchSelection(constQSize&oldSize,constQSize&newSize)[protected],[virtual]
Scale the selection by the ratios of oldSize and newSize The changed() signal is emitted.
Parameters:oldSize Previous size
newSize Current size
Seealso:ResizeMode, setResizeMode(), resizeMode()QFontQwtPicker::trackerFont()constReturns:
Tracker font
Seealso:setTrackerFont(), trackerMode(), trackerPen()QwtPicker::DisplayModeQwtPicker::trackerMode()constReturns:
Tracker display mode
Seealso:setTrackerMode(), DisplayModeconstQwtWidgetOverlay*QwtPicker::trackerOverlay()const[protected]Returns:
Overlay displaying the tracker text
QPenQwtPicker::trackerPen()constReturns:
Tracker pen
Seealso:setTrackerPen(), trackerMode(), trackerFont()QPointQwtPicker::trackerPosition()constReturns:
Current position of the tracker
QRectQwtPicker::trackerRect(constQFont&font)const[virtual]
Calculate the bounding rectangle for the tracker text from the current position of the tracker
Parameters:font Font of the tracker text
Returns:
Bounding rectangle of the tracker text
Seealso:trackerPosition()QwtTextQwtPicker::trackerText(constQPoint&pos)const[virtual]
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 ',' .
The format for the string conversion is '%d'.
Parameters:pos Position
Returns:
Converted position as string
Reimplemented in QwtPlotPicker.
voidQwtPicker::transition(constQEvent*event)[protected],[virtual]
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() ).
Parameters:event Event
voidQwtPicker::widgetEnterEvent(QEvent*event)[protected],[virtual]
Handle a enter event for the observed widget.
Parameters:event Qt event
Seealso:eventFilter(), widgetMousePressEvent(), widgetMouseReleaseEvent(), widgetMouseDoubleClickEvent(),
widgetWheelEvent(), widgetKeyPressEvent(), widgetKeyReleaseEvent()voidQwtPicker::widgetKeyPressEvent(QKeyEvent*keyEvent)[protected],[virtual]
Handle a key press event for the observed widget.
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.
Parameters:keyEvent Key event
Seealso:eventFilter(), widgetMousePressEvent(), widgetMouseReleaseEvent(), widgetMouseDoubleClickEvent(),
widgetMouseMoveEvent(), widgetWheelEvent(), widgetKeyReleaseEvent(), stateMachine(),
QwtEventPattern::KeyPatternCode
Reimplemented in QwtPlotZoomer.
voidQwtPicker::widgetKeyReleaseEvent(QKeyEvent*keyEvent)[protected],[virtual]
Handle a key release event for the observed widget.
Passes the event to the state machine.
Parameters:keyEvent Key event
Seealso:eventFilter(), widgetMousePressEvent(), widgetMouseReleaseEvent(), widgetMouseDoubleClickEvent(),
widgetMouseMoveEvent(), widgetWheelEvent(), widgetKeyPressEvent(), stateMachine()voidQwtPicker::widgetLeaveEvent(QEvent*event)[protected],[virtual]
Handle a leave event for the observed widget.
Parameters:event Qt event
Seealso:eventFilter(), widgetMousePressEvent(), widgetMouseReleaseEvent(), widgetMouseDoubleClickEvent(),
widgetWheelEvent(), widgetKeyPressEvent(), widgetKeyReleaseEvent()voidQwtPicker::widgetMouseDoubleClickEvent(QMouseEvent*mouseEvent)[protected],[virtual]
Handle mouse double click event for the observed widget.
Parameters:mouseEvent Mouse event
Seealso:eventFilter(), widgetMousePressEvent(), widgetMouseReleaseEvent(), widgetMouseMoveEvent(),
widgetWheelEvent(), widgetKeyPressEvent(), widgetKeyReleaseEvent()voidQwtPicker::widgetMouseMoveEvent(QMouseEvent*mouseEvent)[protected],[virtual]
Handle a mouse move event for the observed widget.
Parameters:mouseEvent Mouse event
Seealso:eventFilter(), widgetMousePressEvent(), widgetMouseReleaseEvent(), widgetMouseDoubleClickEvent(),
widgetWheelEvent(), widgetKeyPressEvent(), widgetKeyReleaseEvent()voidQwtPicker::widgetMousePressEvent(QMouseEvent*mouseEvent)[protected],[virtual]
Handle a mouse press event for the observed widget.
Parameters:mouseEvent Mouse event
Seealso:eventFilter(), widgetMouseReleaseEvent(), widgetMouseDoubleClickEvent(), widgetMouseMoveEvent(),
widgetWheelEvent(), widgetKeyPressEvent(), widgetKeyReleaseEvent()voidQwtPicker::widgetMouseReleaseEvent(QMouseEvent*mouseEvent)[protected],[virtual]
Handle a mouse release event for the observed widget.
Parameters:mouseEvent Mouse event
Seealso:eventFilter(), widgetMousePressEvent(), widgetMouseDoubleClickEvent(), widgetMouseMoveEvent(),
widgetWheelEvent(), widgetKeyPressEvent(), widgetKeyReleaseEvent()
Reimplemented in QwtPlotZoomer.
voidQwtPicker::widgetWheelEvent(QWheelEvent*wheelEvent)[protected],[virtual]
Handle a wheel event for the observed widget.
Move the last point of the selection in case of isActive() == true
Parameters:wheelEvent Wheel event
Seealso:eventFilter(), widgetMousePressEvent(), widgetMouseReleaseEvent(), widgetMouseDoubleClickEvent(),
widgetMouseMoveEvent(), widgetKeyPressEvent(), widgetKeyReleaseEvent()