diff options
author | Daniel Zaoui <daniel.zaoui@yahoo.com> | 2017-09-07 01:24:52 +0300 |
---|---|---|
committer | Daniel Zaoui <daniel.zaoui@yahoo.com> | 2017-09-07 01:29:57 +0300 |
commit | b71612eb20a707994839491ef211b3f8def6585c (patch) | |
tree | 67d76005bdb9908a3701849db19d29100b181404 | |
parent | 68b6a8f29f0d43f17a1d39f74764cf7b7a24dda8 (diff) | |
download | efl-b71612eb20a707994839491ef211b3f8def6585c.tar.gz |
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
-rw-r--r-- | src/lib/eolian_cxx/grammar/class_definition.hpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/lib/eolian_cxx/grammar/class_definition.hpp b/src/lib/eolian_cxx/grammar/class_definition.hpp index 0b26d7c78c..c05ea6d0bf 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 <typename F> " << string << "( ::efl::eo::concrete parent, F f, typename ::std::enable_if< ::efl::eolian::is_callable<F>::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 <typename F>\n" |