Mercurial > projects > qtd
comparison generator/dgenerator.cpp @ 301:4d8481385c71 signals
windows fix
author | eldar |
---|---|
date | Tue, 08 Dec 2009 21:13:24 +0000 |
parents | adae77fdc1ea |
children | 55ee4603365d |
comparison
equal
deleted
inserted
replaced
300:c2c70e501860 | 301:4d8481385c71 |
---|---|
2571 initArgs = "null"; | 2571 initArgs = "null"; |
2572 else | 2572 else |
2573 initArgs = "virt_arr.ptr"; | 2573 initArgs = "virt_arr.ptr"; |
2574 | 2574 |
2575 if (d_class->isQObject()) { | 2575 if (d_class->isQObject()) { |
2576 | 2576 // qt_metacalls |
2577 // signals | 2577 s << endl << INDENT << "void*[1] sign_arr;" << endl; |
2578 AbstractMetaFunctionList signal_funcs = signalFunctions(d_class); | 2578 s << INDENT << "sign_arr[0] = &qtd_" << d_class->name() << "_qt_metacall_dispatch;" << endl; |
2579 s << endl << INDENT << "void*[" << signal_funcs.size() << "] sign_arr;" << endl; | 2579 initArgs += ", sign_arr.ptr"; |
2580 for(int i = 0; i < signal_funcs.size(); i++) { | |
2581 AbstractMetaFunction *signal = signal_funcs.at(i); | |
2582 s << INDENT << "sign_arr[" << i << "] = &" << signalExternName(d_class, signal) << "_handle;" << endl; | |
2583 } | |
2584 if(signal_funcs.size() == 0) | |
2585 initArgs += ", null"; | |
2586 else | |
2587 initArgs += ", sign_arr.ptr"; | |
2588 } | 2580 } |
2589 | 2581 |
2590 s << INDENT << "qtd_" << d_class->name() << QString("_initCallBacks(%1);").arg(initArgs) << endl; | 2582 s << INDENT << "qtd_" << d_class->name() << QString("_initCallBacks(%1);").arg(initArgs) << endl; |
2591 } | 2583 } |
2592 | 2584 |