QtiPlot  0.9.8.2
Public Slots | Signals | Public Member Functions | Protected Member Functions | Private Types | Private Slots | Private Member Functions | Private Attributes | List of all members
RangeSelectorTool Class Reference

#include <RangeSelectorTool.h>

Inheritance diagram for RangeSelectorTool:
PlotToolInterface

Public Slots

virtual void pointSelected (const QPoint &point)
 
void setCurveRange ()
 
void setEnabled (bool on=true)
 

Signals

void changed ()
 Emitted whenever the selected curve and/or range have changed. More...
 
void statusText (const QString &)
 

Public Member Functions

void clearSelection ()
 
void copySelection ()
 
void cutSelection ()
 
int dataSize () const
 
virtual bool eventFilter (QObject *obj, QEvent *event)
 
bool isVisible ()
 
bool keyEventFilter (QKeyEvent *ke)
 
double maxXValue () const
 
double maxYValue () const
 
double minXValue () const
 
double minYValue () const
 
void pasteSelection ()
 
 RangeSelectorTool (Graph *graph, const QObject *status_target=NULL, const char *status_slot="")
 
virtual int rtti () const
 
QwtPlotCurve * selectedCurve () const
 
void setSelectedCurve (QwtPlotCurve *curve)
 Caller is responsible for replot. More...
 
void setVisible (bool on)
 
virtual ~RangeSelectorTool ()
 
- Public Member Functions inherited from PlotToolInterface
 PlotToolInterface (Graph *graph, const QObject *status_target=NULL, const char *status_slot="")
 
virtual ~PlotToolInterface ()
 

Protected Member Functions

virtual void append (const QPoint &point)
 
void emitStatusText ()
 
void setActivePoint (int index)
 Caller is responsible for replot. More...
 
void switchActiveMarker ()
 

Private Types

enum  RangeEditOperation { Copy, Cut, Delete }
 

Private Slots

void clearMultipleSelection ()
 
void copyMultipleSelection ()
 
void cutMultipleSelection ()
 

Private Member Functions

void clearSelectedCurve ()
 Clears data range from the selected curve. More...
 
void copySelectedCurve ()
 Copies data range from the selected curve to clipboard. More...
 
bool mightNeedMultipleSelection ()
 
void showSelectionDialog (RangeEditOperation op=Copy)
 

Private Attributes

QwtPlotMarker d_active_marker
 
int d_active_point
 
bool d_enabled
 
QwtPlotMarker d_inactive_marker
 
int d_inactive_point
 
QwtPlotCurve * d_selected_curve
 
QPointer< QDialog > d_selection_dialog
 
QList< QCheckBox * > d_selection_lst
 Keeps track of the multiple curves selection. More...
 
bool d_visible
 

Additional Inherited Members

- Public Types inherited from PlotToolInterface
enum  RttiValues {
  Rtti_PlotTool = 0, Rtti_RangeSelector, Rtti_DataPicker, Rtti_TranslateCurveTool,
  Rtti_MultiPeakFitTool, Rtti_LineProfileTool, Rtti_AddWidgetTool, Rtti_DrawDataPoints,
  Rtti_ImageProfilesTool, Rtti_SubtractLineTool, Rtti_PlotUserTool = 1000
}
 
- Protected Attributes inherited from PlotToolInterface
Graphd_graph
 
const char * d_status_slot
 
const QObject * d_status_target
 

Detailed Description

Plot tool for selecting ranges on curves.

As detailed in the documentation of PlotToolInterface, this one is different from most other plot tools in that other tools depend on it. Thus, either RangeSelectorTool should cease to inherit from PlotToolInterface and be renamed to RangeSelector, drawing a clear destinction to the other tools, or the notion of multiple tools being active in parallel and possibly depending on each other should be generalized somehow.

In any case, gathering the code specific to range selection in a seperate class makes Graph/CanvasPicker more manageable; maybe something similar can be done for zooming.

Member Enumeration Documentation

◆ RangeEditOperation

Enumerator
Copy 
Cut 
Delete 

Constructor & Destructor Documentation

◆ RangeSelectorTool()

RangeSelectorTool::RangeSelectorTool ( Graph graph,
const QObject *  status_target = NULL,
const char *  status_slot = "" 
)

◆ ~RangeSelectorTool()

RangeSelectorTool::~RangeSelectorTool ( )
virtual

Member Function Documentation

◆ append()

virtual void RangeSelectorTool::append ( const QPoint &  point)
inlineprotectedvirtual

◆ changed

void RangeSelectorTool::changed ( )
signal

Emitted whenever the selected curve and/or range have changed.

Referenced by clearMultipleSelection(), clearSelectedCurve(), isVisible(), pasteSelection(), pointSelected(), setActivePoint(), and setSelectedCurve().

◆ clearMultipleSelection

void RangeSelectorTool::clearMultipleSelection ( )
privateslot

◆ clearSelectedCurve()

void RangeSelectorTool::clearSelectedCurve ( )
private

◆ clearSelection()

void RangeSelectorTool::clearSelection ( )

◆ copyMultipleSelection

void RangeSelectorTool::copyMultipleSelection ( )
privateslot

◆ copySelectedCurve()

void RangeSelectorTool::copySelectedCurve ( )
private

◆ copySelection()

void RangeSelectorTool::copySelection ( )

◆ cutMultipleSelection

void RangeSelectorTool::cutMultipleSelection ( )
privateslot

◆ cutSelection()

void RangeSelectorTool::cutSelection ( )

◆ dataSize()

int RangeSelectorTool::dataSize ( ) const
inline

◆ emitStatusText()

void RangeSelectorTool::emitStatusText ( )
protected

◆ eventFilter()

bool RangeSelectorTool::eventFilter ( QObject *  obj,
QEvent *  event 
)
virtual

References keyEventFilter().

Referenced by dataSize().

◆ isVisible()

bool RangeSelectorTool::isVisible ( )
inline

◆ keyEventFilter()

bool RangeSelectorTool::keyEventFilter ( QKeyEvent *  ke)

◆ maxXValue()

double RangeSelectorTool::maxXValue ( ) const
inline

◆ maxYValue()

double RangeSelectorTool::maxYValue ( ) const
inline

◆ mightNeedMultipleSelection()

bool RangeSelectorTool::mightNeedMultipleSelection ( )
private

◆ minXValue()

double RangeSelectorTool::minXValue ( ) const
inline

◆ minYValue()

double RangeSelectorTool::minYValue ( ) const
inline

◆ pasteSelection()

void RangeSelectorTool::pasteSelection ( )

◆ pointSelected

void RangeSelectorTool::pointSelected ( const QPoint &  point)
virtualslot

◆ rtti()

virtual int RangeSelectorTool::rtti ( ) const
inlinevirtual

◆ selectedCurve()

QwtPlotCurve* RangeSelectorTool::selectedCurve ( ) const
inline

◆ setActivePoint()

void RangeSelectorTool::setActivePoint ( int  index)
protected

Caller is responsible for replot.

References changed(), d_active_marker, d_active_point, d_enabled, d_selected_curve, and emitStatusText().

Referenced by append(), keyEventFilter(), and pointSelected().

◆ setCurveRange

void RangeSelectorTool::setCurveRange ( )
slot

◆ setEnabled

void RangeSelectorTool::setEnabled ( bool  on = true)
slot

References d_enabled, and PlotToolInterface::d_graph.

Referenced by isVisible().

◆ setSelectedCurve()

void RangeSelectorTool::setSelectedCurve ( QwtPlotCurve *  curve)

◆ setVisible()

void RangeSelectorTool::setVisible ( bool  on)

◆ showSelectionDialog()

void RangeSelectorTool::showSelectionDialog ( RangeEditOperation  op = Copy)
private

◆ statusText

void RangeSelectorTool::statusText ( const QString &  )
signal

Emitted whenever a new message should be presented to the user.

You don't have to connect to this signal if you alreay specified a reciever during initialization.

Referenced by emitStatusText(), isVisible(), and RangeSelectorTool().

◆ switchActiveMarker()

void RangeSelectorTool::switchActiveMarker ( )
protected

Member Data Documentation

◆ d_active_marker

QwtPlotMarker RangeSelectorTool::d_active_marker
private

◆ d_active_point

int RangeSelectorTool::d_active_point
private

◆ d_enabled

bool RangeSelectorTool::d_enabled
private

◆ d_inactive_marker

QwtPlotMarker RangeSelectorTool::d_inactive_marker
private

◆ d_inactive_point

int RangeSelectorTool::d_inactive_point
private

◆ d_selected_curve

QwtPlotCurve* RangeSelectorTool::d_selected_curve
private

◆ d_selection_dialog

QPointer<QDialog> RangeSelectorTool::d_selection_dialog
private

◆ d_selection_lst

QList<QCheckBox *> RangeSelectorTool::d_selection_lst
private

Keeps track of the multiple curves selection.

Referenced by clearMultipleSelection(), copyMultipleSelection(), and showSelectionDialog().

◆ d_visible

bool RangeSelectorTool::d_visible
private

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