mirror of https://github.com/qt/qtcharts.git
Adds missing functions to qchart API
This commit is contained in:
parent
88a7b44ee1
commit
6d402eea84
|
@ -557,7 +557,8 @@ QAbstractAxisPrivate::QAbstractAxisPrivate(QAbstractAxis* q):
|
|||
m_labelsAngle(0),
|
||||
m_shadesVisible(false),
|
||||
m_shadesBrush(Qt::SolidPattern),
|
||||
m_shadesOpacity(1.0)
|
||||
m_shadesOpacity(1.0),
|
||||
m_orientation(Qt::Orientation(0))
|
||||
{
|
||||
|
||||
}
|
||||
|
|
|
@ -65,6 +65,8 @@ protected:
|
|||
QBrush m_shadesBrush;
|
||||
qreal m_shadesOpacity;
|
||||
|
||||
Qt::Orientation m_orientation;
|
||||
|
||||
friend class QAbstractAxis;
|
||||
};
|
||||
|
||||
|
|
|
@ -53,9 +53,6 @@ ChartDataSet::~ChartDataSet()
|
|||
|
||||
void ChartDataSet::addSeries(QAbstractSeries* series)
|
||||
{
|
||||
//TODO: if(axisY==0) axisY = m_axisY;
|
||||
QAbstractAxis* axisY = m_axisY;
|
||||
|
||||
QAbstractAxis* axis = m_seriesAxisMap.value(series);
|
||||
|
||||
if(axis) {
|
||||
|
@ -63,15 +60,18 @@ void ChartDataSet::addSeries(QAbstractSeries* series)
|
|||
return;
|
||||
}
|
||||
|
||||
QAbstractAxis* axisX = m_axisX ; //series->d_ptr->createAxisX();
|
||||
QAbstractAxis* axisY = m_axisY ; //series->d_ptr->createAxisY();
|
||||
|
||||
series->setParent(this); // take ownership
|
||||
axisY->setParent(this); // take ownership
|
||||
//axisY->setParent(this); // take ownership
|
||||
|
||||
Domain* domain = m_axisDomainMap.value(axisY);
|
||||
|
||||
if(!domain) {
|
||||
domain = new Domain(axisY);
|
||||
QObject::connect(axisY->d_ptr.data(),SIGNAL(changed(qreal,qreal,int,bool)),domain,SLOT(handleAxisYChanged(qreal,qreal,int,bool)));
|
||||
QObject::connect(axisX()->d_ptr.data(),SIGNAL(changed(qreal,qreal,int,bool)),domain,SLOT(handleAxisXChanged(qreal,qreal,int)));
|
||||
QObject::connect(axisX->d_ptr.data(),SIGNAL(changed(qreal,qreal,int,bool)),domain,SLOT(handleAxisXChanged(qreal,qreal,int)));
|
||||
QObject::connect(domain,SIGNAL(rangeYChanged(qreal,qreal,int)),axisY->d_ptr.data(),SLOT(handleAxisRangeChanged(qreal,qreal,int)));
|
||||
//initialize
|
||||
m_axisDomainMap.insert(axisY,domain);
|
||||
|
@ -91,8 +91,8 @@ void ChartDataSet::addSeries(QAbstractSeries* series)
|
|||
series->d_ptr->scaleDomain(*domain);
|
||||
|
||||
if (series->type()== QAbstractSeries::SeriesTypePie && m_seriesAxisMap.count() == 0) {
|
||||
axisX()->hide();
|
||||
this->axisY()->hide();
|
||||
axisX->hide();
|
||||
axisY->hide();
|
||||
}
|
||||
|
||||
m_seriesAxisMap.insert(series,axisY);
|
||||
|
@ -157,7 +157,7 @@ QAbstractAxis* ChartDataSet::removeSeries(QAbstractSeries* series)
|
|||
if(m_seriesAxisMap.values().size()==0)
|
||||
{
|
||||
m_axisXInitialized=false;
|
||||
emit axisRemoved(axisX());
|
||||
emit axisRemoved(m_axisX);
|
||||
}
|
||||
|
||||
return axis;
|
||||
|
@ -169,7 +169,7 @@ void ChartDataSet::removeAllSeries()
|
|||
QList<QAbstractAxis*> axes;
|
||||
foreach(QAbstractSeries *s , series) {
|
||||
QAbstractAxis* axis = removeSeries(s);
|
||||
if(axis==axisY()) continue;
|
||||
if(axis==m_axisY) continue;
|
||||
int i = axes.indexOf(axis);
|
||||
if(i==-1){
|
||||
axes<<axis;
|
||||
|
@ -187,7 +187,7 @@ void ChartDataSet::zoomInDomain(const QRectF& rect, const QSizeF& size)
|
|||
{
|
||||
QMapIterator<QAbstractAxis*, Domain*> i(m_axisDomainMap);
|
||||
//main domain has to be the last one;
|
||||
Domain *domain = m_axisDomainMap.value(axisY());
|
||||
Domain *domain = m_axisDomainMap.value(m_axisY);
|
||||
Q_ASSERT(domain);
|
||||
while (i.hasNext()) {
|
||||
i.next();
|
||||
|
@ -201,7 +201,7 @@ void ChartDataSet::zoomOutDomain(const QRectF& rect, const QSizeF& size)
|
|||
{
|
||||
QMapIterator<QAbstractAxis*, Domain*> i(m_axisDomainMap);
|
||||
//main domain has to be the last one;
|
||||
Domain *domain = m_axisDomainMap.value(axisY());
|
||||
Domain *domain = m_axisDomainMap.value(m_axisY);
|
||||
Q_ASSERT(domain);
|
||||
while (i.hasNext()) {
|
||||
i.next();
|
||||
|
@ -239,6 +239,12 @@ QAbstractAxis* ChartDataSet::axisY(QAbstractSeries *series) const
|
|||
return m_seriesAxisMap.value(series);
|
||||
}
|
||||
|
||||
QAbstractAxis* ChartDataSet::axisX(QAbstractSeries *series) const
|
||||
{
|
||||
Q_UNUSED(series)
|
||||
return m_axisX;
|
||||
}
|
||||
|
||||
Domain* ChartDataSet::domain(QAbstractSeries *series) const
|
||||
{
|
||||
QAbstractAxis* axis = m_seriesAxisMap.value(series);
|
||||
|
@ -250,8 +256,8 @@ Domain* ChartDataSet::domain(QAbstractSeries *series) const
|
|||
|
||||
Domain* ChartDataSet::domain(QAbstractAxis* axis) const
|
||||
{
|
||||
if(!axis || axis==axisX()) {
|
||||
return m_axisDomainMap.value(axisY());
|
||||
if(!axis || axis==m_axisX) {
|
||||
return m_axisDomainMap.value(m_axisY);
|
||||
}
|
||||
else {
|
||||
return m_axisDomainMap.value(axis);
|
||||
|
@ -262,7 +268,7 @@ void ChartDataSet::scrollDomain(qreal dx,qreal dy,const QSizeF& size)
|
|||
{
|
||||
QMapIterator<QAbstractAxis*, Domain*> i( m_axisDomainMap);
|
||||
//main domain has to be the last one;
|
||||
Domain *domain = m_axisDomainMap.value(axisY());
|
||||
Domain *domain = m_axisDomainMap.value(m_axisY);
|
||||
while (i.hasNext()) {
|
||||
i.next();
|
||||
if(i.value()==domain) continue;
|
||||
|
|
|
@ -60,8 +60,8 @@ public:
|
|||
Domain* domain(QAbstractSeries* series) const;
|
||||
Domain* domain(QAbstractAxis* axis) const;
|
||||
|
||||
QAbstractAxis* axisX() const { return m_axisX; }
|
||||
QAbstractAxis* axisY(QAbstractSeries *series = 0) const;
|
||||
QAbstractAxis* axisX(QAbstractSeries *series) const;
|
||||
QAbstractAxis* axisY(QAbstractSeries *series) const;
|
||||
|
||||
QList<QAbstractSeries*> series() const;
|
||||
|
||||
|
|
|
@ -71,7 +71,7 @@ void ChartPresenter::handleAxisAdded(QAbstractAxis* axis,Domain* domain)
|
|||
{
|
||||
ChartAxis* item;
|
||||
|
||||
if(axis == m_dataset->axisX()){
|
||||
if(axis == m_dataset->axisX(0)){
|
||||
item = new ChartAxisX(axis,this);
|
||||
}else{
|
||||
item = new ChartAxisY(axis,this);
|
||||
|
@ -82,7 +82,7 @@ void ChartPresenter::handleAxisAdded(QAbstractAxis* axis,Domain* domain)
|
|||
item->setAnimation(new AxisAnimation(item));
|
||||
}
|
||||
|
||||
if(axis==m_dataset->axisX()){
|
||||
if(axis==m_dataset->axisX(0)){
|
||||
m_chartTheme->decorate(axis,true);
|
||||
QObject::connect(domain,SIGNAL(rangeXChanged(qreal,qreal,int)),item,SLOT(handleRangeChanged(qreal,qreal,int)));
|
||||
//initialize
|
||||
|
|
|
@ -40,6 +40,7 @@ class Chart;
|
|||
class LegendMarker;
|
||||
class QLegend;
|
||||
class ChartDataSet;
|
||||
class QAbstractAxis;
|
||||
|
||||
class QAbstractSeriesPrivate : public QObject
|
||||
{
|
||||
|
@ -51,6 +52,8 @@ public:
|
|||
virtual void scaleDomain(Domain& domain) = 0;
|
||||
virtual Chart* createGraphics(ChartPresenter* presenter) = 0;
|
||||
virtual QList<LegendMarker*> createLegendMarker(QLegend* legend) = 0;
|
||||
virtual QAbstractAxis* createAxisX() { return 0; }
|
||||
virtual QAbstractAxis* createAxisY() { return 0; }
|
||||
|
||||
protected:
|
||||
QAbstractSeries *q_ptr;
|
||||
|
|
|
@ -308,9 +308,9 @@ void QChart::zoom(qreal factor)
|
|||
/*!
|
||||
Returns the pointer to the x axis object of the chart
|
||||
*/
|
||||
QAbstractAxis* QChart::axisX() const
|
||||
QAbstractAxis* QChart::axisX(QAbstractSeries* series) const
|
||||
{
|
||||
return d_ptr->m_dataset->axisX();
|
||||
return d_ptr->m_dataset->axisX(series);
|
||||
}
|
||||
|
||||
/*!
|
||||
|
|
|
@ -78,6 +78,9 @@ public:
|
|||
void setAxisX(QAbstractSeries *series, QAbstractAxis* axis);
|
||||
void setAxisY(QAbstractSeries *series, QAbstractAxis* axis);
|
||||
|
||||
QAbstractAxis* axisX(QAbstractSeries* series = 0) const;
|
||||
QAbstractAxis* axisY(QAbstractSeries* series = 0) const;
|
||||
|
||||
void setTheme(QChart::ChartTheme theme);
|
||||
QChart::ChartTheme theme() const;
|
||||
|
||||
|
@ -110,9 +113,6 @@ public:
|
|||
void scrollDown();
|
||||
void scroll(const QPointF &delta);
|
||||
|
||||
QAbstractAxis* axisX() const;
|
||||
QAbstractAxis* axisY(QAbstractSeries* series = 0) const;
|
||||
|
||||
QLegend* legend() const;
|
||||
|
||||
void setMarginsMinimum(const QRectF& margins);
|
||||
|
|
Loading…
Reference in New Issue