@@ -81,11 +81,11 void ChartCategoriesAxisX::updateGeometry() | |||||
81 | QGraphicsLineItem *lineItem = static_cast<QGraphicsLineItem*>(axis.at(0)); |
|
81 | QGraphicsLineItem *lineItem = static_cast<QGraphicsLineItem*>(axis.at(0)); | |
82 | lineItem->setLine(m_rect.left(), m_rect.bottom(), m_rect.right(), m_rect.bottom()); |
|
82 | lineItem->setLine(m_rect.left(), m_rect.bottom(), m_rect.right(), m_rect.bottom()); | |
83 |
|
83 | |||
84 |
for (int i = |
|
84 | for (int i = 0; i < layout.size(); ++i) { | |
85 | QGraphicsLineItem *lineItem = static_cast<QGraphicsLineItem*>(lines.at(i)); |
|
85 | QGraphicsLineItem *lineItem = static_cast<QGraphicsLineItem*>(lines.at(i)); | |
86 | lineItem->setLine(layout[i], m_rect.top(), layout[i], m_rect.bottom()); |
|
86 | lineItem->setLine(layout[i], m_rect.top(), layout[i], m_rect.bottom()); | |
87 |
QGraphicsSimpleTextItem *labelItem = static_cast<QGraphicsSimpleTextItem*>(labels.at(i |
|
87 | QGraphicsSimpleTextItem *labelItem = static_cast<QGraphicsSimpleTextItem*>(labels.at(i)); | |
88 |
|
88 | if (i>=1) { | ||
89 | labelItem->setText(ticksList.at(i-1)); |
|
89 | labelItem->setText(ticksList.at(i-1)); | |
90 | const QRectF& rect = labelItem->boundingRect(); |
|
90 | const QRectF& rect = labelItem->boundingRect(); | |
91 | QPointF center = rect.center(); |
|
91 | QPointF center = rect.center(); | |
@@ -93,6 +93,9 void ChartCategoriesAxisX::updateGeometry() | |||||
93 | labelItem->setPos(layout[i] - (layout[i] - layout[i-1])/2 - center.x(), m_rect.bottom() + label_padding); |
|
93 | labelItem->setPos(layout[i] - (layout[i] - layout[i-1])/2 - center.x(), m_rect.bottom() + label_padding); | |
94 | m_minWidth+=rect.width(); |
|
94 | m_minWidth+=rect.width(); | |
95 | m_minHeight=qMax(rect.height()+label_padding,m_minHeight); |
|
95 | m_minHeight=qMax(rect.height()+label_padding,m_minHeight); | |
|
96 | }else{ | |||
|
97 | labelItem->setVisible(false); | |||
|
98 | } | |||
96 |
|
99 | |||
97 | if ((i+1)%2 && i>1) { |
|
100 | if ((i+1)%2 && i>1) { | |
98 | QGraphicsRectItem *rectItem = static_cast<QGraphicsRectItem*>(shades.at(i/2-1)); |
|
101 | QGraphicsRectItem *rectItem = static_cast<QGraphicsRectItem*>(shades.at(i/2-1)); |
@@ -79,18 +79,22 void ChartCategoriesAxisY::updateGeometry() | |||||
79 | QGraphicsLineItem *lineItem = static_cast<QGraphicsLineItem*>(axis.at(0)); |
|
79 | QGraphicsLineItem *lineItem = static_cast<QGraphicsLineItem*>(axis.at(0)); | |
80 | lineItem->setLine(m_rect.left(), m_rect.bottom(), m_rect.right(), m_rect.bottom()); |
|
80 | lineItem->setLine(m_rect.left(), m_rect.bottom(), m_rect.right(), m_rect.bottom()); | |
81 |
|
81 | |||
82 |
for (int i = |
|
82 | for (int i = 0; i < layout.size(); ++i) { | |
83 | QGraphicsLineItem *lineItem = static_cast<QGraphicsLineItem*>(lines.at(i)); |
|
83 | QGraphicsLineItem *lineItem = static_cast<QGraphicsLineItem*>(lines.at(i)); | |
84 | lineItem->setLine(layout[i], m_rect.top(), layout[i], m_rect.bottom()); |
|
84 | lineItem->setLine(layout[i], m_rect.top(), layout[i], m_rect.bottom()); | |
85 | QGraphicsSimpleTextItem *labelItem = static_cast<QGraphicsSimpleTextItem*>(labels.at(i)); |
|
85 | QGraphicsSimpleTextItem *labelItem = static_cast<QGraphicsSimpleTextItem*>(labels.at(i)); | |
86 |
|
86 | if(i>=1){ | ||
87 | labelItem->setText(ticksList.at(i)); |
|
87 | labelItem->setText(ticksList.at(i-1)); | |
88 | const QRectF& rect = labelItem->boundingRect(); |
|
88 | const QRectF& rect = labelItem->boundingRect(); | |
89 | QPointF center = rect.center(); |
|
89 | QPointF center = rect.center(); | |
90 | labelItem->setTransformOriginPoint(center.x(), center.y()); |
|
90 | labelItem->setTransformOriginPoint(center.x(), center.y()); | |
91 | labelItem->setPos(layout[i] - (layout[i] - layout[i-1])/2 - center.x(), m_rect.bottom() + label_padding); |
|
91 | labelItem->setPos(layout[i] - (layout[i] - layout[i-1])/2 - center.x(), m_rect.bottom() + label_padding); | |
92 | m_minWidth+=rect.width(); |
|
92 | m_minWidth+=rect.width(); | |
93 | m_minHeight=qMax(rect.height()+label_padding,m_minHeight); |
|
93 | m_minHeight=qMax(rect.height()+label_padding,m_minHeight); | |
|
94 | }else{ | |||
|
95 | labelItem->setVisible(false); | |||
|
96 | } | |||
|
97 | ||||
94 |
|
98 | |||
95 | if ((i+1)%2 && i>1) { |
|
99 | if ((i+1)%2 && i>1) { | |
96 | QGraphicsRectItem *rectItem = static_cast<QGraphicsRectItem*>(shades.at(i/2-1)); |
|
100 | QGraphicsRectItem *rectItem = static_cast<QGraphicsRectItem*>(shades.at(i/2-1)); |
@@ -124,6 +124,8 QBarCategoriesAxis::QBarCategoriesAxis(QBarCategoriesAxisPrivate &d,QObject *par | |||||
124 | */ |
|
124 | */ | |
125 | void QBarCategoriesAxis::append(const QStringList &categories) |
|
125 | void QBarCategoriesAxis::append(const QStringList &categories) | |
126 | { |
|
126 | { | |
|
127 | if(categories.isEmpty()) return; | |||
|
128 | ||||
127 | Q_D(QBarCategoriesAxis); |
|
129 | Q_D(QBarCategoriesAxis); | |
128 | if (d->m_categories.isEmpty()) { |
|
130 | if (d->m_categories.isEmpty()) { | |
129 | d->m_categories.append(categories); |
|
131 | d->m_categories.append(categories); | |
@@ -173,7 +175,7 void QBarCategoriesAxis::insert(int index, const QString &category) | |||||
173 | d->m_categories.insert(index,category); |
|
175 | d->m_categories.insert(index,category); | |
174 | setRange(category,category); |
|
176 | setRange(category,category); | |
175 | }else{ |
|
177 | }else{ | |
176 |
|
178 | d->m_categories.insert(index,category); | ||
177 | } |
|
179 | } | |
178 | emit categoriesChanged(); |
|
180 | emit categoriesChanged(); | |
179 | } |
|
181 | } | |
@@ -295,7 +297,7 void QBarCategoriesAxis::setRange(const QString& minCategory, const QString& max | |||||
295 | changed = true; |
|
297 | changed = true; | |
296 | } |
|
298 | } | |
297 |
|
299 | |||
298 |
if ( |
|
300 | if (changed) { | |
299 | d->emitRange(); |
|
301 | d->emitRange(); | |
300 | emit categoriesChanged(); |
|
302 | emit categoriesChanged(); | |
301 | } |
|
303 | } |
General Comments 0
You need to be logged in to leave comments.
Login now