diff --git a/src/barchart/qbarmodelmapper.cpp b/src/barchart/qbarmodelmapper.cpp index ef7dd0f..8df444b 100644 --- a/src/barchart/qbarmodelmapper.cpp +++ b/src/barchart/qbarmodelmapper.cpp @@ -68,6 +68,30 @@ QTCOMMERCIALCHART_BEGIN_NAMESPACE */ /*! + \fn void QBarModelMapper::seriesReplaced() + + Emitted when the series to which mapper is connected to has changed. +*/ + +/*! + \fn void QBarModelMapper::modelReplaced() + + Emitted when the model to which mapper is connected to has changed. +*/ + +/*! + \fn void QBarModelMapper::firstChanged() + + Emitted when the value for the first has changed. +*/ + +/*! + \fn void QBarModelMapper::countChanged() + + Emitted when the value for the count has changed. +*/ + +/*! Constructs a mapper object which is a child of \a parent. */ QBarModelMapper::QBarModelMapper(QObject *parent) : @@ -101,6 +125,8 @@ void QBarModelMapper::setModel(QAbstractItemModel *model) connect(d->m_model, SIGNAL(rowsRemoved(QModelIndex,int,int)), d, SLOT(modelRowsRemoved(QModelIndex,int,int))); connect(d->m_model, SIGNAL(columnsInserted(QModelIndex,int,int)), d, SLOT(modelColumnsAdded(QModelIndex,int,int))); connect(d->m_model, SIGNAL(columnsRemoved(QModelIndex,int,int)), d, SLOT(modelColumnsRemoved(QModelIndex,int,int))); + + emit modelReplaced(); } QBarSeries* QBarModelMapper::series() const @@ -124,6 +150,8 @@ void QBarModelMapper::setSeries(QBarSeries *series) // connect the signals from the series connect(d->m_series, SIGNAL(barsetsAdded(QList)), d, SLOT(barSetsAdded(QList))); connect(d->m_series, SIGNAL(barsetsRemoved(QList)), d, SLOT(barSetsRemoved(QList))); + + emit seriesReplaced(); } int QBarModelMapper::first() const @@ -135,8 +163,12 @@ int QBarModelMapper::first() const void QBarModelMapper::setFirst(int first) { Q_D(QBarModelMapper); - d->m_first = qMax(first, 0); - d->initializeBarFromModel(); + if (first != d->m_first) { + d->m_first = qMax(first, 0); + d->initializeBarFromModel(); + + emit firstChanged(); + } } int QBarModelMapper::count() const @@ -148,8 +180,12 @@ int QBarModelMapper::count() const void QBarModelMapper::setCount(int count) { Q_D(QBarModelMapper); - d->m_count = qMax(count, -1); - d->initializeBarFromModel(); + if (count != d->m_count) { + d->m_count = qMax(count, -1); + d->initializeBarFromModel(); + + emit countChanged(); + } } /*! diff --git a/src/barchart/qbarmodelmapper.h b/src/barchart/qbarmodelmapper.h index 1bc0523..b94e949 100644 --- a/src/barchart/qbarmodelmapper.h +++ b/src/barchart/qbarmodelmapper.h @@ -35,10 +35,10 @@ class QChart; class QTCOMMERCIALCHART_EXPORT QBarModelMapper : public QObject { Q_OBJECT - Q_PROPERTY(QBarSeries *series READ series WRITE setSeries) - Q_PROPERTY(QAbstractItemModel *model READ model WRITE setModel) - Q_PROPERTY(int first READ first WRITE setFirst) - Q_PROPERTY(int count READ count WRITE setCount) + Q_PROPERTY(QBarSeries *series READ series WRITE setSeries NOTIFY seriesReplaced) + Q_PROPERTY(QAbstractItemModel *model READ model WRITE setModel NOTIFY modelReplaced) + Q_PROPERTY(int first READ first WRITE setFirst NOTIFY firstChanged) + Q_PROPERTY(int count READ count WRITE setCount NOTIFY countChanged) Q_ENUMS(Qt::Orientation) protected: @@ -69,6 +69,12 @@ protected: Qt::Orientation orientation() const; void setOrientation(Qt::Orientation orientation); +Q_SIGNALS: + void seriesReplaced(); + void modelReplaced(); + void firstChanged(); + void countChanged(); + protected: QBarModelMapperPrivate * const d_ptr; Q_DECLARE_PRIVATE(QBarModelMapper) diff --git a/src/barchart/qhbarmodelmapper.cpp b/src/barchart/qhbarmodelmapper.cpp index ee10113..c6ebadd 100644 --- a/src/barchart/qhbarmodelmapper.cpp +++ b/src/barchart/qhbarmodelmapper.cpp @@ -50,6 +50,18 @@ QTCOMMERCIALCHART_BEGIN_NAMESPACE */ /*! + \fn void QHBarModelMapper::firstBarSetRowChanged() + + Emitted when the firstBarSetRow has changed. +*/ + +/*! + \fn void QHBarModelMapper::lastBarSetRowChanged() + + Emitted when the lastBarSetRow has changed. +*/ + +/*! Constructs a mapper object which is a child of \a parent. */ QHBarModelMapper::QHBarModelMapper(QObject *parent) : @@ -65,7 +77,10 @@ int QHBarModelMapper::firstBarSetRow() const void QHBarModelMapper::setFirstBarSetRow(int firstBarSetRow) { - return QBarModelMapper::setFirstBarSetSection(firstBarSetRow); + if (firstBarSetRow != firstBarSetSection()) { + return QBarModelMapper::setFirstBarSetSection(firstBarSetRow); + emit firstBarSetRowChanged(); + } } int QHBarModelMapper::lastBarSetRow() const @@ -75,7 +90,10 @@ int QHBarModelMapper::lastBarSetRow() const void QHBarModelMapper::setLastBarSetRow(int lastBarSetRow) { - return QBarModelMapper::setLastBarSetSection(lastBarSetRow); + if (lastBarSetRow != lastBarSetSection()) { + return QBarModelMapper::setLastBarSetSection(lastBarSetRow); + emit lastBarSetRowChanged(); + } } #include "moc_qhbarmodelmapper.cpp" diff --git a/src/barchart/qhbarmodelmapper.h b/src/barchart/qhbarmodelmapper.h index d977a4c..b4469df 100644 --- a/src/barchart/qhbarmodelmapper.h +++ b/src/barchart/qhbarmodelmapper.h @@ -28,8 +28,8 @@ QTCOMMERCIALCHART_BEGIN_NAMESPACE class QTCOMMERCIALCHART_EXPORT QHBarModelMapper : public QBarModelMapper { Q_OBJECT - Q_PROPERTY(int firstBarSetRow READ firstBarSetRow WRITE setFirstBarSetRow) - Q_PROPERTY(int lastBarSetRow READ lastBarSetRow WRITE setLastBarSetRow) + Q_PROPERTY(int firstBarSetRow READ firstBarSetRow WRITE setFirstBarSetRow NOTIFY firstBarSetRowChanged) + Q_PROPERTY(int lastBarSetRow READ lastBarSetRow WRITE setLastBarSetRow NOTIFY lastBarSetRowChanged) public: explicit QHBarModelMapper(QObject *parent = 0); @@ -39,6 +39,10 @@ public: int lastBarSetRow() const; void setLastBarSetRow(int lastBarSetRow); + +Q_SIGNALS: + void firstBarSetRowChanged(); + void lastBarSetRowChanged(); }; QTCOMMERCIALCHART_END_NAMESPACE diff --git a/src/barchart/qvbarmodelmapper.cpp b/src/barchart/qvbarmodelmapper.cpp index 10dfdd7..4e13122 100644 --- a/src/barchart/qvbarmodelmapper.cpp +++ b/src/barchart/qvbarmodelmapper.cpp @@ -50,6 +50,18 @@ QTCOMMERCIALCHART_BEGIN_NAMESPACE */ /*! + \fn void QVBarModelMapper::firstBarSetColumnChanged() + + Emitted when the firstBarSetColumn has changed. +*/ + +/*! + \fn void QVBarModelMapper::lastBarSetColumnChanged() + + Emitted when the lastBarSetColumn has changed. +*/ + +/*! Constructs a mapper object which is a child of \a parent. */ QVBarModelMapper::QVBarModelMapper(QObject *parent) : @@ -65,7 +77,10 @@ int QVBarModelMapper::firstBarSetColumn() const void QVBarModelMapper::setFirstBarSetColumn(int firstBarSetColumn) { - return QBarModelMapper::setFirstBarSetSection(firstBarSetColumn); + if (firstBarSetColumn != firstBarSetSection()) { + return QBarModelMapper::setFirstBarSetSection(firstBarSetColumn); + emit firstBarSetColumnChanged(); + } } int QVBarModelMapper::lastBarSetColumn() const @@ -75,7 +90,10 @@ int QVBarModelMapper::lastBarSetColumn() const void QVBarModelMapper::setLastBarSetColumn(int lastBarSetColumn) { - return QBarModelMapper::setLastBarSetSection(lastBarSetColumn); + if (lastBarSetColumn != lastBarSetSection()) { + return QBarModelMapper::setLastBarSetSection(lastBarSetColumn); + emit lastBarSetColumnChanged(); + } } #include "moc_qvbarmodelmapper.cpp" diff --git a/src/barchart/qvbarmodelmapper.h b/src/barchart/qvbarmodelmapper.h index 1dbad4f..ae927da 100644 --- a/src/barchart/qvbarmodelmapper.h +++ b/src/barchart/qvbarmodelmapper.h @@ -28,8 +28,8 @@ QTCOMMERCIALCHART_BEGIN_NAMESPACE class QTCOMMERCIALCHART_EXPORT QVBarModelMapper : public QBarModelMapper { Q_OBJECT - Q_PROPERTY(int firstBarSetColumn READ firstBarSetColumn WRITE setFirstBarSetColumn) - Q_PROPERTY(int lastBarSetColumn READ lastBarSetColumn WRITE setLastBarSetColumn) + Q_PROPERTY(int firstBarSetColumn READ firstBarSetColumn WRITE setFirstBarSetColumn NOTIFY firstBarSetColumnChanged) + Q_PROPERTY(int lastBarSetColumn READ lastBarSetColumn WRITE setLastBarSetColumn NOTIFY lastBarSetColumnChanged) public: explicit QVBarModelMapper(QObject *parent = 0); @@ -39,6 +39,10 @@ public: int lastBarSetColumn() const; void setLastBarSetColumn(int lastBarSetColumn); + +Q_SIGNALS: + void firstBarSetColumnChanged(); + void lastBarSetColumnChanged(); }; QTCOMMERCIALCHART_END_NAMESPACE