QWT API (English) 7.0.1
Qt Widget Library for Technical Applications - English API Documentation
Loading...
Searching...
No Matches
Classes | Public Types | Public Slots | Signals | Public Member Functions | Protected Member Functions | Properties | List of all members
QwtPicker Class Reference

QwtPicker provides selections on a widget. More...

#include <qwt_picker.h>

Inheritance diagram for QwtPicker:
QwtEventPattern QwtCanvasPicker QwtPlotPanner QwtPlotPicker QwtPolarPicker QwtPlotCanvasZoomer QwtPlotSeriesDataPicker QwtPlotAxisZoomer

Classes

class  PrivateData
 

Public Types

enum  RubberBand {
  NoRubberBand = 0 , HLineRubberBand , VLineRubberBand , CrossRubberBand ,
  RectRubberBand , EllipseRubberBand , PolygonRubberBand , UserRubberBand = 100
}
 Rubber band style. More...
 
enum  DisplayMode { AlwaysOff , AlwaysOn , ActiveOnly }
 Display mode. More...
 
enum  ResizeMode { Stretch , KeepSize }
 Controls what to do with the selected points when the observed widget is resized. More...
 
- Public Types inherited from QwtEventPattern
enum  MousePatternCode {
  MouseSelect1 , MouseSelect2 , MouseSelect3 , MouseSelect4 ,
  MouseSelect5 , MouseSelect6 , MousePatternCount
}
 Symbolic mouse input codes. More...
 
enum  KeyPatternCode {
  KeySelect1 , KeySelect2 , KeyAbort , KeyLeft ,
  KeyRight , KeyUp , KeyDown , KeyRedo ,
  KeyUndo , KeyHome , KeyPatternCount
}
 Symbolic keyboard input codes. More...
 

Public Slots

void setEnabled (bool)
 Enable or disable the picker.
 

Signals

void activated (bool on)
 Signal indicating when the picker has been activated.
 
void selected (const QPolygon &polygon)
 Signal emitting the selected points at the end of a selection.
 
void appended (const QPoint &pos)
 Signal emitted when a point has been appended to the selection.
 
void moved (const QPoint &pos)
 Signal emitted whenever the last appended point of the selection has been moved.
 
void removed (const QPoint &pos)
 Signal emitted whenever the last appended point of the selection has been removed.
 
void changed (const QPolygon &selection)
 Signal emitted when the active selection has been changed.
 

Public Member Functions

 QwtPicker (QWidget *parent)
 Constructor.
 
 QwtPicker (RubberBand rubberBand, DisplayMode trackerMode, QWidget *)
 
void setStateMachine (QwtPickerMachine *)
 Set a state machine and delete the previous one.
 
const QwtPickerMachinestateMachine () const
 Return the assigned state machine (const)
 
QwtPickerMachinestateMachine ()
 Return the assigned state machine.
 
void setRubberBand (RubberBand)
 Set the rubber band style.
 
RubberBand rubberBand () const
 Return the rubber band style.
 
void setTrackerMode (DisplayMode)
 Set the display mode of the tracker.
 
DisplayMode trackerMode () const
 Return the tracker display mode.
 
void setResizeMode (ResizeMode)
 Set the resize mode.
 
ResizeMode resizeMode () const
 Return the resize mode.
 
void setRubberBandPen (const QPen &)
 Set the pen for the rubber band.
 
QPen rubberBandPen () const
 Return the rubber band pen.
 
void setTrackerPen (const QPen &)
 Set the pen for the tracker.
 
QPen trackerPen () const
 Return the tracker pen.
 
void setTrackerFont (const QFont &)
 Set the font for the tracker.
 
QFont trackerFont () const
 Return the tracker font.
 
bool isEnabled () const
 Return true when enabled, false otherwise.
 
bool isActive () const
 A picker is active between begin() and end()
 
virtual bool eventFilter (QObject *, QEvent *) override
 Event filter for handling events.
 
QWidget * parentWidget ()
 Return the parent widget, where the selection happens.
 
const QWidget * parentWidget () const
 Return the parent widget, where the selection happens (const)
 
virtual QPainterPath pickArea () const
 Find the area of the observed widget, where selection might happen.
 
virtual void drawRubberBand (QPainter *) const
 Draw a rubber band, depending on rubberBand()
 
virtual void drawTracker (QPainter *) const
 Draw the tracker.
 
virtual QRegion trackerMask () const
 Calculate the mask for the tracker overlay.
 
virtual QRegion rubberBandMask () const
 Calculate the mask for the rubber band overlay.
 
virtual QwtText trackerText (const QPoint &pos) const
 Return the label for a position.
 
virtual QRect trackerRect (const QFont &) const
 Calculate the bounding rectangle for the tracker text from the current position of the tracker.
 
virtual void setTrackerPosition (const QPoint &pos)
 Set the tracker position manually.
 
QPoint trackerPosition () const
 Return the current position of the tracker.
 
QPolygon selection () const
 Return the selected points.
 
void update ()
 
void setActive (bool on)
 
- Public Member Functions inherited from QwtEventPattern
 QwtEventPattern ()
 Constructor.
 
virtual ~QwtEventPattern ()
 Destructor .
 
void initMousePattern (int numButtons)
 Set default mouse patterns depending on the number of mouse buttons.
 
void initKeyPattern ()
 Set default key patterns.
 
void setMousePattern (MousePatternCode, Qt::MouseButton button, Qt::KeyboardModifiers=Qt::NoModifier)
 Change one mouse pattern.
 
void setKeyPattern (KeyPatternCode, int key, Qt::KeyboardModifiers modifiers=Qt::NoModifier)
 Change one key pattern.
 
void setMousePattern (const QVector< MousePattern > &)
 Change the mouse event patterns.
 
void setKeyPattern (const QVector< KeyPattern > &)
 Change the key event patterns.
 
const QVector< MousePattern > & mousePattern () const
 Return the mouse pattern vector.
 
const QVector< KeyPattern > & keyPattern () const
 Return the key pattern vector.
 
QVector< MousePattern > & mousePattern ()
 Return the mouse pattern vector.
 
QVector< KeyPattern > & keyPattern ()
 Return the key pattern vector.
 
bool mouseMatch (MousePatternCode, const QMouseEvent *) const
 Compare a mouse event with an event pattern.
 
bool keyMatch (KeyPatternCode, const QKeyEvent *) const
 Compare a key event with an event pattern.
 

Protected Member Functions

virtual QPolygon adjustedPoints (const QPolygon &) const
 Map the pickedPoints() into a selection()
 
virtual void transition (const QEvent *)
 Passes an event to the state machine and executes the resulting commands.
 
virtual void begin ()
 Open a selection setting the state to active.
 
virtual void append (const QPoint &)
 Append a point to the selection and update rubber band and tracker.
 
virtual void move (const QPoint &)
 Move the last point of the selection The moved() signal is emitted.
 
virtual void remove ()
 Remove the last point of the selection The removed() signal is emitted.
 
virtual bool end (bool ok=true)
 Close a selection setting the state to inactive.
 
virtual bool accept (QPolygon &) const
 Validate and fix up the selection.
 
virtual void reset ()
 Reset the state machine and terminate ( end(false) ) the selection.
 
virtual void widgetMousePressEvent (QMouseEvent *)
 Handle a mouse press event for the observed widget.
 
virtual void widgetMouseReleaseEvent (QMouseEvent *)
 Handle a mouse release event for the observed widget.
 
virtual void widgetMouseDoubleClickEvent (QMouseEvent *)
 Handle mouse double click event for the observed widget.
 
virtual void widgetMouseMoveEvent (QMouseEvent *)
 Handle a mouse move event for the observed widget.
 
virtual void widgetWheelEvent (QWheelEvent *)
 Handle a wheel event for the observed widget.
 
virtual void widgetKeyPressEvent (QKeyEvent *)
 Handle a key press event for the observed widget.
 
virtual void widgetKeyReleaseEvent (QKeyEvent *)
 Handle a key release event for the observed widget.
 
virtual void widgetEnterEvent (QEvent *)
 Handle a enter event for the observed widget.
 
virtual void widgetLeaveEvent (QEvent *)
 Handle a leave event for the observed widget.
 
virtual void stretchSelection (const QSize &oldSize, const QSize &newSize)
 Scale the selection by the ratios of oldSize and newSize The changed() signal is emitted.
 
virtual void updateDisplay ()
 Update the state of rubber band and tracker label.
 
const QwtWidgetOverlayrubberBandOverlay () const
 Return the overlay displaying the rubber band.
 
const QwtWidgetOverlaytrackerOverlay () const
 Return the overlay displaying the tracker text.
 
const QPolygon & pickedPoints () const
 Return the points that have been collected so far.
 
- Protected Member Functions inherited from QwtEventPattern
virtual bool mouseMatch (const MousePattern &, const QMouseEvent *) const
 Compare a mouse event with an event pattern.
 
virtual bool keyMatch (const KeyPattern &, const QKeyEvent *) const
 Compare a key event with an event pattern.
 

Properties

bool isEnabled
 
ResizeMode resizeMode
 
DisplayMode trackerMode
 
QPen trackerPen
 
QFont trackerFont
 
RubberBand rubberBand
 
QPen rubberBandPen
 

Detailed Description

QwtPicker provides selections on a widget.

Member Enumeration Documentation

◆ DisplayMode

Display mode.

Enumerator
AlwaysOff 

Display never.

AlwaysOn 

Display always.

ActiveOnly 

Display only when the selection is active.

◆ ResizeMode

Controls what to do with the selected points when the observed widget is resized.

Enumerator
Stretch 

All points are scaled according to the new size,.

KeepSize 

All points remain unchanged.

◆ RubberBand

Rubber band style.

Enumerator
NoRubberBand 

No rubberband.

HLineRubberBand 

A horizontal line ( only for QwtPickerMachine::PointSelection )

VLineRubberBand 

A vertical line ( only for QwtPickerMachine::PointSelection )

CrossRubberBand 

A crosshair ( only for QwtPickerMachine::PointSelection )

RectRubberBand 

A rectangle ( only for QwtPickerMachine::RectSelection )

EllipseRubberBand 

An ellipse ( only for QwtPickerMachine::RectSelection )

PolygonRubberBand 

A polygon ( only for QwtPickerMachine::PolygonSelection )

UserRubberBand 

Values >= UserRubberBand can be used to define additional rubber bands .

Constructor & Destructor Documentation

◆ QwtPicker()

QwtPicker::QwtPicker ( QWidget *  parent)
explicit

Constructor.

Member Function Documentation

◆ accept()

bool QwtPicker::accept ( QPolygon &  selection) const
protectedvirtual

Validate and fix up the selection.

Accepts all selections unmodified

Parameters
selectionSelection to validate and fix up
Returns
true, when accepted, false otherwise

Reimplemented in QwtPlotAxisZoomer, and QwtPlotCanvasZoomer.

◆ activated

void QwtPicker::activated ( bool  on)
signal

Signal indicating when the picker has been activated.

◆ adjustedPoints()

QPolygon QwtPicker::adjustedPoints ( const QPolygon &  points) const
protectedvirtual

Map the pickedPoints() into a selection()

◆ append()

void QwtPicker::append ( const QPoint &  pos)
protectedvirtual

Append a point to the selection and update rubber band and tracker.

The appended() signal is emitted.

Parameters
posAdditional point
See also
isActive(), begin(), end(), move(), appended()

Reimplemented in QwtPlotPicker, and QwtPolarPicker.

◆ appended

void QwtPicker::appended ( const QPoint &  pos)
signal

Signal emitted when a point has been appended to the selection.

◆ begin()

void QwtPicker::begin ( )
protectedvirtual

Open a selection setting the state to active.

See also
isActive(), end(), append(), move()

Reimplemented in QwtPlotAxisZoomer, and QwtPlotCanvasZoomer.

◆ changed

void QwtPicker::changed ( const QPolygon &  selection)
signal

Signal emitted when the active selection has been changed.

◆ drawRubberBand()

void QwtPicker::drawRubberBand ( QPainter *  painter) const
virtual

Draw a rubber band, depending on rubberBand()

Reimplemented in QwtPlotSeriesDataPicker.

◆ drawTracker()

void QwtPicker::drawTracker ( QPainter *  painter) const
virtual

Draw the tracker.

◆ end()

bool QwtPicker::end ( bool  ok = true)
protectedvirtual

Close a selection setting the state to inactive.

The selection is validated and maybe fixed by accept().

Parameters
okIf true, complete the selection and emit a selected signal otherwise discard the selection.
Returns
true if the selection is accepted, false otherwise
See also
isActive(), begin(), append(), move(), selected(), accept()

Reimplemented in QwtPlotAxisZoomer, QwtPlotCanvasZoomer, QwtPlotPanner, QwtPlotPicker, and QwtPolarPicker.

◆ eventFilter()

bool QwtPicker::eventFilter ( QObject *  object,
QEvent *  event 
)
overridevirtual

Event filter for handling events.

◆ isActive()

bool QwtPicker::isActive ( ) const

A picker is active between begin() and end()

◆ isEnabled()

bool QwtPicker::isEnabled ( ) const

Return true when enabled, false otherwise.

◆ move()

void QwtPicker::move ( const QPoint &  pos)
protectedvirtual

Move the last point of the selection The moved() signal is emitted.

Parameters
posNew position
See also
isActive(), begin(), end(), append()

Reimplemented in QwtPlotPanner, QwtPlotPicker, QwtPolarPicker, and QwtPlotSeriesDataPicker.

◆ moved

void QwtPicker::moved ( const QPoint &  pos)
signal

Signal emitted whenever the last appended point of the selection has been moved.

◆ parentWidget() [1/2]

QWidget * QwtPicker::parentWidget ( )

Return the parent widget, where the selection happens.

◆ parentWidget() [2/2]

const QWidget * QwtPicker::parentWidget ( ) const

Return the parent widget, where the selection happens (const)

◆ pickArea()

QPainterPath QwtPicker::pickArea ( ) const
virtual

Find the area of the observed widget, where selection might happen.

◆ pickedPoints()

const QPolygon & QwtPicker::pickedPoints ( ) const
protected

Return the points that have been collected so far.

◆ remove()

void QwtPicker::remove ( )
protectedvirtual

Remove the last point of the selection The removed() signal is emitted.

See also
isActive(), begin(), end(), append(), move()

◆ removed

void QwtPicker::removed ( const QPoint &  pos)
signal

Signal emitted whenever the last appended point of the selection has been removed.

◆ resizeMode()

QwtPicker::ResizeMode QwtPicker::resizeMode ( ) const

Return the resize mode.

◆ rubberBand()

QwtPicker::RubberBand QwtPicker::rubberBand ( ) const

Return the rubber band style.

◆ rubberBandMask()

QRegion QwtPicker::rubberBandMask ( ) const
virtual

Calculate the mask for the rubber band overlay.

◆ rubberBandOverlay()

const QwtWidgetOverlay * QwtPicker::rubberBandOverlay ( ) const
protected

Return the overlay displaying the rubber band.

◆ rubberBandPen()

QPen QwtPicker::rubberBandPen ( ) const

Return the rubber band pen.

◆ selected

void QwtPicker::selected ( const QPolygon &  polygon)
signal

Signal emitting the selected points at the end of a selection.

◆ selection()

QPolygon QwtPicker::selection ( ) const

Return the selected points.

◆ setEnabled

void QwtPicker::setEnabled ( bool  enabled)
slot

Enable or disable the picker.

◆ setResizeMode()

void QwtPicker::setResizeMode ( ResizeMode  mode)

Set the resize mode.

◆ setRubberBand()

void QwtPicker::setRubberBand ( RubberBand  rubberBand)

Set the rubber band style.

◆ setRubberBandPen()

void QwtPicker::setRubberBandPen ( const QPen &  pen)

Set the pen for the rubber band.

◆ setStateMachine()

void QwtPicker::setStateMachine ( QwtPickerMachine stateMachine)

Set a state machine and delete the previous one.

◆ setTrackerFont()

void QwtPicker::setTrackerFont ( const QFont &  font)

Set the font for the tracker.

◆ setTrackerMode()

void QwtPicker::setTrackerMode ( DisplayMode  mode)

Set the display mode of the tracker.

◆ setTrackerPen()

void QwtPicker::setTrackerPen ( const QPen &  pen)

Set the pen for the tracker.

◆ setTrackerPosition()

void QwtPicker::setTrackerPosition ( const QPoint &  pos)
virtual

Set the tracker position manually.

Reimplemented in QwtPlotSeriesDataPicker.

◆ stateMachine() [1/2]

QwtPickerMachine * QwtPicker::stateMachine ( )

Return the assigned state machine.

◆ stateMachine() [2/2]

const QwtPickerMachine * QwtPicker::stateMachine ( ) const

Return the assigned state machine (const)

◆ stretchSelection()

void QwtPicker::stretchSelection ( const QSize &  oldSize,
const QSize &  newSize 
)
protectedvirtual

Scale the selection by the ratios of oldSize and newSize The changed() signal is emitted.

Parameters
oldSizePrevious size
newSizeCurrent size
See also
ResizeMode, setResizeMode(), resizeMode()

◆ trackerFont()

QFont QwtPicker::trackerFont ( ) const

Return the tracker font.

◆ trackerMask()

QRegion QwtPicker::trackerMask ( ) const
virtual

Calculate the mask for the tracker overlay.

◆ trackerMode()

QwtPicker::DisplayMode QwtPicker::trackerMode ( ) const

Return the tracker display mode.

◆ trackerOverlay()

const QwtWidgetOverlay * QwtPicker::trackerOverlay ( ) const
protected

Return the overlay displaying the tracker text.

◆ trackerPen()

QPen QwtPicker::trackerPen ( ) const

Return the tracker pen.

◆ trackerPosition()

QPoint QwtPicker::trackerPosition ( ) const

Return the current position of the tracker.

◆ trackerRect()

QRect QwtPicker::trackerRect ( const QFont &  font) const
virtual

Calculate the bounding rectangle for the tracker text from the current position of the tracker.

Reimplemented in QwtPlotSeriesDataPicker.

◆ trackerText()

QwtText QwtPicker::trackerText ( const QPoint &  pos) const
virtual

Return the label for a position.

Reimplemented in QwtPlotPicker, QwtPolarPicker, and QwtPlotSeriesDataPicker.

◆ transition()

void QwtPicker::transition ( const QEvent *  event)
protectedvirtual

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
eventEvent

◆ widgetEnterEvent()

void QwtPicker::widgetEnterEvent ( QEvent *  event)
protectedvirtual

◆ widgetKeyPressEvent()

void QwtPicker::widgetKeyPressEvent ( QKeyEvent *  keyEvent)
protectedvirtual

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
keyEventKey event
See also
eventFilter(), widgetMousePressEvent(), widgetMouseReleaseEvent(), widgetMouseDoubleClickEvent(), widgetMouseMoveEvent(), widgetWheelEvent(), widgetKeyReleaseEvent(), stateMachine(), QwtEventPattern::KeyPatternCode

Reimplemented in QwtPlotAxisZoomer, and QwtPlotCanvasZoomer.

◆ widgetKeyReleaseEvent()

void QwtPicker::widgetKeyReleaseEvent ( QKeyEvent *  keyEvent)
protectedvirtual

Handle a key release event for the observed widget.

Passes the event to the state machine.

Parameters
keyEventKey event
See also
eventFilter(), widgetMousePressEvent(), widgetMouseReleaseEvent(), widgetMouseDoubleClickEvent(), widgetMouseMoveEvent(), widgetWheelEvent(), widgetKeyPressEvent(), stateMachine()

◆ widgetLeaveEvent()

void QwtPicker::widgetLeaveEvent ( QEvent *  event)
protectedvirtual

◆ widgetMouseDoubleClickEvent()

void QwtPicker::widgetMouseDoubleClickEvent ( QMouseEvent *  mouseEvent)
protectedvirtual

Handle mouse double click event for the observed widget.

Parameters
mouseEventMouse event
See also
eventFilter(), widgetMousePressEvent(), widgetMouseReleaseEvent(), widgetMouseMoveEvent(), widgetWheelEvent(), widgetKeyPressEvent(), widgetKeyReleaseEvent()

◆ widgetMouseMoveEvent()

void QwtPicker::widgetMouseMoveEvent ( QMouseEvent *  mouseEvent)
protectedvirtual

Handle a mouse move event for the observed widget.

Parameters
mouseEventMouse event
See also
eventFilter(), widgetMousePressEvent(), widgetMouseReleaseEvent(), widgetMouseDoubleClickEvent(), widgetWheelEvent(), widgetKeyPressEvent(), widgetKeyReleaseEvent()

◆ widgetMousePressEvent()

void QwtPicker::widgetMousePressEvent ( QMouseEvent *  mouseEvent)
protectedvirtual

Handle a mouse press event for the observed widget.

Parameters
mouseEventMouse event
See also
eventFilter(), widgetMouseReleaseEvent(), widgetMouseDoubleClickEvent(), widgetMouseMoveEvent(), widgetWheelEvent(), widgetKeyPressEvent(), widgetKeyReleaseEvent()

Reimplemented in QwtPlotPanner.

◆ widgetMouseReleaseEvent()

void QwtPicker::widgetMouseReleaseEvent ( QMouseEvent *  mouseEvent)
protectedvirtual

Handle a mouse release event for the observed widget.

Parameters
mouseEventMouse event
See also
eventFilter(), widgetMousePressEvent(), widgetMouseDoubleClickEvent(), widgetMouseMoveEvent(), widgetWheelEvent(), widgetKeyPressEvent(), widgetKeyReleaseEvent()

Reimplemented in QwtPlotAxisZoomer, and QwtPlotCanvasZoomer.

◆ widgetWheelEvent()

void QwtPicker::widgetWheelEvent ( QWheelEvent *  wheelEvent)
protectedvirtual

Handle a wheel event for the observed widget.

Move the last point of the selection in case of isActive() == true

Parameters
wheelEventWheel event
See also
eventFilter(), widgetMousePressEvent(), widgetMouseReleaseEvent(), widgetMouseDoubleClickEvent(), widgetMouseMoveEvent(), widgetKeyPressEvent(), widgetKeyReleaseEvent()

The documentation for this class was generated from the following files: