Public Types | Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes
MAKLogger::DtProgressiveLineGraph Class Reference

Widget which draws a line graphic where the data is progressively added over time. More...

+ Inheritance diagram for MAKLogger::DtProgressiveLineGraph:
+ Collaboration diagram for MAKLogger::DtProgressiveLineGraph:

List of all members.

Public Types

typedef std::set< std::pair
< double, int > > 
PercentValueMap

Public Member Functions

 DtProgressiveLineGraph (int rangeMin, int rangeMax, bool autoScale, QWidget *parent)
 CTOR for creating the graph.
virtual ~DtProgressiveLineGraph ()
 DTOR for graph.
void setModel (DtLgrGuiModel *myModel)
 Set the model, this is required for a number of features such as drawing a cursor.
int verticalMargin () const
 Get the vertical margin.
void setMargins (int horizontalMargin, int verticalMargin)
 set the Graph margins.
void addSet (int set, QPen pen, int initial, bool valueCentered=false)
 Add a set with a color and initial value.
void insertValue (int set, double percent, int value)
 Insert a value into the middle of the graph.
virtual void resetAllValues (int value)
 Clear all sets and insert the initial value.
virtual void resetValues (int set, int value)
 Clear the values and insert the initial value.
virtual void clearValues (int set)
 Clear the values.
virtual void clearAllValues ()
 Clear all sets.
virtual void offsetPercentages (double percentOffset)
 Offset the percentages of all the values.
virtual void offsetPercentages (int set, double percentOffset)
 Offset the percentages of a set of values.
virtual void setRange (int min, int max)
 Sets the minimum and maximum range of the points.
virtual int rangeMinimum () const
 Get the Range minimum and maximum.
virtual int rangeMaximum () const
virtual bool autoScale () const
 Get whether auto scaling is used.
virtual void setAutoScale (bool value)
 Set whether auto scaling is used.
virtual void setNegativeReflection (bool positive)
 Set whether the scale is a reflect negative scale.
virtual void useBackgroundGradient (bool useIt)
 Set if the background gradient is used.
virtual bool usesBackgroundGradient () const
 Get if the background gradient is used.
virtual void useAlphaBlending (bool useIt)
 Set whether to use alpha blending.
virtual bool usesAlphaBlending () const
 Get whether alpha blending is used.
void useBasicGui (bool basic)
 Set whether to use basic render settings.
virtual void drawAsVerticalLines (bool useVerticalLines)
 Set whether vertical line samples are used instead of connected samples.
virtual bool usesVerticalLines () const
 Get whether vertical line samples are used instead of connected samples.
virtual void setOffsets (float left, float right)
 Override base implementation.
void forceUpdate (bool widgetUpdate)
 Force a redraw and optionally a widget update.
bool updateNeeded () const
 Check to see if an update has been forced.
virtual void testForUpdate (DtLgrGuiModel &model)
 Override test for update.

Protected Types

typedef std::map< int, Set * > SetMap

Protected Member Functions

virtual double firstTime () const
 Get the current time.
virtual double lastTime () const
 Get the current time.
virtual double currentTime () const
 Get the current time.
virtual void resizeEvent (QResizeEvent *e)
 Resize event needed to resize back buffer.
virtual void paintEvent (QPaintEvent *)
 Draw the widget.
virtual void draw (QPainter &painter, const QRect &rect)
 Draw the control.
virtual void paintBackground (QPainter &painter)
 Paint background.
virtual int getSeparation () const
 Get the line separation count.
virtual void paintLines (QPainter &, Set &set)
 Function to draw the lines in the foreground color.
virtual int desiredRange () const
 Get the desired Range.
void paintVerticalLines (PercentValueMap &set, QRectF svp, int rangeHeight, QPainter &painter, QPen pen, bool centered)
 Draw the graph as vertical lines.
void paintConnectedLines (PercentValueMap &set, QRectF svp, int rangeHeight, QPainter &painter, QPen pen)
 Draw the graph as a connected line.
int desiredMinimum () const
 Get the desired minimum.

Protected Attributes

int myInitialMinimumRange
int myInitialMaximumRange
int myMinimumRange
int myMaximumRange
int myVerticalMargin
bool myAutoScale
bool myActive
SetMap mySets
bool myUseGradient
bool myUseAlphaBlending
QLinearGradient * myLinearGradient
bool myGraphNeedsUpdating
bool myUseVerticalLines
bool myNegativeReflection
QPolygon * myPointCache
QPixmap * myLineBuffer
bool myUseCachedGraph
DtLgrGuiModelmyModel
double myDrawnRange

Detailed Description

Widget which draws a line graphic where the data is progressively added over time.


Member Function Documentation

virtual bool MAKLogger::DtProgressiveLineGraph::autoScale ( ) const [virtual]

Get whether auto scaling is used.

Auto scale will change the range dynamically as points are added.

virtual void MAKLogger::DtProgressiveLineGraph::drawAsVerticalLines ( bool  useVerticalLines) [virtual]

Set whether vertical line samples are used instead of connected samples.

virtual void MAKLogger::DtProgressiveLineGraph::offsetPercentages ( double  percentOffset) [virtual]

Offset the percentages of all the values.

Any value with a negative percentage or a percentage > 100 will be dropped.

virtual void MAKLogger::DtProgressiveLineGraph::offsetPercentages ( int  set,
double  percentOffset 
) [virtual]

Offset the percentages of a set of values.

Any value with a negative percentage or a percentage > 100 will be dropped.

virtual void MAKLogger::DtProgressiveLineGraph::setAutoScale ( bool  value) [virtual]

Set whether auto scaling is used.

Auto scale will change the range dynamically as points are added.

void MAKLogger::DtProgressiveLineGraph::setModel ( DtLgrGuiModel myModel)

Set the model, this is required for a number of features such as drawing a cursor.

virtual void MAKLogger::DtProgressiveLineGraph::setRange ( int  min,
int  max 
) [virtual]

Sets the minimum and maximum range of the points.

As points are scaled clipped to the min and max. when drawn.

virtual bool MAKLogger::DtProgressiveLineGraph::usesVerticalLines ( ) const [virtual]

Get whether vertical line samples are used instead of connected samples.


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

Document ID: Generated on Tue Oct 11 19:41:03 EDT 2011 from SVN revision 107422
Copyright © 2005-2011 VT MÄK Inc. All Rights Reserved (www.mak.com)