MAK Data Logger API Documentation for DIS
progressiveLineGraph.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 1992-2010 VT MAK
3 ** All rights reserved.
4 ******************************************************************************/
5 
9 
10 #ifndef progressiveLineGraph_H_
11 #define progressiveLineGraph_H_
12 
13 #include "lgrZoomableWidget.h"
14 
15 #include <set>
16 #include <list>
17 #include <map>
18 #include <utility>
19 #include <QtGui/QWidget>
20 
21 class QPainter;
22 class QPolygon;
23 class QLinearGradient;
24 
25 namespace MAKLogger
26 {
27  class DtLgrGuiModel;
28 
32  {
33  Q_OBJECT
34 
35  public:
36 
38  DtProgressiveLineGraph(int rangeMin, int rangeMax,bool autoScale,
39  QWidget* parent);
40 
42  virtual ~DtProgressiveLineGraph();
43 
46  void setModel(DtLgrGuiModel* myModel);
47 
49  int verticalMargin() const;
50 
52  void setMargins(int horizontalMargin,int verticalMargin);
53 
55  void addSet(int set,QPen pen, int initial, bool valueCentered = false);
56 
58  void insertValue(int set,double percent,int value);
59 
61  virtual void resetAllValues(int value);
62 
64  virtual void resetValues(int set,int value);
65 
67  virtual void clearValues(int set);
68 
70  virtual void clearAllValues();
71 
74  virtual void offsetPercentages(double percentOffset);
75 
78  virtual void offsetPercentages(int set, double percentOffset);
79 
82  virtual void setRange(int min,int max);
83 
85  virtual int rangeMinimum() const;
86  virtual int rangeMaximum() const;
87 
90  virtual bool autoScale() const;
91 
94  virtual void setAutoScale(bool value);
95 
97  virtual void setNegativeReflection(bool positive);
98 
100  virtual void useBackgroundGradient(bool useIt);
101 
103  virtual bool usesBackgroundGradient() const;
104 
106  virtual void useAlphaBlending(bool useIt);
107 
109  virtual bool usesAlphaBlending() const;
110 
112  void useBasicGui(bool basic);
113 
116  virtual void drawAsVerticalLines(bool useVerticalLines);
117 
120  virtual bool usesVerticalLines() const;
121 
123  virtual void setOffsets(float left,float right);
124 
126  void forceUpdate(bool widgetUpdate);
127 
129  bool updateNeeded() const;
130 
131  typedef std::set<std::pair<double,int> > PercentValueMap;
132 
134  virtual void testForUpdate(DtLgrGuiModel& model);
135 
136  protected:
137 
138  class Set;
139  typedef std::map<int,Set*> SetMap;
140 
142  virtual double firstTime() const;
143 
145  virtual double lastTime() const;
146 
148  virtual double currentTime() const;
149 
151  virtual void resizeEvent( QResizeEvent* e);
152 
154  virtual void paintEvent( QPaintEvent* );
155 
157  virtual void draw(QPainter& painter,const QRect& rect);
158 
160  virtual void paintBackground(QPainter& painter);
161 
163  virtual int getSeparation() const;
164 
166  virtual void paintLines(QPainter&,Set& set);
167 
169  virtual int desiredRange() const;
170 
172  void paintVerticalLines( PercentValueMap &set, QRectF svp,
173  int rangeHeight, QPainter &painter, QPen pen, bool centered);
174 
176  void paintConnectedLines( PercentValueMap &set, QRectF svp,
177  int rangeHeight, QPainter &painter, QPen pen );
178 
180  int desiredMinimum() const;
181 
184 
187 
189 
191  bool myActive;
192 
194 
197  QLinearGradient* myLinearGradient;
201  QPolygon* myPointCache;
202  QPixmap* myLineBuffer;
204 
206  double myDrawnRange;
207  };
208 
209 }
210 
211 #endif

Document ID: Generated on Thu Apr 10 18:53:01 EDT 2014 from SVN revision 138105
Copyright © 2005-2012 VT MÄK. All Rights Reserved (www.mak.com)