1 #include "monitoreddatamapper.h"
5 #include <QMetaProperty>
7 MonitoredDataMapper::MonitoredDataMapper(QObject *parent) :
8 QDataWidgetMapper(parent)
13 void MonitoredDataMapper::addMapping(QWidget *widget, int section)
15 QDataWidgetMapper::addMapping(widget, section);
16 addChangeMonitor(widget);
19 void MonitoredDataMapper::addMapping(QWidget *widget, int section, const QByteArray &propertyName)
21 QDataWidgetMapper::addMapping(widget, section, propertyName);
22 addChangeMonitor(widget);
25 void MonitoredDataMapper::addChangeMonitor(QWidget *widget)
27 // Watch user property of widget for changes, and connect
28 // the signal to our viewModified signal.
29 QMetaProperty prop = widget->metaObject()->userProperty();
30 int signal = prop.notifySignalIndex();
31 int method = this->metaObject()->indexOfMethod("viewModified()");
32 if(signal != -1 && method != -1)
34 QMetaObject::connect(widget, signal, this, method);