summaryrefslogtreecommitdiff
path: root/src/lib/eolian_cxx
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 /src/lib/eolian_cxx
parent68b6a8f29f0d43f17a1d39f74764cf7b7a24dda8 (diff)
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
Diffstat (limited to 'src/lib/eolian_cxx')
-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
64 << scope_tab << "{\n" 64 << scope_tab << "{\n"
65 << scope_tab << scope_tab << "::efl::eolian::do_eo_add( ::efl::eo::concrete::_eo_raw, ::efl::eo::concrete{nullptr}, _eo_class(), f);\n" 65 << scope_tab << scope_tab << "::efl::eolian::do_eo_add( ::efl::eo::concrete::_eo_raw, ::efl::eo::concrete{nullptr}, _eo_class(), f);\n"
66 << scope_tab << "}\n" 66 << scope_tab << "}\n"
67 << 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"
68 << scope_tab << "{\n"
69 << scope_tab << scope_tab << "::efl::eolian::do_eo_add( ::efl::eo::concrete::_eo_raw, parent, _eo_class(), f);\n"
70 << scope_tab << "}\n"
67 // << scope_tab << "explicit " << string << "( ::efl::eo::concrete const& parent)\n" 71 // << scope_tab << "explicit " << string << "( ::efl::eo::concrete const& parent)\n"
68 // << scope_tab << scope_tab << ": ::efl::eo::concrete( ::efl::eo::do_eo_add(parent)) {}\n" 72 // << scope_tab << scope_tab << ": ::efl::eo::concrete( ::efl::eo::do_eo_add(parent)) {}\n"
69 // << scope_tab << "template <typename F>\n" 73 // << scope_tab << "template <typename F>\n"