10 #ifndef progressiveLineGraph_H_
11 #define progressiveLineGraph_H_
23 class QLinearGradient;
28 class DtLgrVerticalRangeSlider;
50 int verticalMargin()
const;
53 void setMargins(
int horizontalMargin,
int verticalMargin);
56 void addSet(
int set,QPen pen,
int initial,
bool valueCentered =
false);
59 void insertValue(
int set,
double percent,
int value);
62 virtual void resetAllValues(
int value);
65 virtual void resetValues(
int set,
int value);
68 virtual void clearValues(
int set);
71 virtual void clearAllValues();
75 virtual void offsetPercentages(
double percentOffset);
79 virtual void offsetPercentages(
int set,
double percentOffset);
83 virtual void setRange(
int min,
int max);
86 virtual int rangeMinimum()
const;
87 virtual int rangeMaximum()
const;
91 virtual bool autoScale()
const;
95 virtual void setAutoScale(
bool value);
98 virtual void setNegativeReflection(
bool positive);
101 virtual void useBackgroundGradient(
bool useIt);
104 virtual bool usesBackgroundGradient()
const;
107 virtual void useAlphaBlending(
bool useIt);
110 virtual bool usesAlphaBlending()
const;
113 void useBasicGui(
bool basic);
117 virtual void drawAsVerticalLines(
bool useVerticalLines);
121 virtual bool usesVerticalLines()
const;
124 virtual void setOffsets(
float left,
float right);
127 void forceUpdate(
bool widgetUpdate);
130 bool updateNeeded()
const;
138 virtual void enableZoom();
140 virtual void disableZoom();
143 virtual void initializeZoomSlider();
146 virtual void syncZoomSlider();
149 virtual void setZoomed(
bool zoom);
152 virtual bool isZoomed();
154 virtual bool isMoveValid(
int slideAmount);
157 void wheelMoved(
int);
160 void moveUp(
int steps);
162 void moveDown(
int steps);
164 void scrollBarMoved(
int action);
169 typedef std::map<int,Set*>
SetMap;
172 virtual double firstTime()
const;
175 virtual double lastTime()
const;
178 virtual double currentTime()
const;
181 virtual void resizeEvent( QResizeEvent* e);
184 virtual void paintEvent( QPaintEvent* );
187 virtual void draw(QPainter& painter,
const QRect& rect);
190 virtual void paintBackground(QPainter& painter);
193 virtual int getSeparation()
const;
196 virtual void paintLines(QPainter&,Set& set);
199 virtual int desiredRange()
const;
203 int rangeHeight, QPainter &painter, QPen pen,
bool centered);
207 int rangeHeight, QPainter &painter, QPen pen );
210 int desiredMinimum()
const;
213 virtual void wheelEvent(QWheelEvent *event);
216 virtual void validateAndSetZoomedGraphRanges(
int zoomedMax,
int zoomedMin);
219 virtual void slideZoomedRangeDown(
int slideAmount);
220 virtual void slideZoomedRangeUp(
int slideAmount);
223 virtual void setScrollBarRange();
226 virtual void calibrateScrollBarPosition(
int jumpsToMax);
std::set< std::pair< double, int > > PercentValueMap
Definition: progressiveLineGraph.h:132
int myInitialMinimumRange
Definition: progressiveLineGraph.h:228
int myVerticalMargin
Definition: progressiveLineGraph.h:238
int myInitialZoomedMinRange
Definition: progressiveLineGraph.h:235
int mySliderPosition
Definition: progressiveLineGraph.h:236
std::map< int, Set * > SetMap
Definition: progressiveLineGraph.h:168
bool myActive
Definition: progressiveLineGraph.h:241
DtLgrGuiModel * myModel
Definition: progressiveLineGraph.h:259
bool myZoomEnabled
Definition: progressiveLineGraph.h:257
The logger GUI's model.
Definition: lgrGuiModel.h:56
bool myUseVerticalLines
Definition: progressiveLineGraph.h:249
DtLgrVerticalRangeSlider * myRangeWidget
Definition: progressiveLineGraph.h:255
QPixmap * myLineBuffer
Definition: progressiveLineGraph.h:252
bool myUseGradient
Definition: progressiveLineGraph.h:245
bool myUseAlphaBlending
Definition: progressiveLineGraph.h:246
int myMaximumRange
Definition: progressiveLineGraph.h:232
bool myIsZoomed
Definition: progressiveLineGraph.h:256
double myDrawnRange
Definition: progressiveLineGraph.h:260
QLinearGradient * myLinearGradient
Definition: progressiveLineGraph.h:247
int myMinimumRange
Definition: progressiveLineGraph.h:231
#define DT_DLL_LGRGUI
Definition: lgrGui.h:19
bool myGraphNeedsUpdating
Definition: progressiveLineGraph.h:248
Widget which draws a line graphic where the data is progressively added over time.
Definition: progressiveLineGraph.h:32
bool myUseCachedGraph
Definition: progressiveLineGraph.h:253
bool myAutoScale
Definition: progressiveLineGraph.h:240
SetMap mySets
Definition: progressiveLineGraph.h:243
Definition: lgrVerticalRangeSlider.h:22
int myInitialMaximumRange
Definition: progressiveLineGraph.h:229
int myInitialZoomedMaxRange
Definition: progressiveLineGraph.h:234
QPolygon * myPointCache
Definition: progressiveLineGraph.h:251
bool myNegativeReflection
Definition: progressiveLineGraph.h:250