26 : m_d(new
Private(key, sourceKey))
41 return m_d->sourceKey;
46 const QVariant newValue =
fromSource(sourceValue);
48 const bool valueChanged =
m_d->lastKnownValue != newValue ||
m_d->invisibleChangeHappened;
49 m_d->lastKnownValue = newValue;
50 m_d->invisibleChangeHappened =
false;
57 const QVariant result =
fromSource(sourceValue);
58 m_d->invisibleChangeHappened |= result !=
m_d->lastKnownValue;
59 m_d->lastKnownValue = result;
60 return m_d->lastKnownValue;
64 const QVariant &sourceValue,
67 QVariant newSourceValue = sourceValue;
68 const bool hasChanged =
m_d->lastKnownValue !=
value ||
m_d->invisibleChangeHappened;
69 m_d->invisibleChangeHappened =
false;
81 *changed = hasChanged;
83 return newSourceValue;
float value(const T *src, size_t ch)
QVariant writeToSource(const QVariant &value, const QVariant &sourceValue, bool *changed)
virtual QVariant toSource(const QVariant &value, const QVariant &sourceValue)=0
KoDerivedResourceConverter(int key, int sourceKey)
virtual bool notifySourceChanged(const QVariant &sourceValue)
virtual ~KoDerivedResourceConverter()
virtual QVariant fromSource(const QVariant &value)=0
QVariant readFromSource(const QVariant &value)
const QScopedPointer< Private > m_d
Private(int _key, int _sourceKey)
bool invisibleChangeHappened