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;