From: Daniel Zaoui Date: Wed, 6 Sep 2017 22:24:52 +0000 (+0300) Subject: cxx: generate a constructor with a parent and a lambda function X-Git-Tag: submit/sandbox/upgrade/efl120/20180319.053334~2761 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=b71612eb20a707994839491ef211b3f8def6585c;p=platform%2Fupstream%2Fefl.git cxx: generate a constructor with a parent and a lambda function Until now, one could not invoke functions into the constructor of a widget possessing a parent. It is needed for widgets such as Efl.Ui.Check where style is needed during construction. @fix T5980 --- diff --git a/src/lib/eolian_cxx/grammar/class_definition.hpp b/src/lib/eolian_cxx/grammar/class_definition.hpp index 0b26d7c..c05ea6d 100644 --- a/src/lib/eolian_cxx/grammar/class_definition.hpp +++ b/src/lib/eolian_cxx/grammar/class_definition.hpp @@ -64,6 +64,10 @@ struct class_definition_generator << scope_tab << "{\n" << scope_tab << scope_tab << "::efl::eolian::do_eo_add( ::efl::eo::concrete::_eo_raw, ::efl::eo::concrete{nullptr}, _eo_class(), f);\n" << scope_tab << "}\n" + << scope_tab << "template " << string << "( ::efl::eo::concrete parent, F f, typename ::std::enable_if< ::efl::eolian::is_callable::value>::type* = 0)\n" + << scope_tab << "{\n" + << scope_tab << scope_tab << "::efl::eolian::do_eo_add( ::efl::eo::concrete::_eo_raw, parent, _eo_class(), f);\n" + << scope_tab << "}\n" // << scope_tab << "explicit " << string << "( ::efl::eo::concrete const& parent)\n" // << scope_tab << scope_tab << ": ::efl::eo::concrete( ::efl::eo::do_eo_add(parent)) {}\n" // << scope_tab << "template \n"