Index: sources/main.h =================================================================== diff -u -rd3edfbd78f021082f37c7ee79a5a31a57b2808d4 -r595ed1fbe8066960afd4c8fea168208e81b173d9 --- sources/main.h (.../main.h) (revision d3edfbd78f021082f37c7ee79a5a31a57b2808d4) +++ sources/main.h (.../main.h) (revision 595ed1fbe8066960afd4c8fea168208e81b173d9) @@ -64,8 +64,36 @@ return _##vVARIABLE ; \ } \ void vVARIABLE ( const vTYPE & v##vVARIABLE ) { \ - if ( _##vVARIABLE != v##vVARIABLE ) { \ + static bool init = false; \ + if ( _##vVARIABLE != v##vVARIABLE || ! init ) { \ + init = true; \ _##vVARIABLE = v##vVARIABLE; \ emit vVARIABLE##Changed( _##vVARIABLE ); \ } \ } +//--------------------------------------------------------------------------------// +//--------------------------------------------------------------------------------// +#define ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, vTYPE) \ + connect(&vSOURCE, SIGNAL(didActionReceive(const vTYPE &)), \ + this , SLOT( onActionReceive(const vTYPE &))); +//--------------------------------------------------------------------------------// +#define ACTION_RECEIVE_PRIVATE_SLOT(vTYPE) \ +private Q_SLOTS: \ + void onActionReceive (const vTYPE &vData) { \ + emit didActionReceive(vData); \ + } +//--------------------------------------------------------------------------------// +#define ACTION_RECEIVE_SIGNAL(vTYPE) \ +Q_SIGNALS: \ + void didActionReceive (const vTYPE &vData); +//--------------------------------------------------------------------------------// +#define ACTION_RECEIVE_BRIDGE_DEFINITION(vTYPE) \ + ACTION_RECEIVE_PRIVATE_SLOT (vTYPE) \ + ACTION_RECEIVE_SIGNAL (vTYPE) +//--------------------------------------------------------------------------------// +#define REGISTER_METATYPE(vTYPE) \ + qRegisterMetaType < vTYPE > (#vTYPE); +//--------------------------------------------------------------------------------// +#define REGISTER_TYPE(vTYPE) \ + qmlRegisterType < vTYPE > (#vTYPE, 0, 1, #vTYPE); +