8#include <QMetaProperty>
16class ConnectCurveWidgetHelper :
public QObject
26 this, &ConnectCurveWidgetHelper::slotWidgetChanged);
29 void slotWidgetChanged() {
30 Q_EMIT sigWidgetChanged(m_curveWidget->curve().toString());
33 void slotPropertyChanged(
const QString &curve) {
34 m_curveWidget->setCurve(curve);
38 void sigWidgetChanged(
const QString &curve);
50 const QMetaObject* meta =
source->metaObject();
51 QMetaProperty prop = meta->property(meta->indexOfProperty(property));
55 QMetaMethod signal = prop.notifySignal();
60 ConnectCurveWidgetHelper *helper =
new ConnectCurveWidgetHelper(widget);
62 const QMetaObject* dstMeta = helper->metaObject();
64 QMetaMethod updateSlot = dstMeta->method(
65 dstMeta->indexOfSlot(
"slotPropertyChanged(QString)"));
66 QObject::connect(
source, signal, helper, updateSlot);
68 helper->slotPropertyChanged(prop.read(
source).toString());
70 if (prop.isWritable()) {
71 QObject::connect(helper, &ConnectCurveWidgetHelper::sigWidgetChanged,
78#include "KisCurveWidgetConnectionHelper.moc"
float value(const T *src, size_t ch)
KisMagneticGraph::vertex_descriptor source(typename KisMagneticGraph::edge_descriptor e, KisMagneticGraph g)
connect(this, SIGNAL(optionsChanged()), this, SLOT(saveOptions()))
#define KIS_SAFE_ASSERT_RECOVER_RETURN(cond)
ChildIterator< value_type, is_const > parent(const ChildIterator< value_type, is_const > &it)