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

QwtPlotAxisZoomer provides stacked zooming for a plot widget. More...

#include <qwt_plot_axis_zoomer.h>

Inheritance diagram for QwtPlotAxisZoomer:
QwtPlotPicker QwtPicker QwtEventPattern

Classes

class  PrivateData
 

Public Slots

void moveBy (double dx, double dy)
 Moves the current zoom rectangle by an offset.
 
virtual void moveTo (const QPointF &)
 Moves the current zoom rectangle.
 
virtual void zoom (const QRectF &)
 Zooms in to a rectangle.
 
virtual void zoom (int offset)
 Zooms in or out by an offset.
 
- Public Slots inherited from QwtPicker
void setEnabled (bool)
 Enable or disable the picker.
 

Signals

void zoomed (const QRectF &rect)
 
- Signals inherited from QwtPlotPicker
void selected (const QPointF &pos)
 Signal emitted in case of QwtPickerMachine::PointSelection.
 
void selected (const QRectF &rect)
 Signal emitted in case of QwtPickerMachine::RectSelection.
 
void selected (const QVector< QPointF > &pa)
 Signal emitting the selected points at the end of a selection.
 
void appended (const QPointF &pos)
 Signal emitted when a point has been appended to the selection.
 
void moved (const QPointF &pos)
 Signal emitted whenever the last appended point of the selection has been moved.
 
- Signals inherited from QwtPicker
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

 QwtPlotAxisZoomer (QWidget *, bool doReplot=true)
 Creates a zoomer for a plot canvas.
 
 QwtPlotAxisZoomer (QwtAxisId xAxis, QwtAxisId yAxis, QWidget *, bool doReplot=true)
 Creates a zoomer for a plot canvas with specified axes.
 
virtual void setZoomBase (bool doReplot=true)
 Reinitializes the zoom stack with scaleRect() as base.
 
virtual void setZoomBase (const QRectF &)
 Sets the initial size of the zoomer.
 
QRectF zoomBase () const
 Returns the initial rectangle of the zoomer.
 
QRectF zoomRect () const
 Returns the rectangle at the current position on the zoom stack.
 
virtual void setAxes (QwtAxisId xAxis, QwtAxisId yAxis) override
 Reinitializes the axes, and sets the zoom base to their scales.
 
void setMaxStackDepth (int)
 Limits the number of recursive zoom operations to depth.
 
int maxStackDepth () const
 Returns the maximal depth of the zoom stack.
 
const QStack< QRectF > & zoomStack () const
 Returns the zoom stack.
 
void setZoomStack (const QStack< QRectF > &, int zoomRectIndex=-1)
 Assigns a zoom stack.
 
uint zoomRectIndex () const
 Returns the index of current position of zoom stack.
 
- Public Member Functions inherited from QwtPlotPicker
 QwtPlotPicker (QWidget *canvas)
 Constructor.
 
virtual ~QwtPlotPicker ()
 Destructor.
 
 QwtPlotPicker (QwtAxisId xAxisId, QwtAxisId yAxisId, QWidget *)
 Constructor with axes.
 
 QwtPlotPicker (QwtAxisId xAxisId, QwtAxisId yAxisId, RubberBand rubberBand, DisplayMode trackerMode, QWidget *)
 Constructor with axes, rubber band and tracker mode.
 
QwtAxisId xAxis () const
 Get the x axis.
 
QwtAxisId yAxis () const
 Get the y axis.
 
QwtPlotplot ()
 Get the plot widget.
 
const QwtPlotplot () const
 Get the plot widget (const version)
 
QWidget * canvas ()
 Get the canvas widget.
 
const QWidget * canvas () const
 Get the canvas widget (const version)
 
- Public Member Functions inherited from QwtPicker
 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 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 void rescale ()
 Rescale the plot.
 
virtual QSizeF minZoomSize () const
 Get minimum zoom size.
 
virtual void widgetMouseReleaseEvent (QMouseEvent *) override
 Handle mouse release event.
 
virtual void widgetKeyPressEvent (QKeyEvent *) override
 Handle key press event.
 
virtual void begin () override
 Begin selection.
 
virtual bool end (bool ok=true) override
 End selection.
 
virtual bool accept (QPolygon &) const override
 Accept selection.
 
- Protected Member Functions inherited from QwtPlotPicker
QRectF scaleRect () const
 Get the scale rectangle.
 
QRectF invTransform (const QRect &) const
 Inverse transform a rectangle.
 
QRect transform (const QRectF &) const
 Transform a rectangle.
 
QPointF invTransform (const QPoint &) const
 Inverse transform a point.
 
QPoint transform (const QPointF &) const
 Transform a point.
 
virtual QwtText trackerText (const QPoint &) const override
 Get the tracker text for a point.
 
virtual QwtText trackerTextF (const QPointF &) const
 Get the tracker text for a point (floating point)
 
virtual void move (const QPoint &) override
 Move the selection.
 
virtual void append (const QPoint &) override
 Append a point to the selection.
 
- Protected Member Functions inherited from QwtPicker
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 remove ()
 Remove the last point of the selection The removed() signal is emitted.
 
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 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 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.
 

Additional Inherited Members

- Public Types inherited from QwtPicker
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...
 
- Properties inherited from QwtPicker
bool isEnabled
 
ResizeMode resizeMode
 
DisplayMode trackerMode
 
QPen trackerPen
 
QFont trackerFont
 
RubberBand rubberBand
 
QPen rubberBandPen
 

Detailed Description

QwtPlotAxisZoomer provides stacked zooming for a plot widget.

Constructor & Destructor Documentation

◆ QwtPlotAxisZoomer() [1/2]

QwtPlotAxisZoomer::QwtPlotAxisZoomer ( QWidget *  canvas,
bool  doReplot = true 
)
explicit

Creates a zoomer for a plot canvas.

◆ QwtPlotAxisZoomer() [2/2]

QwtPlotAxisZoomer::QwtPlotAxisZoomer ( QwtAxisId  xAxisId,
QwtAxisId  yAxisId,
QWidget *  canvas,
bool  doReplot = true 
)
explicit

Creates a zoomer for a plot canvas with specified axes.

Member Function Documentation

◆ accept()

bool QwtPlotAxisZoomer::accept ( QPolygon &  pa) const
overrideprotectedvirtual

Accept selection.

Check and correct a selected rectangle.

Reject rectangles with a height or width < 2, otherwise expand the selected rectangle to a minimum size of 11x11 and accept it.

Returns
true If the rectangle is accepted, or has been changed to an accepted one.

Reimplemented from QwtPicker.

◆ begin()

void QwtPlotAxisZoomer::begin ( )
overrideprotectedvirtual

Begin selection.

Rejects selections, when the stack depth is too deep, or the zoomed rectangle is minZoomSize().

See also
minZoomSize(), maxStackDepth()

Reimplemented from QwtPicker.

◆ end()

bool QwtPlotAxisZoomer::end ( bool  ok = true)
overrideprotectedvirtual

End selection.

Expand the selected rectangle to minZoomSize() and zoom in if accepted.

Parameters
okIf true, complete the selection and emit selected signals otherwise discard the selection.
See also
accept(), minZoomSize()
Returns
True if the selection has been accepted, false otherwise

Reimplemented from QwtPlotPicker.

◆ maxStackDepth()

int QwtPlotAxisZoomer::maxStackDepth ( ) const

Returns the maximal depth of the zoom stack.

◆ minZoomSize()

QSizeF QwtPlotAxisZoomer::minZoomSize ( ) const
protectedvirtual

Get minimum zoom size.

Limit zooming by a minimum rectangle.

Returns
zoomBase().width() / 10e4, zoomBase().height() / 10e4

◆ moveBy

void QwtPlotAxisZoomer::moveBy ( double  dx,
double  dy 
)
slot

Moves the current zoom rectangle by an offset.

◆ moveTo

void QwtPlotAxisZoomer::moveTo ( const QPointF &  pos)
virtualslot

Moves the current zoom rectangle.

◆ rescale()

void QwtPlotAxisZoomer::rescale ( )
protectedvirtual

Rescale the plot.

Adjust the observed plot to zoomRect()

Note
Initiates QwtPlot::replot()

◆ setAxes()

void QwtPlotAxisZoomer::setAxes ( QwtAxisId  xAxisId,
QwtAxisId  yAxisId 
)
overridevirtual

Reinitializes the axes, and sets the zoom base to their scales.

Reimplemented from QwtPlotPicker.

◆ setMaxStackDepth()

void QwtPlotAxisZoomer::setMaxStackDepth ( int  depth)

Limits the number of recursive zoom operations to depth.

◆ setZoomBase() [1/2]

void QwtPlotAxisZoomer::setZoomBase ( bool  doReplot = true)
virtual

Reinitializes the zoom stack with scaleRect() as base.

◆ setZoomBase() [2/2]

void QwtPlotAxisZoomer::setZoomBase ( const QRectF &  base)
virtual

Sets the initial size of the zoomer.

◆ setZoomStack()

void QwtPlotAxisZoomer::setZoomStack ( const QStack< QRectF > &  zoomStack,
int  zoomRectIndex = -1 
)

Assigns a zoom stack.

◆ widgetKeyPressEvent()

void QwtPlotAxisZoomer::widgetKeyPressEvent ( QKeyEvent *  ke)
overrideprotectedvirtual

Handle key press event.

Qt::Key_Plus zooms in, Qt::Key_Minus zooms out one position on the zoom stack, Qt::Key_Escape zooms out to the zoom base.

Changes the current position on the stack, but doesn't pop any rectangle.

Note
The keys codes can be changed, using QwtEventPattern::setKeyPattern: 3, 4, 5

Reimplemented from QwtPicker.

◆ widgetMouseReleaseEvent()

void QwtPlotAxisZoomer::widgetMouseReleaseEvent ( QMouseEvent *  me)
overrideprotectedvirtual

Handle mouse release event.

Qt::MidButton zooms out one position on the zoom stack, Qt::RightButton to the zoom base.

Changes the current position on the stack, but doesn't pop any rectangle.

Note
The mouse events can be changed, using QwtEventPattern::setMousePattern: 2, 1

Reimplemented from QwtPicker.

◆ zoom [1/2]

void QwtPlotAxisZoomer::zoom ( const QRectF &  rect)
virtualslot

Zooms in to a rectangle.

◆ zoom [2/2]

void QwtPlotAxisZoomer::zoom ( int  offset)
virtualslot

Zooms in or out by an offset.

◆ zoomBase()

QRectF QwtPlotAxisZoomer::zoomBase ( ) const

Returns the initial rectangle of the zoomer.

◆ zoomed

void QwtPlotAxisZoomer::zoomed ( const QRectF &  rect)
signal

A signal emitting the zoomRect(), when the plot has been zoomed in or out.

Parameters
rectCurrent zoom rectangle.

◆ zoomRect()

QRectF QwtPlotAxisZoomer::zoomRect ( ) const

Returns the rectangle at the current position on the zoom stack.

◆ zoomRectIndex()

uint QwtPlotAxisZoomer::zoomRectIndex ( ) const

Returns the index of current position of zoom stack.

◆ zoomStack()

const QStack< QRectF > & QwtPlotAxisZoomer::zoomStack ( ) const

Returns the zoom stack.


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