Mercurial > projects > qtd
comparison generator/dgenerator.cpp @ 322:7c2cf27391c4 signals
A slight change of the connect syntax. More sofisticated signals/slots lookup. Some fixes in examples.
author | eldar_ins@eldar-laptop |
---|---|
date | Sun, 27 Dec 2009 21:13:38 +0500 |
parents | d458ed66e871 |
children | 1defd6a98364 |
comparison
equal
deleted
inserted
replaced
321:d458ed66e871 | 322:7c2cf27391c4 |
---|---|
2789 bool hasDefault = false; | 2789 bool hasDefault = false; |
2790 do // need this to look for default arguments and generate extra signatures | 2790 do // need this to look for default arguments and generate extra signatures |
2791 { | 2791 { |
2792 AbstractMetaFunction *fn = signal_funcs.at(i); | 2792 AbstractMetaFunction *fn = signal_funcs.at(i); |
2793 s << " index = _staticMetaObject.indexOfMethod_Cpp(__signalSignatures[" << staticId << "]);" << endl | 2793 s << " index = _staticMetaObject.indexOfMethod_Cpp(__signalSignatures[" << staticId << "]);" << endl |
2794 << " _staticMetaObject.addMethod(new QMetaSignal(signature!(\"" << fn->name() << "\""; | 2794 << " _staticMetaObject.addMethod(new QMetaSignal(signature!("; |
2795 if(fn->arguments().size()-j > 0) | |
2796 s << ", "; | |
2797 writeMetaMethodArguments(s, fn, j); | 2795 writeMetaMethodArguments(s, fn, j); |
2798 s << "), index));" << endl << endl; | 2796 s << ")(\"" << fn->name() << "\"), index));" << endl << endl; |
2799 AbstractMetaArgumentList args = fn->arguments(); | 2797 AbstractMetaArgumentList args = fn->arguments(); |
2800 if(args.size() && j<args.size()) | 2798 if(args.size() && j<args.size()) |
2801 hasDefault = !args.at(args.size() - 1 - j)->defaultValueExpression().isEmpty(); | 2799 hasDefault = !args.at(args.size() - 1 - j)->defaultValueExpression().isEmpty(); |
2802 else | 2800 else |
2803 hasDefault = false; | 2801 hasDefault = false; |
2813 bool hasDefault = false; | 2811 bool hasDefault = false; |
2814 do // need this to look for default arguments and generate extra signatures | 2812 do // need this to look for default arguments and generate extra signatures |
2815 { | 2813 { |
2816 AbstractMetaFunction *fn = slot_funcs.at(i); | 2814 AbstractMetaFunction *fn = slot_funcs.at(i); |
2817 s << " index = _staticMetaObject.indexOfMethod_Cpp(__slotSignatures[" << staticId << "]);" << endl | 2815 s << " index = _staticMetaObject.indexOfMethod_Cpp(__slotSignatures[" << staticId << "]);" << endl |
2818 << " _staticMetaObject.addMethod(new QMetaSlot(signature!(\"" << fn->name() << "\""; | 2816 << " _staticMetaObject.addMethod(new QMetaSlot(signature!("; |
2819 if(fn->arguments().size()-j > 0) | |
2820 s << ", "; | |
2821 writeMetaMethodArguments(s, fn, j); | 2817 writeMetaMethodArguments(s, fn, j); |
2822 s << "), index));" << endl << endl; | 2818 s << ")(\"" << fn->name() << "\"), index));" << endl << endl; |
2823 AbstractMetaArgumentList args = fn->arguments(); | 2819 AbstractMetaArgumentList args = fn->arguments(); |
2824 if(args.size() && j<args.size()) | 2820 if(args.size() && j<args.size()) |
2825 hasDefault = !args.at(args.size() - 1 - j)->defaultValueExpression().isEmpty(); | 2821 hasDefault = !args.at(args.size() - 1 - j)->defaultValueExpression().isEmpty(); |
2826 else | 2822 else |
2827 hasDefault = false; | 2823 hasDefault = false; |