summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorsauimone <samu.uimonen@digia.com>2012-08-28 10:25:16 +0300
committersauimone <samu.uimonen@digia.com>2012-08-28 10:25:37 +0300
commitb747c15751dd131d831fb06edcbf9454a61e5cde (patch)
tree4bdb5ec86496267a0c73eca1004bb1daad812abe /src
parent27e7b2d61433ff9af10f1b3852efb31e28746d20 (diff)
population pyramid documentation. updated example.
Diffstat (limited to 'src')
-rw-r--r--src/barchart/horizontal/bar/horizontalbarchartitem.cpp12
-rw-r--r--src/barchart/qabstractbarseries.cpp17
-rw-r--r--src/barchart/qabstractbarseries.h2
-rw-r--r--src/barchart/qabstractbarseries_p.h4
-rw-r--r--src/barchart/vertical/bar/barchartitem.cpp12
5 files changed, 24 insertions, 23 deletions
diff --git a/src/barchart/horizontal/bar/horizontalbarchartitem.cpp b/src/barchart/horizontal/bar/horizontalbarchartitem.cpp
index a4e21ca8..68650a45 100644
--- a/src/barchart/horizontal/bar/horizontalbarchartitem.cpp
+++ b/src/barchart/horizontal/bar/horizontalbarchartitem.cpp
@@ -49,10 +49,10 @@ QVector<QRectF> HorizontalBarChartItem::calculateLayout()
qreal barHeight;
// On horizontal chart barWidth of the barseries means height of the rect.
- if (m_series->d_func()->m_grouping) {
- barHeight = (scaleY / setCount) * m_series->d_func()->barWidth();
- } else {
+ if (m_series->d_func()->m_overlap) {
barHeight = scaleY * m_series->d_func()->barWidth();
+ } else {
+ barHeight = (scaleY / setCount) * m_series->d_func()->barWidth();
}
int itemIndex(0);
@@ -62,11 +62,11 @@ QVector<QRectF> HorizontalBarChartItem::calculateLayout()
QBarSetPrivate* barSet = m_series->d_func()->barsetAt(set)->d_ptr.data();
qreal yPos = m_rect.bottom() + (m_domainMinY - barSet->pos(category)) * scaleY;
- if (m_series->d_func()->m_grouping) {
+ if (m_series->d_func()->m_overlap) {
+ yPos += barHeight/2;
+ } else {
yPos += setCount*barHeight/2;
yPos -= set*barHeight;
- } else {
- yPos += barHeight/2;
}
qreal barWidth = barSet->value(category) * scaleX;
diff --git a/src/barchart/qabstractbarseries.cpp b/src/barchart/qabstractbarseries.cpp
index bca0da14..9bb59a35 100644
--- a/src/barchart/qabstractbarseries.cpp
+++ b/src/barchart/qabstractbarseries.cpp
@@ -386,14 +386,15 @@ bool QAbstractBarSeries::isLabelsVisible() const
}
/*!
- Sets the grouped drawing mode for bars. If \a grouping is true, then the bars
+ Sets the overlap drawing mode for bars. If \a overlap is true, then the bars
are drawn at same position inside group. Can be used for example to draw negative bars
- at same position on axis than positive bars.
+ at same position on axis than positive bars. By default overlap is false and bars are drawn
+ next to each other. Note that this setting doesn't affect stacked and percent bar series.
*/
-void QAbstractBarSeries::setGrouping(bool grouping)
+void QAbstractBarSeries::setOverlap(bool overlap)
{
Q_D(QAbstractBarSeries);
- d->setGrouping(grouping);
+ d->setOverlap(overlap);
}
@@ -405,7 +406,7 @@ QAbstractBarSeriesPrivate::QAbstractBarSeriesPrivate(QAbstractBarSeries *q) :
m_barWidth(0.5), // Default value is 50% of category width
m_labelsVisible(false),
m_visible(true),
- m_grouping(true)
+ m_overlap(false)
{
}
@@ -453,10 +454,10 @@ void QAbstractBarSeriesPrivate::setLabelsVisible(bool visible)
emit labelsVisibleChanged(visible);
}
-void QAbstractBarSeriesPrivate::setGrouping(bool grouping)
+void QAbstractBarSeriesPrivate::setOverlap(bool overlap)
{
- if (m_grouping != grouping) {
- m_grouping = grouping;
+ if (m_overlap != overlap) {
+ m_overlap = overlap;
emit updatedBars();
}
}
diff --git a/src/barchart/qabstractbarseries.h b/src/barchart/qabstractbarseries.h
index e9586d9e..601ebfc5 100644
--- a/src/barchart/qabstractbarseries.h
+++ b/src/barchart/qabstractbarseries.h
@@ -59,7 +59,7 @@ public:
void setLabelsVisible(bool visible = true);
bool isLabelsVisible() const;
- void setGrouping(bool grouping = true);
+ void setOverlap(bool overlap = true);
protected:
explicit QAbstractBarSeries(QAbstractBarSeriesPrivate &d,QObject *parent = 0);
diff --git a/src/barchart/qabstractbarseries_p.h b/src/barchart/qabstractbarseries_p.h
index 7c419b61..0835f430 100644
--- a/src/barchart/qabstractbarseries_p.h
+++ b/src/barchart/qabstractbarseries_p.h
@@ -52,7 +52,7 @@ public:
void setVisible(bool visible);
void setLabelsVisible(bool visible);
- void setGrouping(bool grouping);
+ void setOverlap(bool overlap);
void scaleDomain(Domain& domain);
ChartElement* createGraphics(ChartPresenter* presenter);
@@ -92,7 +92,7 @@ protected:
qreal m_barWidth;
bool m_labelsVisible;
bool m_visible;
- bool m_grouping;
+ bool m_overlap;
private:
Q_DECLARE_PUBLIC(QAbstractBarSeries)
diff --git a/src/barchart/vertical/bar/barchartitem.cpp b/src/barchart/vertical/bar/barchartitem.cpp
index 579fb441..0839b71f 100644
--- a/src/barchart/vertical/bar/barchartitem.cpp
+++ b/src/barchart/vertical/bar/barchartitem.cpp
@@ -50,10 +50,10 @@ QVector<QRectF> BarChartItem::calculateLayout()
qreal scaleX = (width / rangeX);
qreal barWidth;
- if (m_series->d_func()->m_grouping) {
- barWidth = (scaleX / setCount) * m_series->d_func()->barWidth();
- } else {
+ if (m_series->d_func()->m_overlap) {
barWidth = scaleX * m_series->d_func()->barWidth();
+ } else {
+ barWidth = (scaleX / setCount) * m_series->d_func()->barWidth();
}
int itemIndex(0);
@@ -64,12 +64,12 @@ QVector<QRectF> BarChartItem::calculateLayout()
qreal xPos;
- if (m_series->d_func()->m_grouping) {
+ if (m_series->d_func()->m_overlap) {
+ xPos = (barSet->pos(category) - m_domainMinX) * scaleX + m_rect.left() - barWidth/2;
+ } else {
xPos = (barSet->pos(category) - m_domainMinX) * scaleX + m_rect.left();
xPos -= setCount*barWidth/2;
xPos += set*barWidth;
- } else {
- xPos = (barSet->pos(category) - m_domainMinX) * scaleX + m_rect.left() - barWidth/2;
}
qreal barHeight = barSet->value(category) * scaleY;