SciDAVis  1.D4
Public Slots | Signals | Public Member Functions | Protected Member Functions | Private Attributes
RangeSelectorTool Class Reference

#include <RangeSelectorTool.h>

Inheritance diagram for RangeSelectorTool:
PlotToolInterface

List of all members.

Public Slots

virtual void pointSelected (const QPoint &point)

Signals

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

Public Member Functions

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

Protected Member Functions

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

Private Attributes

QwtPlotMarker d_active_marker
int d_active_point
QwtPlotMarker d_inactive_marker
int d_inactive_point
QwtPlotCurve * d_selected_curve

Additional Inherited Members

- Public Types inherited from PlotToolInterface
enum  RTTI {
  DataPicker, ScreenPicker, LineProfile, MultiPeak,
  RangeSelector, TranslateCurve
}
- Protected Attributes inherited from PlotToolInterface
Graphd_graph

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.


Constructor & Destructor Documentation

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

Member Function Documentation

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

References pointSelected().

void RangeSelectorTool::changed ( )
signal

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

Referenced by pointSelected(), setActivePoint(), and setSelectedCurve().

int RangeSelectorTool::dataSize ( ) const
inline

References d_active_point, and d_inactive_point.

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

References keyEventFilter().

bool RangeSelectorTool::keyEventFilter ( QKeyEvent *  ke)
double RangeSelectorTool::maxXValue ( ) const
inline
double RangeSelectorTool::minXValue ( ) const
inline
void RangeSelectorTool::pointSelected ( const QPoint &  point)
virtualslot
virtual RTTI RangeSelectorTool::rtti ( ) const
inlinevirtual
QwtPlotCurve* RangeSelectorTool::selectedCurve ( ) const
inline

References d_selected_curve.

void RangeSelectorTool::setActivePoint ( int  index)
protected

Caller is responsible for replot.

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

Referenced by keyEventFilter(), and pointSelected().

void RangeSelectorTool::setSelectedCurve ( QwtPlotCurve *  curve)

Caller is responsible for replot.

References changed(), d_active_marker, d_active_point, d_inactive_marker, d_inactive_point, d_selected_curve, and emitStatusText().

Referenced by keyEventFilter().

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(), and RangeSelectorTool().

void RangeSelectorTool::switchActiveMarker ( )
protected

Member Data Documentation

QwtPlotMarker RangeSelectorTool::d_active_marker
private
int RangeSelectorTool::d_active_point
private
QwtPlotMarker RangeSelectorTool::d_inactive_marker
private
int RangeSelectorTool::d_inactive_point
private
QwtPlotCurve* RangeSelectorTool::d_selected_curve
private

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