Index: sources/main.h =================================================================== diff -u -rf9e747f0f28df1cc6a33179f0bc78bfc03d486fc -r1bf8c894c5cc5ea6d62af0662fcf5a18e1a06459 --- sources/main.h (.../main.h) (revision f9e747f0f28df1cc6a33179f0bc78bfc03d486fc) +++ sources/main.h (.../main.h) (revision 1bf8c894c5cc5ea6d62af0662fcf5a18e1a06459) @@ -568,9 +568,28 @@ } \ emit did##vMETHOD( vData); \ } \ -Q_SIGNALS : void did##vMETHOD(vTYPE); \ -private Q_SLOTS : void on##vMETHOD(vTYPE); + Q_SIGNALS : void did##vMETHOD(vTYPE); \ + private Q_SLOTS : void on##vMETHOD(vTYPE); //--------------------------------------------------------------------------------// +#define SAFE_CALL_EX2( vMETHOD,vTYPE1 ,vTYPE2 ) \ +public Q_SLOTS : void vMETHOD(vTYPE1 vDATA1 ,vTYPE2 vDATA2 ) { \ + static bool init = false; \ + if ( ! init ) { \ + connect(this, SIGNAL( did##vMETHOD(vTYPE1 ,vTYPE2 )), \ + this, SLOT( on##vMETHOD(vTYPE1 ,vTYPE2 )));\ + init = true; \ + } \ + emit did##vMETHOD( vDATA1 , vDATA2 ); \ + } \ + Q_SIGNALS : void did##vMETHOD(vTYPE1 ,vTYPE2 ); \ + private Q_SLOTS : void on##vMETHOD(vTYPE1 ,vTYPE2 ); +//--------------------------------------------------------------------------------// +#define TIME_CALL( vMETHOD,vCOUNT ) \ +{ \ + static quint8 counter = 0; \ + if ( ! counter-- ) { counter = vCOUNT; vMETHOD; } \ +} \ +//--------------------------------------------------------------------------------// #define REGISTER_METATYPE(vTYPE) \ qRegisterMetaType < vTYPE > (#vTYPE); //--------------------------------------------------------------------------------//