@@ -143,10 +143,10 void QBarCategoriesAxis::append(const QStringList &categories) | |||
|
143 | 143 | |
|
144 | 144 | Q_D(QBarCategoriesAxis); |
|
145 | 145 | if (d->m_categories.isEmpty()) { |
|
146 |
|
|
|
147 |
|
|
|
146 | d->m_categories.append(categories); | |
|
147 | setRange(categories.first(),categories.last()); | |
|
148 | 148 | }else{ |
|
149 |
|
|
|
149 | d->m_categories.append(categories); | |
|
150 | 150 | } |
|
151 | 151 | emit d->updated(); |
|
152 | 152 | emit categoriesChanged(); |
@@ -157,15 +157,15 void QBarCategoriesAxis::append(const QStringList &categories) | |||
|
157 | 157 | */ |
|
158 | 158 | void QBarCategoriesAxis::append(const QString &category) |
|
159 | 159 | { |
|
160 |
|
|
|
161 |
|
|
|
162 |
|
|
|
163 |
|
|
|
164 |
|
|
|
165 |
|
|
|
166 | } | |
|
167 |
|
|
|
168 |
|
|
|
160 | Q_D(QBarCategoriesAxis); | |
|
161 | if (d->m_categories.isEmpty()) { | |
|
162 | d->m_categories.append(category); | |
|
163 | setRange(category,category); | |
|
164 | }else{ | |
|
165 | d->m_categories.append(category); | |
|
166 | } | |
|
167 | emit d->updated(); | |
|
168 | emit categoriesChanged(); | |
|
169 | 169 | } |
|
170 | 170 | |
|
171 | 171 | /*! |
@@ -189,8 +189,8 void QBarCategoriesAxis::insert(int index, const QString &category) | |||
|
189 | 189 | { |
|
190 | 190 | Q_D(QBarCategoriesAxis); |
|
191 | 191 | if (d->m_categories.isEmpty()) { |
|
192 |
|
|
|
193 |
|
|
|
192 | d->m_categories.insert(index,category); | |
|
193 | setRange(category,category); | |
|
194 | 194 | }else{ |
|
195 | 195 | d->m_categories.insert(index,category); |
|
196 | 196 | } |
@@ -304,7 +304,7 void QBarCategoriesAxis::setRange(const QString& minCategory, const QString& max | |||
|
304 | 304 | |
|
305 | 305 | bool changed = false; |
|
306 | 306 | if (!qFuzzyIsNull(d->m_min - (minIndex))||d->m_minCategory!=minCategory) { |
|
307 |
|
|
|
307 | d->m_minCategory = minCategory; | |
|
308 | 308 | d->m_min = minIndex; |
|
309 | 309 | emit minChanged(minCategory); |
|
310 | 310 | changed = true; |
@@ -368,10 +368,36 int QBarCategoriesAxisPrivate::ticksCount() const | |||
|
368 | 368 | |
|
369 | 369 | void QBarCategoriesAxisPrivate::handleAxisRangeChanged(qreal min, qreal max,int count) |
|
370 | 370 | { |
|
371 | Q_Q(QBarCategoriesAxis); | |
|
372 | Q_UNUSED(count); | |
|
371 | 373 | m_min = min; |
|
372 | 374 | m_max = max; |
|
373 | m_ticksCount = count; | |
|
374 | //TODO: | |
|
375 | int minIndex = qFloor(min); | |
|
376 | int maxIndex = qFloor(max); | |
|
377 | ||
|
378 | if (minIndex < 0) { | |
|
379 | minIndex = 0; | |
|
380 | } | |
|
381 | if (maxIndex > m_categories.count()-1){ | |
|
382 | maxIndex = m_categories.count()-1; | |
|
383 | } | |
|
384 | ||
|
385 | bool changed = false; | |
|
386 | if (m_minCategory != m_categories.at(minIndex)) { | |
|
387 | m_minCategory = m_categories.at(minIndex); | |
|
388 | emit q->minChanged(m_minCategory); | |
|
389 | changed = true; | |
|
390 | } | |
|
391 | ||
|
392 | if (m_maxCategory != m_categories.at(maxIndex)) { | |
|
393 | m_maxCategory = m_categories.at(maxIndex); | |
|
394 | emit q->maxChanged(m_maxCategory); | |
|
395 | changed = true; | |
|
396 | } | |
|
397 | ||
|
398 | if (changed) { | |
|
399 | emit q->rangeChanged(m_minCategory, m_maxCategory); | |
|
400 | } | |
|
375 | 401 | } |
|
376 | 402 | |
|
377 | 403 | ChartAxis* QBarCategoriesAxisPrivate::createGraphics(ChartPresenter* presenter) |
@@ -386,13 +412,18 ChartAxis* QBarCategoriesAxisPrivate::createGraphics(ChartPresenter* presenter) | |||
|
386 | 412 | |
|
387 | 413 | void QBarCategoriesAxisPrivate::emitRange() |
|
388 | 414 | { |
|
389 |
|
|
|
415 | emit changed(m_min -0.5, m_max +0.5, qCeil(m_max + 0.5) -qCeil(m_min - 0.5) +1, false); | |
|
390 | 416 | } |
|
391 | 417 | |
|
392 | 418 | void QBarCategoriesAxisPrivate::initialize(Domain* domain) |
|
393 | 419 | { |
|
394 | Q_UNUSED(domain); | |
|
395 | //TODO: | |
|
420 | if (qFuzzyCompare(m_max, m_min)) { | |
|
421 | if(m_orientation==Qt::Vertical){ | |
|
422 | handleAxisRangeChanged(domain->minY(),domain->maxY(),domain->tickXCount()); | |
|
423 | }else{ | |
|
424 | handleAxisRangeChanged(domain->minX(),domain->maxX(),domain->tickYCount()); | |
|
425 | } | |
|
426 | } | |
|
396 | 427 | } |
|
397 | 428 | |
|
398 | 429 | #include "moc_qbarcategoriesaxis.cpp" |
@@ -308,7 +308,7 void QValuesAxisPrivate::emitRange() | |||
|
308 | 308 | |
|
309 | 309 | void QValuesAxisPrivate::initialize(Domain* domain) |
|
310 | 310 | { |
|
311 |
if(m_max |
|
|
311 | if(qFuzzyCompare(m_max,m_min)) { | |
|
312 | 312 | if(m_orientation==Qt::Vertical){ |
|
313 | 313 | handleAxisRangeChanged(domain->minY(),domain->maxY(),domain->tickXCount()); |
|
314 | 314 | }else{ |
General Comments 0
You need to be logged in to leave comments.
Login now