Mercurial > projects > qtd
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) |