### Efl C++
installed_eflcxxmainheadersdir = $(includedir)/efl-cxx-@VMAJ@/
nodist_installed_eflcxxmainheaders_DATA = $(efl_eolian_cxx_hh) $(efl_eolian_cxx_impl_hh) lib/efl/Efl.eo.hh
-dist_installed_eflcxxmainheaders_DATA = lib/efl/Efl.hh
+dist_installed_eflcxxmainheaders_DATA = lib/efl/Efl.hh lib/efl/cxx/efl_part_impl.hh
lib/efl/Efl.eo.hh: $(efl_eolian_files) $(_EOLIAN_CXX_DEP)
$(AM_V_EOLCXX) \
win.text_set("Bg Image");
win.autohide_set(true);
- // FIXME: Part API needs some fixing to be nice in C++ :)
- //efl::eo::downcast<efl::ui::win::Part>(win.part("background"))
- // .file_set("performance/background.png", nullptr);
-
efl::ui::Bg bg(instantiate, win);
bg.scale_type_set(EFL_UI_IMAGE_SCALE_TYPE_FILL);
bg.file_set("performance/background.png", nullptr);
#ifdef EFL_BETA_API_SUPPORT
+#define EFL_PART_IMPL_HH
+#define EFL_OBJECT_BETA
+#define EFL_OBJECT_PROTECTED
+
#include <Efl.eo.hh>
+#include "cxx/efl_part_impl.hh"
#endif
#endif
--- /dev/null
+//#ifndef EFL_PART_IMPL_HH
+//#define EFL_PART_IMPL_HH
+
+namespace efl {
+inline ::efl::eolian::return_traits< ::efl::Object>::type Part::part( ::efl::eolian::in_traits< ::efl::eina::string_view>::type name) const
+{
+ Eo *handle = ::efl_part(this->_eo_ptr(), name.c_str());
+ ::efl_auto_unref_set(handle, false);
+ return ::efl::Object{handle};
+}
+}
+
+namespace eo_cxx {
+namespace efl {
+inline ::efl::eolian::return_traits< ::efl::Object>::type Part::part( ::efl::eolian::in_traits< ::efl::eina::string_view>::type name) const
+{
+ Eo *handle = ::efl_part(this->_eo_ptr(), name.c_str());
+ ::efl_auto_unref_set(handle, false);
+ return ::efl::Object{handle};
+}
+inline efl::Part::operator ::efl::Part() const { return *static_cast< ::efl::Part const*>(static_cast<void const*>(this)); }
+inline efl::Part::operator ::efl::Part&() { return *static_cast< ::efl::Part*>(static_cast<void*>(this)); }
+inline efl::Part::operator ::efl::Part const&() const { return *static_cast< ::efl::Part const*>(static_cast<void const*>(this)); }
+} }
+
+//#endif