comparison qt/qtd/MOC.d @ 329:0085380ff921 signals

use check for nullness instead of sucky static constructors to create meta objects
author eldar1@eldar1-laptop
date Sun, 10 Jan 2010 11:16:49 +0000
parents c97e5d15bf95
children 115130499d78
comparison
equal deleted inserted replaced
328:9327c7cca8f5 329:0085380ff921
456 456
457 string generateQMetaObject(string className) 457 string generateQMetaObject(string className)
458 { 458 {
459 string res; 459 string res;
460 res ~= " 460 res ~= "
461 public QMetaObject metaObject() { return staticMetaObject; } 461 public QMetaObject metaObject()
462 {
463 if(!_staticMetaObject)
464 createStaticMetaObject();
465 return staticMetaObject();
466 }
462 private static QMetaObject _staticMetaObject; 467 private static QMetaObject _staticMetaObject;
463 private static QMetaObjectNative _nativeStaticMetaObject; 468 private static QMetaObjectNative _nativeStaticMetaObject;
464 public static QMetaObject staticMetaObject() { return _staticMetaObject; } 469 public static QMetaObject staticMetaObject() { return _staticMetaObject; }
465 protected static void createStaticMetaObject() { 470 protected static void createStaticMetaObject() {
466 assert(!_staticMetaObject); 471 assert(!_staticMetaObject);
472 qt_meta_data_" ~ className ~ ".ptr, null ); 477 qt_meta_data_" ~ className ~ ".ptr, null );
473 478
474 _staticMetaObject = new QMetaObject(&_nativeStaticMetaObject, base); 479 _staticMetaObject = new QMetaObject(&_nativeStaticMetaObject, base);
475 // _staticMetaObject.construct!(typeof(this)); 480 // _staticMetaObject.construct!(typeof(this));
476 _populateMetaInfo(); 481 _populateMetaInfo();
477 }
478 static this()
479 {
480 createStaticMetaObject();
481 }\n\n"; 482 }\n\n";
482 return res; 483 return res;
483 } 484 }
484 485
485 size_t commaCount(int argCount) 486 size_t commaCount(int argCount)