Index: sources/main.h =================================================================== diff -u -r31b9ae63410e7ca23f0f849e38368880e4c402b4 -r95c671ab7037af055db551456a719ff67bf10262 --- sources/main.h (.../main.h) (revision 31b9ae63410e7ca23f0f849e38368880e4c402b4) +++ sources/main.h (.../main.h) (revision 95c671ab7037af055db551456a719ff67bf10262) @@ -51,13 +51,13 @@ //--------------------------------------------------------------------------------// //--------------------------------------------------------------------------------// #define DEBUG_PROPERTY_CHANGED(vVARIABLE) //qDebug() << "#" << #vVARIABLE << v##vVARIABLE; -#define PROPERTY(vTYPE , vVARIABLE , vDEFVALUE, vALWAYSEMIT ) \ +#define PROPERTY_BASE(vTYPE , vVARIABLE , vDEFVALUE, vALWAYSEMIT, vSIGNAL) \ Q_PROPERTY(vTYPE vVARIABLE \ READ vVARIABLE \ WRITE vVARIABLE \ - NOTIFY vVARIABLE##Changed) \ + NOTIFY vVARIABLE##vSIGNAL) \ Q_SIGNALS: \ - void vVARIABLE##Changed \ + void vVARIABLE##vSIGNAL \ ( const vTYPE & v##vVARIABLE ); \ private: \ vTYPE _##vVARIABLE = vDEFVALUE; \ @@ -72,11 +72,17 @@ DEBUG_PROPERTY_CHANGED(vVARIABLE) \ init = true; \ _##vVARIABLE = v##vVARIABLE; \ - emit vVARIABLE##Changed( _##vVARIABLE ); \ + emit vVARIABLE##vSIGNAL( _##vVARIABLE ); \ } \ } //--------------------------------------------------------------------------------// +#define PROPERTY( vTYPE , vVARIABLE , vDEFVALUE ) \ + PROPERTY_BASE(vTYPE , vVARIABLE , vDEFVALUE, false, Changed ) //--------------------------------------------------------------------------------// +#define TRIGGER( vTYPE , vVARIABLE, vDEFVALUE ) \ + PROPERTY_BASE(vTYPE , vVARIABLE , vDEFVALUE, true , Triggered ) +//--------------------------------------------------------------------------------// +//--------------------------------------------------------------------------------// #define ACTION_METHOD_BRIDGE_CONNECTION(vMETHOD, vSOURCE, vTYPE) \ connect(&vSOURCE, SIGNAL(did##vMETHOD(const vTYPE &)), \ this , SLOT( on##vMETHOD(const vTYPE &)));