summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Zaoui <daniel.zaoui@yahoo.com>2017-09-07 01:24:52 +0300
committerDaniel Zaoui <daniel.zaoui@yahoo.com>2017-09-07 01:29:57 +0300
commitb71612eb20a707994839491ef211b3f8def6585c (patch)
tree67d76005bdb9908a3701849db19d29100b181404
parent68b6a8f29f0d43f17a1d39f74764cf7b7a24dda8 (diff)
downloadefl-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.hpp4
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"