##// END OF EJS Templates
Fixes layout rounding issue
Michal Klocek -
r2306:496027721d42
parent child
Show More
@@ -21,6 +21,7
21 21 #include "chartbarcategoryaxisx_p.h"
22 22 #include "chartpresenter_p.h"
23 23 #include "qbarcategoryaxis_p.h"
24 #include "chartlayout_p.h"
24 25 #include <QFontMetrics>
25 26 #include <QDebug>
26 27 #include <qmath.h>
@@ -31,7 +32,8 ChartBarCategoryAxisX::ChartBarCategoryAxisX(QBarCategoryAxis *axis, QGraphicsIt
31 32 : HorizontalAxis(axis, item, true),
32 33 m_categoriesAxis(axis)
33 34 {
34
35 QObject::connect(m_categoriesAxis,SIGNAL(categoriesChanged()),this, SLOT(handleCategoriesChanged()));
36 handleCategoriesChanged();
35 37 }
36 38
37 39 ChartBarCategoryAxisX::~ChartBarCategoryAxisX()
@@ -91,17 +93,9 void ChartBarCategoryAxisX::updateGeometry()
91 93 HorizontalAxis::updateGeometry();
92 94 }
93 95
94 void ChartBarCategoryAxisX::handleAxisUpdated()
96 void ChartBarCategoryAxisX::handleCategoriesChanged()
95 97 {
96 //TODO:
97 /*
98 if (m_categoriesAxis->categories() != m_categories) {
99 m_categories = m_categoriesAxis->categories();
100 if (ChartAxis::layout().count() == m_categoriesAxis->d_ptr->count() + 2)
101 updateGeometry();
102 }
103 */
104 //TODO: ChartAxis::handleAxisUpdated();
98 if(presenter()) presenter()->layout()->invalidate();
105 99 }
106 100
107 101 QSizeF ChartBarCategoryAxisX::sizeHint(Qt::SizeHint which, const QSizeF &constraint) const
@@ -111,7 +105,7 QSizeF ChartBarCategoryAxisX::sizeHint(Qt::SizeHint which, const QSizeF &constra
111 105 QFontMetrics fn(font());
112 106 QSizeF sh;
113 107 QSizeF base = HorizontalAxis::sizeHint(which, constraint);
114 QStringList ticksList = createCategoryLabels(ChartAxis::layout());
108 QStringList ticksList = m_categoriesAxis->categories();
115 109
116 110 qreal width=0;
117 111 qreal height=0;
@@ -143,4 +137,6 QSizeF ChartBarCategoryAxisX::sizeHint(Qt::SizeHint which, const QSizeF &constra
143 137 return sh;
144 138 }
145 139
140 #include "moc_chartbarcategoryaxisx_p.cpp"
141
146 142 QTCOMMERCIALCHART_END_NAMESPACE
@@ -39,6 +39,7 class QBarCategoryAxis;
39 39
40 40 class ChartBarCategoryAxisX : public HorizontalAxis
41 41 {
42 Q_OBJECT
42 43 public:
43 44 ChartBarCategoryAxisX(QBarCategoryAxis *axis, QGraphicsItem* item = 0);
44 45 ~ChartBarCategoryAxisX();
@@ -50,10 +51,9 protected:
50 51 private:
51 52 QStringList createCategoryLabels(const QVector<qreal>& layout) const;
52 53 public Q_SLOTS:
53 void handleAxisUpdated();
54 void handleCategoriesChanged();
54 55
55 56 private:
56 QStringList m_categories;
57 57 QBarCategoryAxis *m_categoriesAxis;
58 58 };
59 59
@@ -21,6 +21,7
21 21 #include "chartbarcategoryaxisy_p.h"
22 22 #include "chartpresenter_p.h"
23 23 #include "qbarcategoryaxis_p.h"
24 #include "chartlayout_p.h"
24 25 #include <qmath.h>
25 26 #include <QFontMetrics>
26 27 #include <QDebug>
@@ -31,6 +32,8 ChartBarCategoryAxisY::ChartBarCategoryAxisY(QBarCategoryAxis *axis, QGraphicsIt
31 32 : VerticalAxis(axis, item, true),
32 33 m_categoriesAxis(axis)
33 34 {
35 QObject::connect( m_categoriesAxis,SIGNAL(categoriesChanged()),this, SLOT(handleCategoriesChanged()));
36 handleCategoriesChanged();
34 37 }
35 38
36 39 ChartBarCategoryAxisY::~ChartBarCategoryAxisY()
@@ -89,16 +92,10 void ChartBarCategoryAxisY::updateGeometry()
89 92 VerticalAxis::updateGeometry();
90 93 }
91 94
92 void ChartBarCategoryAxisY::handleAxisUpdated()
95 void ChartBarCategoryAxisY::handleCategoriesChanged()
93 96 {
94 //TODO:
95 /*
96 if (m_categoriesAxis->categories() != m_categories) {
97 m_categories = m_categoriesAxis->categories();
98 if (ChartAxis::layout().count() == m_categoriesAxis->d_ptr->count() + 2)
99 updateGeometry();
100 }*/
101 //TODO :: ChartAxis::handleAxisUpdated();
97 QGraphicsLayoutItem::updateGeometry();
98 if(presenter()) presenter()->layout()->invalidate();
102 99 }
103 100
104 101 QSizeF ChartBarCategoryAxisY::sizeHint(Qt::SizeHint which, const QSizeF &constraint) const
@@ -108,8 +105,7 QSizeF ChartBarCategoryAxisY::sizeHint(Qt::SizeHint which, const QSizeF &constra
108 105 QFontMetrics fn(font());
109 106 QSizeF sh;
110 107 QSizeF base = VerticalAxis::sizeHint(which, constraint);
111 QStringList ticksList = createCategoryLabels(ChartAxis::layout());
112
108 QStringList ticksList = m_categoriesAxis->categories();
113 109 qreal width=0;
114 110 qreal height=0;
115 111
@@ -142,4 +138,6 QSizeF ChartBarCategoryAxisY::sizeHint(Qt::SizeHint which, const QSizeF &constra
142 138 return sh;
143 139 }
144 140
141 #include "moc_chartbarcategoryaxisy_p.cpp"
142
145 143 QTCOMMERCIALCHART_END_NAMESPACE
@@ -39,6 +39,7 class ChartPresenter;
39 39
40 40 class ChartBarCategoryAxisY : public VerticalAxis
41 41 {
42 Q_OBJECT
42 43 public:
43 44 ChartBarCategoryAxisY(QBarCategoryAxis *axis, QGraphicsItem* item = 0);
44 45 ~ChartBarCategoryAxisY();
@@ -50,9 +51,8 protected:
50 51 private:
51 52 QStringList createCategoryLabels(const QVector<qreal>& layout) const;
52 53 public Q_SLOTS:
53 void handleAxisUpdated();
54 void handleCategoriesChanged();
54 55 private:
55 QStringList m_categories;
56 56 QBarCategoryAxis *m_categoriesAxis;
57 57 };
58 58
@@ -187,7 +187,7 QSizeF HorizontalAxis::sizeHint(Qt::SizeHint which, const QSizeF &constraint) co
187 187 {
188 188 Q_UNUSED(constraint);
189 189 QFontMetrics fn(titleFont());
190 QSizeF sh;
190 QSizeF sh(0,0);
191 191
192 192 if (titleText().isNull() || !titleItem()->isVisible())
193 193 return sh;
@@ -72,8 +72,6 void ChartValueAxisX::handleTickCountChanged(int tick)
72 72 {
73 73 Q_UNUSED(tick);
74 74 if(presenter()) presenter()->layout()->invalidate();
75 //QVector<qreal> layout = calculateLayout();
76 //updateLayout(layout);
77 75 }
78 76
79 77 QSizeF ChartValueAxisX::sizeHint(Qt::SizeHint which, const QSizeF &constraint) const
@@ -73,8 +73,6 void ChartValueAxisY::handleTickCountChanged(int tick)
73 73 {
74 74 Q_UNUSED(tick);
75 75 if(presenter()) presenter()->layout()->invalidate();
76 //QVector<qreal> layout = calculateLayout();
77 //updateLayout(layout);
78 76 }
79 77
80 78 QSizeF ChartValueAxisY::sizeHint(Qt::SizeHint which, const QSizeF &constraint) const
@@ -189,7 +189,7 QSizeF VerticalAxis::sizeHint(Qt::SizeHint which, const QSizeF &constraint) cons
189 189
190 190 Q_UNUSED(constraint);
191 191 QFontMetrics fn(titleFont());
192 QSizeF sh;
192 QSizeF sh(0,0);
193 193
194 194 if (titleText().isNull() || !titleItem()->isVisible())
195 195 return sh;
General Comments 0
You need to be logged in to leave comments. Login now