summaryrefslogtreecommitdiffstats
path: root/plugins
diff options
context:
space:
mode:
authorMichal Klocek <michal.klocek@digia.com>2012-07-03 20:11:09 +0300
committerMichal Klocek <michal.klocek@digia.com>2012-07-03 20:12:12 +0300
commit6954b167a346ca21a18ac7da39c91474d83a8c7d (patch)
treee32c2e24ffef7a7c9c0e64d9f3ffed07732910e2 /plugins
parent0ff3e515e1f068e5360ada358f8cec400314d109 (diff)
Adds axis to qml
* bunding is done in OnCompled * qmlchart fixed * addes setAxis, createDefaultAxes to qml
Diffstat (limited to 'plugins')
-rw-r--r--plugins/declarative/declarativebarseries.cpp165
-rw-r--r--plugins/declarative/declarativebarseries.h55
-rw-r--r--plugins/declarative/declarativechart.cpp21
-rw-r--r--plugins/declarative/declarativechart.h9
-rw-r--r--plugins/declarative/plugin.cpp8
5 files changed, 33 insertions, 225 deletions
diff --git a/plugins/declarative/declarativebarseries.cpp b/plugins/declarative/declarativebarseries.cpp
index fbcadd3f..a3a65c62 100644
--- a/plugins/declarative/declarativebarseries.cpp
+++ b/plugins/declarative/declarativebarseries.cpp
@@ -60,106 +60,6 @@ void DeclarativeBarSet::setValues(QVariantList values)
}
}
-DeclarativeAbstractBarSeries::DeclarativeAbstractBarSeries(QDeclarativeItem *parent) :
- QAbstractBarSeries(parent)
-{
- connect(this, SIGNAL(barsetsAdded(QList<QBarSet*>)), this, SLOT(handleAdded(QList<QBarSet*>)));
- connect(this, SIGNAL(barsetsRemoved(QList<QBarSet*>)), this, SLOT(handleRemoved(QList<QBarSet*>)));
-}
-
-void DeclarativeAbstractBarSeries::handleAdded(QList<QBarSet* > barsets)
-{
- foreach(QBarSet *b, barsets) {
- DeclarativeBarSet *barset = qobject_cast<DeclarativeBarSet *>(b);
- emit added(barset);
- }
-}
-
-void DeclarativeAbstractBarSeries::handleRemoved(QList<QBarSet* > barsets)
-{
- foreach(QBarSet *b, barsets) {
- DeclarativeBarSet *barset = qobject_cast<DeclarativeBarSet *>(b);
- emit removed(barset);
- }
-}
-
-void DeclarativeAbstractBarSeries::classBegin()
-{
-}
-
-void DeclarativeAbstractBarSeries::componentComplete()
-{
- foreach(QObject *child, children()) {
- if (qobject_cast<DeclarativeBarSet *>(child)) {
- QAbstractBarSeries::append(qobject_cast<DeclarativeBarSet *>(child));
- } else if (qobject_cast<QVBarModelMapper *>(child)) {
- QVBarModelMapper *mapper = qobject_cast<QVBarModelMapper *>(child);
- mapper->setSeries(this);
- } else if (qobject_cast<QHBarModelMapper *>(child)) {
- QHBarModelMapper *mapper = qobject_cast<QHBarModelMapper *>(child);
- mapper->setSeries(this);
- }
- }
-}
-
-void DeclarativeAbstractBarSeries::setAxisX(QAbstractAxis *axis)
-{
- chart()->setAxisX(axis, this);
-}
-
-QAbstractAxis *DeclarativeAbstractBarSeries::axisX()
-{
- return chart()->axisX(this);
-}
-
-void DeclarativeAbstractBarSeries::setAxisY(QAbstractAxis *axis)
-{
- chart()->setAxisY(axis, this);
-}
-
-QAbstractAxis *DeclarativeAbstractBarSeries::axisY()
-{
- return chart()->axisY(this);
-}
-
-QDeclarativeListProperty<QObject> DeclarativeAbstractBarSeries::seriesChildren()
-{
- return QDeclarativeListProperty<QObject>(this, 0, &DeclarativeAbstractBarSeries::appendSeriesChildren);
-}
-
-void DeclarativeAbstractBarSeries::appendSeriesChildren(QDeclarativeListProperty<QObject> * list, QObject *element)
-{
- // Empty implementation; the children are parsed in componentComplete instead
- Q_UNUSED(list);
- Q_UNUSED(element);
-}
-
-DeclarativeBarSet *DeclarativeAbstractBarSeries::at(int index)
-{
- QList<QBarSet*> setList = barSets();
- if (index >= 0 && index < setList.count())
- return qobject_cast<DeclarativeBarSet *>(setList[index]);
-
- return 0;
-}
-
-DeclarativeBarSet *DeclarativeAbstractBarSeries::insert(int index, QString label, QVariantList values)
-{
- int insertIndex = index;
- if (insertIndex < 0)
- insertIndex = 0;
- else if (insertIndex > count())
- insertIndex = count();
-
- DeclarativeBarSet *barset = new DeclarativeBarSet(this);
- barset->setLabel(label);
- barset->setValues(values);
- if (QAbstractBarSeries::insert(insertIndex, barset))
- return barset;
- delete barset;
- return 0;
-}
-
DeclarativeBarSeries::DeclarativeBarSeries(QDeclarativeItem *parent) :
QBarSeries(parent)
{
@@ -184,29 +84,9 @@ void DeclarativeBarSeries::componentComplete()
}
}
-void DeclarativeBarSeries::setAxisX(QAbstractAxis *axis)
-{
- chart()->setAxisX(axis, this);
-}
-
-QAbstractAxis *DeclarativeBarSeries::axisX()
-{
- return chart()->axisX(this);
-}
-
-void DeclarativeBarSeries::setAxisY(QAbstractAxis *axis)
-{
- chart()->setAxisY(axis, this);
-}
-
-QAbstractAxis *DeclarativeBarSeries::axisY()
-{
- return chart()->axisY(this);
-}
-
QDeclarativeListProperty<QObject> DeclarativeBarSeries::seriesChildren()
{
- return QDeclarativeListProperty<QObject>(this, 0, &DeclarativeAbstractBarSeries::appendSeriesChildren);
+ return QDeclarativeListProperty<QObject>(this, 0, &DeclarativeBarSeries::appendSeriesChildren);
}
void DeclarativeBarSeries::appendSeriesChildren(QDeclarativeListProperty<QObject> * list, QObject *element)
@@ -260,29 +140,10 @@ void DeclarativeStackedBarSeries::componentComplete()
}
}
-void DeclarativeStackedBarSeries::setAxisX(QAbstractAxis *axis)
-{
- chart()->setAxisX(axis, this);
-}
-
-QAbstractAxis *DeclarativeStackedBarSeries::axisX()
-{
- return chart()->axisX(this);
-}
-
-void DeclarativeStackedBarSeries::setAxisY(QAbstractAxis *axis)
-{
- chart()->setAxisY(axis, this);
-}
-
-QAbstractAxis *DeclarativeStackedBarSeries::axisY()
-{
- return chart()->axisY(this);
-}
QDeclarativeListProperty<QObject> DeclarativeStackedBarSeries::seriesChildren()
{
- return QDeclarativeListProperty<QObject>(this, 0, &DeclarativeAbstractBarSeries::appendSeriesChildren);
+ return QDeclarativeListProperty<QObject>(this, 0, &DeclarativeBarSeries::appendSeriesChildren);
}
void DeclarativeStackedBarSeries::appendSeriesChildren(QDeclarativeListProperty<QObject> * list, QObject *element)
@@ -336,29 +197,9 @@ void DeclarativePercentBarSeries::componentComplete()
}
}
-void DeclarativePercentBarSeries::setAxisX(QAbstractAxis *axis)
-{
- chart()->setAxisX(axis, this);
-}
-
-QAbstractAxis *DeclarativePercentBarSeries::axisX()
-{
- return chart()->axisX(this);
-}
-
-void DeclarativePercentBarSeries::setAxisY(QAbstractAxis *axis)
-{
- chart()->setAxisY(axis, this);
-}
-
-QAbstractAxis *DeclarativePercentBarSeries::axisY()
-{
- return chart()->axisY(this);
-}
-
QDeclarativeListProperty<QObject> DeclarativePercentBarSeries::seriesChildren()
{
- return QDeclarativeListProperty<QObject>(this, 0, &DeclarativeAbstractBarSeries::appendSeriesChildren);
+ return QDeclarativeListProperty<QObject>(this, 0, &DeclarativeBarSeries::appendSeriesChildren);
}
void DeclarativePercentBarSeries::appendSeriesChildren(QDeclarativeListProperty<QObject> * list, QObject *element)
diff --git a/plugins/declarative/declarativebarseries.h b/plugins/declarative/declarativebarseries.h
index f16e60db..b4caf14c 100644
--- a/plugins/declarative/declarativebarseries.h
+++ b/plugins/declarative/declarativebarseries.h
@@ -59,48 +59,10 @@ private Q_SLOTS:
void handleCountChanged(int index, int count);
};
-class DeclarativeAbstractBarSeries : public QAbstractBarSeries, public QDeclarativeParserStatus
-{
- Q_OBJECT
- Q_INTERFACES(QDeclarativeParserStatus)
- Q_PROPERTY(QDeclarativeListProperty<QObject> seriesChildren READ seriesChildren)
- Q_PROPERTY(QAbstractAxis *axisX READ axisX WRITE setAxisX)
- Q_PROPERTY(QAbstractAxis *axisY READ axisY WRITE setAxisY)
- Q_CLASSINFO("DefaultProperty", "seriesChildren")
-
-public:
- explicit DeclarativeAbstractBarSeries(QDeclarativeItem *parent = 0);
- void setAxisX(QAbstractAxis *axis);
- QAbstractAxis *axisX();
- void setAxisY(QAbstractAxis *axis);
- QAbstractAxis *axisY();
- QDeclarativeListProperty<QObject> seriesChildren();
- Q_INVOKABLE DeclarativeBarSet *at(int index);
- Q_INVOKABLE DeclarativeBarSet *append(QString label, QVariantList values) { return insert(count(), label, values); }
- Q_INVOKABLE DeclarativeBarSet *insert(int index, QString label, QVariantList values);
- Q_INVOKABLE bool remove(QBarSet *barset) { return QAbstractBarSeries::remove(barset); }
- Q_INVOKABLE void clear() { return QAbstractBarSeries::clear(); }
-
-public: // from QDeclarativeParserStatus
- void classBegin();
- void componentComplete();
-
-Q_SIGNALS:
- void added(DeclarativeBarSet *barset);
- void removed(DeclarativeBarSet *barset);
-
-public Q_SLOTS:
- static void appendSeriesChildren(QDeclarativeListProperty<QObject> *list, QObject *element);
- void handleAdded(QList<QBarSet* > barsets);
- void handleRemoved(QList<QBarSet* > barsets);
-};
-
class DeclarativeBarSeries : public QBarSeries, public QDeclarativeParserStatus
{
Q_OBJECT
Q_INTERFACES(QDeclarativeParserStatus)
- Q_PROPERTY(QAbstractAxis *axisX READ axisX WRITE setAxisX)
- Q_PROPERTY(QAbstractAxis *axisY READ axisY WRITE setAxisY)
Q_PROPERTY(QDeclarativeListProperty<QObject> seriesChildren READ seriesChildren)
Q_CLASSINFO("DefaultProperty", "seriesChildren")
@@ -123,23 +85,21 @@ public: // from QDeclarativeParserStatus
public Q_SLOTS:
static void appendSeriesChildren(QDeclarativeListProperty<QObject> *list, QObject *element);
+
+private:
+ QAbstractAxis* m_axisX;
+ QAbstractAxis* m_axisY;
};
class DeclarativeStackedBarSeries : public QStackedBarSeries, public QDeclarativeParserStatus
{
Q_OBJECT
Q_INTERFACES(QDeclarativeParserStatus)
- Q_PROPERTY(QAbstractAxis *axisX READ axisX WRITE setAxisX)
- Q_PROPERTY(QAbstractAxis *axisY READ axisY WRITE setAxisY)
Q_PROPERTY(QDeclarativeListProperty<QObject> seriesChildren READ seriesChildren)
Q_CLASSINFO("DefaultProperty", "seriesChildren")
public:
explicit DeclarativeStackedBarSeries(QDeclarativeItem *parent = 0);
- void setAxisX(QAbstractAxis *axis);
- QAbstractAxis *axisX();
- void setAxisY(QAbstractAxis *axis);
- QAbstractAxis *axisY();
QDeclarativeListProperty<QObject> seriesChildren();
Q_INVOKABLE DeclarativeBarSet *at(int index);
Q_INVOKABLE DeclarativeBarSet *append(QString label, QVariantList values) { return insert(count(), label, values); }
@@ -153,23 +113,18 @@ public: // from QDeclarativeParserStatus
public Q_SLOTS:
static void appendSeriesChildren(QDeclarativeListProperty<QObject> *list, QObject *element);
+
};
class DeclarativePercentBarSeries : public QPercentBarSeries, public QDeclarativeParserStatus
{
Q_OBJECT
Q_INTERFACES(QDeclarativeParserStatus)
- Q_PROPERTY(QAbstractAxis *axisX READ axisX WRITE setAxisX)
- Q_PROPERTY(QAbstractAxis *axisY READ axisY WRITE setAxisY)
Q_PROPERTY(QDeclarativeListProperty<QObject> seriesChildren READ seriesChildren)
Q_CLASSINFO("DefaultProperty", "seriesChildren")
public:
explicit DeclarativePercentBarSeries(QDeclarativeItem *parent = 0);
- void setAxisX(QAbstractAxis *axis);
- QAbstractAxis *axisX();
- void setAxisY(QAbstractAxis *axis);
- QAbstractAxis *axisY();
QDeclarativeListProperty<QObject> seriesChildren();
Q_INVOKABLE DeclarativeBarSet *at(int index);
Q_INVOKABLE DeclarativeBarSet *append(QString label, QVariantList values) { return insert(count(), label, values); }
diff --git a/plugins/declarative/declarativechart.cpp b/plugins/declarative/declarativechart.cpp
index f5f7290c..454eccaa 100644
--- a/plugins/declarative/declarativechart.cpp
+++ b/plugins/declarative/declarativechart.cpp
@@ -250,19 +250,15 @@ void DeclarativeChart::childEvent(QChildEvent *event)
void DeclarativeChart::componentComplete()
{
- bool createAxis = true;
foreach(QObject *child, children()) {
if (qobject_cast<QAbstractSeries *>(child)) {
// qDebug() << "DeclarativeChart::componentComplete(), add: " << child;
// TODO: how about optional y-axis?
m_chart->addSeries(qobject_cast<QAbstractSeries *>(child));
}else if(qobject_cast<QAbstractAxis *>(child)){
- createAxis = false;
+
}
}
-
- if(createAxis) m_chart->createDefaultAxes();
-
QDeclarativeItem::componentComplete();
}
@@ -499,6 +495,21 @@ QAbstractSeries *DeclarativeChart::createSeries(DeclarativeChart::SeriesType typ
return series;
}
+void DeclarativeChart::setAxisX(QAbstractAxis* axis, QAbstractSeries *series)
+{
+ m_chart->setAxisX(axis,series);
+}
+
+void DeclarativeChart::setAxisY(QAbstractAxis* axis, QAbstractSeries *series)
+{
+ m_chart->setAxisY(axis,series);
+}
+
+void DeclarativeChart::createDefaultAxes()
+{
+ m_chart->createDefaultAxes();
+}
+
#include "moc_declarativechart.cpp"
QTCOMMERCIALCHART_END_NAMESPACE
diff --git a/plugins/declarative/declarativechart.h b/plugins/declarative/declarativechart.h
index b077da30..7ae0a1ae 100644
--- a/plugins/declarative/declarativechart.h
+++ b/plugins/declarative/declarativechart.h
@@ -114,12 +114,17 @@ public:
qreal leftMargin();
qreal rightMargin();
+ QAbstractAxis *axisX(QAbstractSeries *series = 0);
+ QAbstractAxis *axisY(QAbstractSeries *series = 0);
+
public:
Q_INVOKABLE QAbstractSeries *series(int index);
Q_INVOKABLE QAbstractSeries *series(QString seriesName);
Q_INVOKABLE QAbstractSeries *createSeries(DeclarativeChart::SeriesType type, QString name = "");
- Q_INVOKABLE QAbstractAxis *axisX(QAbstractSeries *series = 0);
- Q_INVOKABLE QAbstractAxis *axisY(QAbstractSeries *series = 0);
+ Q_INVOKABLE void setAxisX(QAbstractAxis* axis, QAbstractSeries *series = 0);
+ Q_INVOKABLE void setAxisY(QAbstractAxis* axis, QAbstractSeries *series = 0);
+ Q_INVOKABLE void createDefaultAxes();
+
Q_INVOKABLE void zoom(qreal factor);
Q_INVOKABLE void scrollLeft(qreal pixels);
Q_INVOKABLE void scrollRight(qreal pixels);
diff --git a/plugins/declarative/plugin.cpp b/plugins/declarative/plugin.cpp
index b7a5b7f1..0b486b8c 100644
--- a/plugins/declarative/plugin.cpp
+++ b/plugins/declarative/plugin.cpp
@@ -74,12 +74,6 @@ public:
QLatin1String("Trying to create uncreatable: Legend."));
qmlRegisterUncreatableType<QXYSeries>(uri, 1, 0, "XYSeries",
QLatin1String("Trying to create uncreatable: XYSeries."));
- qmlRegisterUncreatableType<QScatterSeries>(uri, 1, 0, "QScatterSeries",
- QLatin1String("Trying to create uncreatable: QScatterSeries."));
- qmlRegisterUncreatableType<QPieSeries>(uri, 1, 0, "QPieSeries",
- QLatin1String("Trying to create uncreatable: QPieSeries."));
- qmlRegisterUncreatableType<QBarSet>(uri, 1, 0, "QBarSet",
- QLatin1String("Trying to create uncreatable: QBarSet."));
qmlRegisterUncreatableType<QAbstractItemModel>(uri, 1, 0, "AbstractItemModel",
QLatin1String("Trying to create uncreatable: AbstractItemModel."));
qmlRegisterUncreatableType<QXYModelMapper>(uri, 1, 0, "XYModelMapper",
@@ -90,6 +84,8 @@ public:
QLatin1String("Trying to create uncreatable: BarModelMapper."));
qmlRegisterUncreatableType<QAbstractSeries>(uri, 1, 0, "AbstractSeries",
QLatin1String("Trying to create uncreatable: AbstractSeries."));
+ qmlRegisterUncreatableType<QAbstractBarSeries>(uri, 1, 0, "AbstractBarSeries",
+ QLatin1String("Trying to create uncreatable: AbstractBarSeries."));
qmlRegisterUncreatableType<QAbstractAxis>(uri, 1, 0, "AbstractAxis",
QLatin1String("Trying to create uncreatable: AbstractAxis."));
qmlRegisterUncreatableType<QPieModelMapper>(uri, 1, 0, "PieModelMapper",