##// END OF EJS Templates
Bugfixes to barcategoryaxis
Michal Klocek -
r1640:f4d7246ca1ef
parent child
Show More
@@ -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 = 1; i < layout.size(); ++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-1));
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 = 1; i < layout.size(); ++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 ((changed)) {
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