##// END OF EJS Templates
Changes public API for nice nuumbers -> setNiceNumbers(bool enabled)
Michal Klocek -
r687:1855aba16ab8
parent child
Show More
@@ -150,7 +150,7 m_shadesOpacity(1.0),
150 150 m_min(0),
151 151 m_max(0),
152 152 m_ticksCount(5),
153 m_selection(NativeLabelsSelection)
153 m_niceNumbers(false)
154 154 {
155 155
156 156 }
@@ -344,7 +344,7 void QChartAxis::setRange(qreal min, qreal max)
344 344
345 345 if(changed) {
346 346 emit rangeChanged(m_min,m_max);
347 emit this->changed(m_min, m_max, m_ticksCount, m_selection);
347 emit this->changed(m_min, m_max, m_ticksCount, m_niceNumbers);
348 348 }
349 349 }
350 350
@@ -356,7 +356,7 void QChartAxis::setTicksCount(int count)
356 356 if(m_ticksCount!=count) {
357 357 m_ticksCount=count;
358 358 emit ticksCountChanged(count);
359 emit changed(m_min, m_max, m_ticksCount, m_selection);
359 emit changed(m_min, m_max, m_ticksCount, m_niceNumbers);
360 360 }
361 361 }
362 362
@@ -390,11 +390,11 void QChartAxis::handleAxisRangeChanged(qreal min, qreal max,int count)
390 390 setTicksCount(count);
391 391 }
392 392
393 void QChartAxis::setLabelsSelectionMode(LabelsSelection mode)
393 void QChartAxis::setNiceNumbers(bool enabled)
394 394 {
395 if(m_selection!=mode){
396 m_selection=mode;
397 emit changed(m_min, m_max, m_ticksCount, m_selection);
395 if(m_niceNumbers!=enabled){
396 m_niceNumbers=enabled;
397 emit changed(m_min, m_max, m_ticksCount, m_niceNumbers);
398 398 }
399 399 }
400 400
@@ -12,7 +12,6 class QTCOMMERCIALCHART_EXPORT QChartAxis : public QObject
12 12 {
13 13 Q_OBJECT
14 14 public:
15 enum LabelsSelection{ NativeLabelsSelection, LooseLabelsSelection};
16 15
17 16 QChartAxis(QObject* parent =0);
18 17 ~QChartAxis();
@@ -62,8 +61,8 public:
62 61 void setTicksCount(int count);
63 62 int ticksCount() const { return m_ticksCount;}
64 63
65 void setLabelsSelectionMode(LabelsSelection mode);
66 LabelsSelection labelsSelectionMode() const { return m_selection;}
64 void setNiceNumbers(bool enabled);
65 bool niceNumbers() const { return m_niceNumbers;}
67 66
68 67 QChartAxisCategories* categories() { return &m_category; }
69 68
@@ -78,7 +77,7 signals:
78 77
79 78 //interal signal
80 79 void updated();
81 void changed(qreal min, qreal max, int tickCount,QChartAxis::LabelsSelection mode);
80 void changed(qreal min, qreal max, int tickCount,bool niceNumbers);
82 81 //internal slot
83 82 public slots:
84 83 void handleAxisRangeChanged(qreal min, qreal max,int count);
@@ -108,7 +107,7 private:
108 107 int m_ticksCount;
109 108 QChartAxisCategories m_category;
110 109
111 LabelsSelection m_selection;
110 bool m_niceNumbers;
112 111 };
113 112
114 113 QTCOMMERCIALCHART_END_NAMESPACE
@@ -10,7 +10,7 m_minY(0),
10 10 m_maxY(0),
11 11 m_tickXCount(5),
12 12 m_tickYCount(5),
13 m_selection(QChartAxis::NativeLabelsSelection)
13 m_niceNumbers(false)
14 14 {
15 15 }
16 16
@@ -40,7 +40,7 void Domain::setRange(qreal minX, qreal maxX, qreal minY, qreal maxY,int tickXCo
40 40 }
41 41
42 42 if(m_minX!=minX || m_maxX!=maxX) {
43 niceNumbers(minX, maxX, m_tickXCount);
43 if(m_niceNumbers) looseNiceNumbers(minX, maxX, m_tickXCount);
44 44 m_minX=minX;
45 45 m_maxX=maxX;
46 46 domainChanged=true;
@@ -49,7 +49,7 void Domain::setRange(qreal minX, qreal maxX, qreal minY, qreal maxY,int tickXCo
49 49 }
50 50
51 51 if(m_minY!=minY || m_maxY!=maxY) {
52 niceNumbers(minY, maxY, m_tickYCount);
52 if(m_niceNumbers) looseNiceNumbers(minY, maxY, m_tickYCount);
53 53 m_minY=minY;
54 54 m_maxY=maxY;
55 55 domainChanged=true;
@@ -137,8 +137,10 void Domain::zoomIn(const QRectF& rect, const QSizeF& size)
137 137 m_minY = m_maxY - dy * rect.bottom();
138 138 m_maxY = m_maxY - dy * rect.top();
139 139
140 niceNumbers(m_minX, m_maxX, m_tickXCount);
141 niceNumbers(m_minY, m_maxY, m_tickYCount);
140 if(m_niceNumbers) {
141 looseNiceNumbers(m_minX, m_maxX, m_tickXCount);
142 looseNiceNumbers(m_minY, m_maxY, m_tickYCount);
143 }
142 144
143 145 emit domainChanged(m_minX, m_maxX, m_minY, m_maxY);
144 146 emit rangeXChanged(m_minX, m_maxX, m_tickXCount);
@@ -155,8 +157,10 void Domain::zoomOut(const QRectF& rect, const QSizeF& size)
155 157 m_maxY = m_minY + dy * rect.bottom();
156 158 m_minY = m_maxY - dy * size.height();
157 159
158 niceNumbers(m_minX, m_maxX, m_tickXCount);
159 niceNumbers(m_minY, m_maxY, m_tickYCount);
160 if(m_niceNumbers) {
161 looseNiceNumbers(m_minX, m_maxX, m_tickXCount);
162 looseNiceNumbers(m_minY, m_maxY, m_tickYCount);
163 }
160 164
161 165 emit domainChanged(m_minX, m_maxX, m_minY, m_maxY);
162 166 emit rangeXChanged(m_minX, m_maxX, m_tickXCount);
@@ -182,26 +186,20 void Domain::move(int dx,int dy,const QSizeF& size)
182 186 emit domainChanged(m_minX, m_maxX, m_minY, m_maxY);
183 187 }
184 188
185 void Domain::handleAxisXChanged(qreal min,qreal max,int tickXCount,QChartAxis::LabelsSelection mode)
189 void Domain::handleAxisXChanged(qreal min,qreal max,int tickXCount,bool niceNumbers)
186 190 {
187 m_selection=mode;
191 m_niceNumbers=niceNumbers;
188 192 setRange(min,max,m_minY, m_maxY,tickXCount,m_tickYCount);
189 193 }
190 194
191 void Domain::handleAxisYChanged(qreal min,qreal max,int tickYCount,QChartAxis::LabelsSelection mode)
195 void Domain::handleAxisYChanged(qreal min,qreal max,int tickYCount,bool niceNumbers)
192 196 {
193 m_selection=mode;
197 m_niceNumbers=niceNumbers;
194 198 setRange(m_minX, m_maxX, min, max,m_tickXCount,tickYCount);
195 199 }
196 200
197 201 //algorithm defined by Paul S.Heckbert GraphicalGems I
198 202
199 void Domain::niceNumbers(qreal &min, qreal &max, int &ticksCount)
200 {
201 if(m_selection!=QChartAxis::NativeLabelsSelection)
202 looseNiceNumbers(min,max,ticksCount);
203 }
204
205 203 void Domain::looseNiceNumbers(qreal &min, qreal &max, int &ticksCount)
206 204 {
207 205 qreal range = niceNumber(max-min,true); //range with ceiling
@@ -1,7 +1,6
1 1 #ifndef DOMAIN_H_
2 2 #define DOMAIN_H_
3 3 #include "qchartglobal.h"
4 #include "qchartaxis.h"
5 4 #include <QRectF>
6 5 #include <QSizeF>
7 6
@@ -50,11 +49,10 signals:
50 49 void rangeYChanged(qreal min, qreal max, int tickYCount);
51 50
52 51 public slots:
53 void handleAxisXChanged(qreal min,qreal max,int tickXCount = 5,QChartAxis::LabelsSelection mode = QChartAxis::NativeLabelsSelection);
54 void handleAxisYChanged(qreal min,qreal max,int tickYCount = 5,QChartAxis::LabelsSelection mode = QChartAxis::NativeLabelsSelection);
52 void handleAxisXChanged(qreal min,qreal max,int tickXCount = 5,bool niceNumbers = false);
53 void handleAxisYChanged(qreal min,qreal max,int tickYCount = 5,bool niceNumbers = false);
55 54
56 55 private:
57 void niceNumbers(qreal &min, qreal &max, int &ticksCount);
58 56 void looseNiceNumbers(qreal &min, qreal &max, int &ticksCount);
59 57 qreal niceNumber(qreal x,bool celing);
60 58
@@ -65,7 +63,7 private:
65 63 qreal m_maxY;
66 64 int m_tickXCount;
67 65 int m_tickYCount;
68 QChartAxis::LabelsSelection m_selection;
66 bool m_niceNumbers;
69 67 };
70 68
71 69 QTCOMMERCIALCHART_END_NAMESPACE
General Comments 0
You need to be logged in to leave comments. Login now