Am 26.06.21 um 00:24 schrieb Felipe Magno de Almeida:
Hello Andreas,
On Fri, Jun 25, 2021 at 7:15 PM Andreas Volz <li...@brachttal.net> wrote:
Am 24.06.21 um 21:25 schrieb Felipe Magno de Almeida:
Hello Andreas
On Thu, Jun 24, 2021 at 4:22 PM Andreas Volz <li...@brachttal.net> wrote:
I just add another question now as it's working without crash. :-)
With signal_callback_add() I could only add a C function or static C++
member function. But practically I design my callback functions to
hand-over them the this-pointer that they could access members.
But here is no possibility to add a data pointer to
signal_callback_add() that is hand-over to the callback. Any ideas to
attach the this pointer to the Eo object and then get it back from the
efl::layout::Signal from inside the callback?
BTW: I would love if the C++ interface would use libsigc++ as signaling
system. It's so a well designed signaling system, documented and easy to
use.
You can use any function object, not just pointers. You can use a
lambda for example:
```
std::shared_ptr<MyClass> my_object;
layout.signal_callback_add("edje", "func", [=] (auto&& signal, auto&&
emission, auto&& source) { my_object->do_something(signal, emission,
source); });
```
This is a very good idea! Works great.
Just a question about the signal prototype. I used this one and it
works. I tried to use type std::string as emission/source but this
result in another crash. Any ideas why conversation from
efl::eina::basic_string_view<char> to std::string has problems?
void allFunc2(efl::layout::Signal s, efl::eina::basic_string_view<char>
emission, efl::eina::basic_string_view<char> source)
I have to investigate. That should not happen.
I worked around for now by using c_str() from eina::basic_string_view
and then contructing my std::string from that.
_______________________________________________
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel