Summary:
Fix some warnings in the C++ examples for elementary. These examples are build
by default in the normal meson compilation.
Only accidental warnings were fixed, explicit warnings using the `#warning`
preprocessor directive were maintained.
Test Plan: Compile with C++ binding.
Reviewers: lauromoura, felipealmeida, segfaultxavi
Reviewed By: segfaultxavi
Subscribers: bu5hm4n, cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D9244
Summary:
- Changed beta methods guards from CLASS_NAME_GUARD to
EFL_BETA_API_SUPPORT to use the same scheme as C.
- Removed some includes to Efl_Ui.h from the examples. These were
causing C's efl_part_get to not be generated due to EFL_PART_PROTECTED
not being yet defined (it is defined in Elementary.hh, included
afterwards). This was leading to Efl.Part.impl.hh trying to use a
non-existent method.
Fixes T7716 partially (missing stringshare issue)
Test Plan: make examples
Reviewers: stefan_schmidt, felipealmeida, zmike
Reviewed By: zmike
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Maniphest Tasks: T7716
Differential Revision: https://phab.enlightenment.org/D8284
I'll hide some controversial features behind this, until we come to an
agreement with @felipealmeida and people who actually know C++ (iow: not
just me^^).
Features protected:
- easy wref (using -> without locking)
- xxx_event_cb_add() functions in object classes
- instantiate(obj) to create a new object
- add as a synonym for instantiate (both in efl::eo)
make examples now builds all c++ examples but some of them are in fact
empty skeletons. Those either need some c++ love or the final eo api to
be ready (eg. menu, popup, ...).
I removed some examples that don't have an exact equivalent in EO since
the widget is legacy only.
This is more of an experiment than anything else.
@felipealmeida I would like to know what you think.
Notes:
- events still need a better API (event_add isn't part of the object
definition...).
- references are an issue, when you want to actually delete an object.
This fixes all warnings for "make examples" for:
-Wunused-parameter
-Wshadow
-Wformat-security
-Wenum-conversion
Some remaining warnings include:
-Wdeprecated-delcarations