Re: [E-devel] E Discord Server?

2022-09-06 Thread Andreas Volz




Am 06.09.22 um 03:30 schrieb Simon Lees:



On 9/5/22 19:49, Carsten Haitzler wrote:
On Mon, 5 Sep 2022 11:16:03 +0200 Andreas Volz  
said:



Hi,

just a question if there is a Discord[1] Server for Enlightenment Users
& Developers? What is your opinion about to create one?


Why not just use matrix? Have you tried it? If you want a "modern 
works on

mobile apps and works in a web browser" kind of chat experience, matrix
provides that - e.g. use element.io to access matrix and the #e 
channel ...
which is the same as the libera #e irc channel. What is it about 
discord that

is specifically better than Matrix+Element in this case?


Sorry Raster, I've not received your mail in my E-Mail client. Only the 
reply from Simon. I've to adjust my spam filer.


I didn't know Element before. Don't know if it brings same benefits as 
Discord. I could just say I love using Discord. I use it for other 
developer groups and it's fantastic. We share screenshots, files, videos 
as Gif or mp4 to show us problems or features. Direct video play in the 
chat window. Emotional reactions. Even voice and video chat rooms are 
possible. People come there as it feels good.


1. I can reset the password for my account (I've been locked out of 
matrix for years because the password reset simply doesn't work for me).


2. There is a tonne of people who are already there and using it for 
other communities (as with irc), in the openSUSE community we ended up 
with a Discord community because a bunch of users who were already there 
created one then later it became official.


I agree - modern tools are good. Matrix + element provide that AND 
provide a
link back to old IRC. It means the channel is not owned by some 
company that

might change policies in future.


In the openSUSE case we also have a bot running in Discord that bridges 
the chat between Matrix and Discord, in some but not all cases for 
openSUSE this also feeds into irc. So for me the people rather then the 
tools are why i'd go for Discord over Matrix, as long as nothing long 
term important lives there if things change you can just tell people 
your leaving / moving if terms change.


In many groups is a bot with a GitHub bridge that allows easy following 
of current changes or things like received Github stars.


So I vote for creating one, try it for some month and if nobody likes it 
the server dies from alone. :-)


Bad thing is the name "enlightenment" is taken. :-P

regards
Andreas


___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


[E-devel] Edje Enlightenment Background

2022-09-05 Thread Andreas Volz

Hello,

I made an Enlightenment background example with some mouse reaction as 
my current one was boring.


If you hover the mouse over the background the Tron wheels get 
enlightened. :-)


This is just a proof of concept for myself to turn boring images into 
some more interactive action images.


But for some reason I've problems with the transition animation from 
transparent to highlight. I expected a smooth curve, but it doesn't 
work. maybe someone see the reason?


Edje:
https://pastebin.com/aDgBcNXc

Edc:
https://paste.c-net.org/LongingSilva

regards
Andreas


___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


[E-devel] E Discord Server?

2022-09-05 Thread Andreas Volz

Hi,

just a question if there is a Discord[1] Server for Enlightenment Users 
& Developers? What is your opinion about to create one?


Yes, I know there is that List here, but the usage of some modern 
communication tools could help to get new users and developers.


Please don't make this a mailinglist pro/cons flamewar. It's just a try 
to get the communication updated to the current century. :-)


regards
Andreas

[1] https://discord.com/


___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] Catch "delete,request" signal & shaped window

2021-06-29 Thread Andreas Volz




Am 28.06.21 um 22:43 schrieb Cedric Bail:


On Monday, June 28th, 2021 at 1:55 PM, Andreas Volz  wrote:

Am 28.06.21 um 17:58 schrieb Cedric Bail:

On Sunday, June 27th, 2021 at 8:45 AM, Andreas Volz li...@brachttal.net wrote:




two questions together after switching to the C++ version of the unified
API.





How could I receive the "delete,request" signal to catch of a user
clicks the X from the window and do something before quitting. With the
old API I did this somehow with evas_object_smart_callback_call() if I
remember correct.





With the new API, we have an explicit lifecycle definition. I don't remember
how it is defined in C++, but in C, we do have a macro EFL_MAIN_EX() which
will call the following function:
-   efl_main: at startup just before the main loop start
-   efl_terminate: when the application is closed
-   efl_pause: when the application can reduce is paused (on desktop this is
 related to being minimized)
-   efl_resume: the inverse of pause to get things back to speed





Yes, I just ask this as I run a very special mainloop in my application.
I've my own mainloop logic and just start EFL with elm_init() in one of
my threads. For various reasons I couldn't give main control in my
application startup logic to EFL.




With the old API I just catched the window delete request and ended the
mainloop with elm_shutdown() and elm_exit(). This worked great.
regards


Oh, I see. In that case, you would have to reimplement the content of 
EFL_MAIN_EX
to match your need. It is only a few lines of code and it should be possible to
tailor it to your need. You can check the content of the macros in

src/lib/ecore/efl_general.h .


After searching around in the headers and docs I found this:

http://www.enlightenment.org/develop/api/efl/ui/win/event/delete_request

So with the C example there I could maybe catch the window delete 
request and react to it.


But, I'm to tired of "guessing" how the C++ way to call something could 
look like. Yes, I look in the .eo class file, than into the headers. 
Then I guess something from compiler output


But here again I don't find the correct C++ way of setting up the 
efl::Win event handler callback without documentation or an example. :-(


regards
Andreas


___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] C API => Unified API

2021-06-29 Thread Andreas Volz




Am 28.06.21 um 22:40 schrieb Cedric Bail:



On Monday, June 28th, 2021 at 11:47 AM, Andreas Volz  
wrote:

Am 28.06.21 um 17:52 schrieb Cedric Bail:

On Sunday, June 27th, 2021 at 12:55 PM, Andreas Volz li...@brachttal.net wrote:




I often don't find a Unified API equivalent in the new Unified API.
Sure, the easy and obvious ones no problem. But sometimes the design
seems to be changed a lot. Is there a general advice?





For example I use edje_object_part_external_param_*() much in my
application. I thought it might be an equivalent in Efl.Ui.Layout_Part
but I don't see an obvious function.





So any hints in general or this special case?





Yes, I think this would be part of the efl_part API. Which should be something
like:
efl::eo::downcastefl::Text(layout.part("title")).text_set("hello");




or in C:
efl_text_set(efl_part(layout, "title"), "hello");




The efl_part object returned is an Eo object that can only be used for one 
call. If
you want to use it for more than that you need to increase its ref counting. 
Something




like that:




Eo *part = efl_ref(efl_part(layout, "title"));
efl_text_set(part, "hello");
...
efl_unref(part);





Hm, I'd assume this works for text objects. But with the external API[1]
you could get/set also int/bool data if you know the object supports it
without detail information of what UI type is the object. With the C API
this is possible.


With the efl_part, in the case of an external, you should actually get the 
object
itself, not some kind of wrapper. You might have to do something like:
  Eo *obj = efl_content_get(efl_part(layout, "yourpart"));

I am guessing you will need to do some casting in the C++ API, no idea on
that part I haven't played with it in a very long time and don't remember
enough.


I searched my local headers and found a file 
efl_canvas_layout_part_external.eo[1] which defines (nearly) what I 
need. This shows internally the same code as you quoted above. I would 
have found it before but it seems the online docs are not recent. Maybe 
they need to be re-generated?


https://www.enlightenment.org/develop/api/efl/canvas/layout_part_external/property/content
=> This topic does not exist yet

But I still don't know how to set a non-text value on a efl_part. This 
were the reasons those tpes have been used in the old API.


typedef enum _Edje_External_Param_Type
 {
   EDJE_EXTERNAL_PARAM_TYPE_INT,
   EDJE_EXTERNAL_PARAM_TYPE_DOUBLE,
   EDJE_EXTERNAL_PARAM_TYPE_STRING,
   EDJE_EXTERNAL_PARAM_TYPE_BOOL,
   EDJE_EXTERNAL_PARAM_TYPE_CHOICE,
   EDJE_EXTERNAL_PARAM_TYPE_MAX
 } Edje_External_Param_Type;

With this you could put a e.g. spinner in a Layout and assign a INT 
value and it just works. Without knowing what widget type exactly is used.


regards
Andreas

[1] 
https://git.enlightenment.org/core/efl.git/tree/src/lib/edje/efl_canvas_layout_part_external.eo



___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] Catch "delete,request" signal & shaped window

2021-06-28 Thread Andreas Volz




Am 28.06.21 um 17:58 schrieb Cedric Bail:

Hi,

On Sunday, June 27th, 2021 at 8:45 AM, Andreas Volz  wrote:

two questions together after switching to the C++ version of the unified
API.




How could I receive the "delete,request" signal to catch of a user
clicks the X from the window and do something before quitting. With the
old API I did this somehow with evas_object_smart_callback_call() if I
remember correct.


With the new API, we have an explicit lifecycle definition. I don't remember
how it is defined in C++, but in C, we do have a macro EFL_MAIN_EX() which
will call the following function:
- efl_main: at startup just before the main loop start
- efl_terminate: when the application is closed
- efl_pause: when the application can reduce is paused (on desktop this is
related to being minimized)
- efl_resume: the inverse of pause to get things back to speed


Yes, I just ask this as I run a very special mainloop in my application. 
I've my own mainloop logic and just start EFL with elm_init() in one of 
my threads. For various reasons I couldn't give main control in my 
application startup logic to EFL.


With the old API I just catched the window delete request and ended the 
mainloop with elm_shutdown() and elm_exit(). This worked great.


regards
Andreas


___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] C API => Unified API

2021-06-28 Thread Andreas Volz




Am 28.06.21 um 17:52 schrieb Cedric Bail:

Hi,

On Sunday, June 27th, 2021 at 12:55 PM, Andreas Volz  
wrote:

I often don't find a Unified API equivalent in the new Unified API.
Sure, the easy and obvious ones no problem. But sometimes the design
seems to be changed a lot. Is there a general advice?




For example I use edje_object_part_external_param_*() much in my
application. I thought it might be an equivalent in Efl.Ui.Layout_Part
but I don't see an obvious function.




So any hints in general or this special case?


Yes, I think this would be part of the efl_part API. Which should be something
like:
  efl::eo::downcast(layout.part("title")).text_set("hello");

or in C:
  efl_text_set(efl_part(layout, "title"), "hello");

The efl_part object returned is an Eo object that can only be used for one 
call. If
you want to use it for more than that you need to increase its ref counting. 
Something
like that:
  Eo *part = efl_ref(efl_part(layout, "title"));
  efl_text_set(part, "hello");
  ...
  efl_unref(part);


Hm, I'd assume this works for text objects. But with the external API[1] 
you could get/set also int/bool data if you know the object supports it 
without detail information of what UI type is the object. With the C API 
this is possible.


[1] 
https://docs.enlightenment.org/api/release/edje-1.0.1-doc/doc/html/edje__external_8c.html#ac8f8c0c632cc00864e319741e606ece0


regards
Amdreas


___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


[E-devel] C API => Unified API

2021-06-27 Thread Andreas Volz

Hi,

I often don't find a Unified API equivalent in the new Unified API.

Sure, the easy and obvious ones no problem. But sometimes the design 
seems to be changed a lot. Is there a general advice?


For example I use edje_object_part_external_param_*() much in my 
application. I thought it might be an equivalent in Efl.Ui.Layout_Part 
but I don't see an obvious function.


So any hints in general or this special case?

regards
Andreas


___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


[E-devel] Catch "delete,request" signal & shaped window

2021-06-27 Thread Andreas Volz

Hi,

two questions together after switching to the C++ version of the unified 
API.


How could I receive the "delete,request" signal to catch of a user 
clicks the X from the window and do something before quitting. With the 
old API I did this somehow with evas_object_smart_callback_call() if I 
remember correct.


How to I create a shaped window. Before I called elm_win_shaped_set(), 
but now I didn't find a function. Maybe I overlooked it. Is this at the 
end the same as alpha on modern systems?


regards
Andreas


___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] Crash using C++ Layout signal API

2021-06-25 Thread Andreas Volz




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  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  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 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  to std::string has problems?

void allFunc2(efl::layout::Signal s, efl::eina::basic_string_view
emission, efl::eina::basic_string_view  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


Re: [E-devel] Crash using C++ Layout signal API

2021-06-25 Thread Andreas Volz




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  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 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  to std::string has problems?


void allFunc2(efl::layout::Signal s, efl::eina::basic_string_view 
emission, efl::eina::basic_string_view  source)



___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] Crash using C++ Layout signal API

2021-06-24 Thread Andreas Volz

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.


Am 23.06.21 um 07:36 schrieb Andreas Volz:

Hello together,

after some waiting time I would like to ask here if some other user 
could at least verify the same crash with C++ API that I described here:


https://phab.enlightenment.org/T8943

If I'm not strongly misusing the API than it's a very basic error. Just 
loading an Edje file into a Layout.


Would be good to know someone else does see the same.

Do you know a workaround to come around this? Maybe use another C++ 
compatible API / mix with C API to continue work on my application?


regards
Andreas


___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel



___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] Crash using C++ Layout signal API

2021-06-24 Thread Andreas Volz

Hi Felipe,

great - thanks! :-)

I could confirm the patch works. Hope it gets fast into mainline.

Now I could go forward with porting to the new C++ API.

regards
Andreas

Am 24.06.21 um 15:38 schrieb Felipe Magno de Almeida:

Hello Andreas,

I posted a patch, can you see if that fixes your  problem?

Kind regards,

On Thu, Jun 24, 2021 at 9:30 AM Andreas Volz  wrote:


Hi,

just attached the edj and edc file to the phab ticket.

regards
Andreas

Am 24.06.21 um 00:37 schrieb Felipe Magno de Almeida:

Hello Andreas,

Could you share the glowing.edc file?

Kind regards,

On Wed, Jun 23, 2021 at 7:14 PM Felipe Magno de Almeida
 wrote:


Hello Andreas,

This seems weird. It should work, IMO. I'll try to look into this tonight.

Kind regards,

On Wed, Jun 23, 2021 at 6:54 PM Andreas Volz  wrote:




Am 23.06.21 um 18:02 schrieb Cedric Bail:


On Tuesday, June 22nd, 2021 at 11:36 PM, Andreas Volz  
wrote:

Hello together,




after some waiting time I would like to ask here if some other user
could at least verify the same crash with C++ API that I described here:




https://phab.enlightenment.org/T8943




If I'm not strongly misusing the API than it's a very basic error. Just
loading an Edje file into a Layout.


I vaguely remember discussion about this issue. I don't think we actually 
support function pointer in auto generated code, except for eo callback 
mechanism, due to some memory lifecycle uncertainty. And it kind of match what 
your bug report says.



Would be good to know someone else does see the same.




Do you know a workaround to come around this? Maybe use another C++
compatible API / mix with C API to continue work on my application?
regards


I remember that the workaround would be to switch to use the C API instead of 
the C++ one as I think we do have a smart pointer trick that allow you to 
directly use the C pointer and C function from the C++ object.


To make it explicit as question. You suggest to not use the C++ API at
all in my application or just not for this use case?

Is it a good idea to mix usage of C and C++ API as long as it's not
fully stable and then adapt later to full C++ usage? Do you know an
example how to access the C API object?

regards
Andreas


___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel




--
Felipe Magno de Almeida
Owner @ Expertise Solutions
www: https://expertise.dev
phone: +55 48 9 9681.0157
LinkedIn: in/felipealmeida







___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel







___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] Crash using C++ Layout signal API

2021-06-24 Thread Andreas Volz

Hi,

just attached the edj and edc file to the phab ticket.

regards
Andreas

Am 24.06.21 um 00:37 schrieb Felipe Magno de Almeida:

Hello Andreas,

Could you share the glowing.edc file?

Kind regards,

On Wed, Jun 23, 2021 at 7:14 PM Felipe Magno de Almeida
 wrote:


Hello Andreas,

This seems weird. It should work, IMO. I'll try to look into this tonight.

Kind regards,

On Wed, Jun 23, 2021 at 6:54 PM Andreas Volz  wrote:




Am 23.06.21 um 18:02 schrieb Cedric Bail:


On Tuesday, June 22nd, 2021 at 11:36 PM, Andreas Volz  
wrote:

Hello together,




after some waiting time I would like to ask here if some other user
could at least verify the same crash with C++ API that I described here:




https://phab.enlightenment.org/T8943




If I'm not strongly misusing the API than it's a very basic error. Just
loading an Edje file into a Layout.


I vaguely remember discussion about this issue. I don't think we actually 
support function pointer in auto generated code, except for eo callback 
mechanism, due to some memory lifecycle uncertainty. And it kind of match what 
your bug report says.



Would be good to know someone else does see the same.




Do you know a workaround to come around this? Maybe use another C++
compatible API / mix with C API to continue work on my application?
regards


I remember that the workaround would be to switch to use the C API instead of 
the C++ one as I think we do have a smart pointer trick that allow you to 
directly use the C pointer and C function from the C++ object.


To make it explicit as question. You suggest to not use the C++ API at
all in my application or just not for this use case?

Is it a good idea to mix usage of C and C++ API as long as it's not
fully stable and then adapt later to full C++ usage? Do you know an
example how to access the C API object?

regards
Andreas


___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel




--
Felipe Magno de Almeida
Owner @ Expertise Solutions
www: https://expertise.dev
phone: +55 48 9 9681.0157
LinkedIn: in/felipealmeida







___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] Crash using C++ Layout signal API

2021-06-23 Thread Andreas Volz




Am 23.06.21 um 18:02 schrieb Cedric Bail:


On Tuesday, June 22nd, 2021 at 11:36 PM, Andreas Volz  
wrote:

Hello together,




after some waiting time I would like to ask here if some other user
could at least verify the same crash with C++ API that I described here:




https://phab.enlightenment.org/T8943




If I'm not strongly misusing the API than it's a very basic error. Just
loading an Edje file into a Layout.


I vaguely remember discussion about this issue. I don't think we actually 
support function pointer in auto generated code, except for eo callback 
mechanism, due to some memory lifecycle uncertainty. And it kind of match what 
your bug report says.
  


Would be good to know someone else does see the same.




Do you know a workaround to come around this? Maybe use another C++
compatible API / mix with C API to continue work on my application?
regards


I remember that the workaround would be to switch to use the C API instead of 
the C++ one as I think we do have a smart pointer trick that allow you to 
directly use the C pointer and C function from the C++ object.


To make it explicit as question. You suggest to not use the C++ API at 
all in my application or just not for this use case?


Is it a good idea to mix usage of C and C++ API as long as it's not 
fully stable and then adapt later to full C++ usage? Do you know an 
example how to access the C API object?


regards
Andreas


___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


[E-devel] Crash using C++ Layout signal API

2021-06-22 Thread Andreas Volz

Hello together,

after some waiting time I would like to ask here if some other user 
could at least verify the same crash with C++ API that I described here:


https://phab.enlightenment.org/T8943

If I'm not strongly misusing the API than it's a very basic error. Just 
loading an Edje file into a Layout.


Would be good to know someone else does see the same.

Do you know a workaround to come around this? Maybe use another C++ 
compatible API / mix with C API to continue work on my application?


regards
Andreas


___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


[E-devel] Test

2021-06-07 Thread Andreas Volz

Hi,

Sorry my messages get blocked and I need to test why.

If you read this they get through. :-)

regards
Andreas


___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] emotion "playback_finished" signal

2016-04-17 Thread Andreas Volz
Am Sun, 17 Apr 2016 23:39:06 +0900 schrieb Carsten Haitzler (The
Rasterman):

> On Wed, 13 Apr 2016 19:53:37 +0200 Andreas Volz <li...@brachttal.net>
> said:
> 
> > Hello,
> > 
> > now I managed to write a simple media player on top of emotion with
> > a browsing list. But I've some problems to understand how to work
> > with the (async) "playback_finished" signal.
> > 
> > Let me describe the problem and write some high level requirements:
> > 
> > 1. choose a file in the list to play it
> > 2. if file is complete played, continue with next file for playing
> > 
> > For sure I implemented all the folder handling and so.
> > 
> > But the problem is that I get a "playback_finished" in both cases.
> > If a file is complete played and so "finished" and in the case the
> > user chooses a new file and I open it with emotion while the old is
> > still playing. Then I couldn't decide in the callback between those
> > both cases. This results e.g. in always skipping to the next if I
> > choose a new file in the list.
> > 
> > I had the idea to remember some "playing state" in my application,
> > but this doesn't work as all the emotion stuff is in a thread. So
> > if I stop() a media file it's not stopped in this moment but a
> > little later.
> > 
> > I think the design of my application is somehow not good. Could you
> > explain how I should handle those two requirements with emotion?
> 
> did you look at rage? it has playlists and even looping (loop 1
> video). :) it uses decode_stop. :)

Thanks! The callback "decode_stop" was a good hint! :-)

> -- 
> - Codito, ergo sum - "I code, therefore I am"
> -- The Rasterman (Carsten Haitzler)
> ras...@rasterman.com
> 


-- 
Technical Blog <http://andreasvolz.wordpress.com/>

--
Find and fix application performance issues faster with Applications Manager
Applications Manager provides deep performance insights into multiple tiers of
your business applications. It resolves application problems quickly and
reduces your MTTR. Get your free trial!
https://ad.doubleclick.net/ddm/clk/302982198;130105516;z
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


[E-devel] emotion "playback_finished" signal

2016-04-13 Thread Andreas Volz
Hello,

now I managed to write a simple media player on top of emotion with a
browsing list. But I've some problems to understand how to work with
the (async) "playback_finished" signal.

Let me describe the problem and write some high level requirements:

1. choose a file in the list to play it
2. if file is complete played, continue with next file for playing

For sure I implemented all the folder handling and so.

But the problem is that I get a "playback_finished" in both cases. If a
file is complete played and so "finished" and in the case the user
chooses a new file and I open it with emotion while the old is still
playing. Then I couldn't decide in the callback between those both
cases. This results e.g. in always skipping to the next if I choose a
new file in the list.

I had the idea to remember some "playing state" in my application, but
this doesn't work as all the emotion stuff is in a thread. So if I
stop() a media file it's not stopped in this moment but a little later.

I think the design of my application is somehow not good. Could you
explain how I should handle those two requirements with emotion?

regards
  Andreas

-- 
Technical Blog 

--
Find and fix application performance issues faster with Applications Manager
Applications Manager provides deep performance insights into multiple tiers of
your business applications. It resolves application problems quickly and
reduces your MTTR. Get your free trial!
https://ad.doubleclick.net/ddm/clk/302982198;130105516;z
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] OpenInfotainment Raspberry Pi 2 Port

2016-04-13 Thread Andreas Volz
Am Tue, 12 Apr 2016 15:01:40 -0700 schrieb Cedric BAIL:

> On Fri, Apr 8, 2016 at 1:57 PM, Andreas Volz <li...@brachttal.net>
> wrote:
> > Am Fri, 8 Apr 2016 13:19:59 -0700 schrieb Cedric BAIL:
> >> On Fri, Apr 8, 2016 at 11:59 AM, Andreas Volz <li...@brachttal.net>
> >> wrote:
> >> > as I'm so happy I managed to port my OpenInfotainment In-Car
> >> > prototype software to Raspberry Pi 2 here are some photos:
> >> >
> >> > https://drive.google.com/folderview?id=0B3wpqTeeGOAHUVlOT3VuMmdyeWc=sharing
> >> >
> >> > Everything depends on EFL and E20 itself. All processes are
> >> > connected with DBus. I used libosmscout for the navigation map
> >> > and cairo in an evas canvas to draw it. The GUI CPU load of the
> >> > prototype is ok for the Raspi, so I could continue with the
> >> > feature development. :-)
> >>
> >> That's cool. Maybe that will get someone motivated to actually
> >> finish eglfs support for RPi :-)
> >>
> >> Is your code open ? I was wondering how you use cairo and if evas
> >> vector graphics could actually help you there. Evas vector graphics
> >> API is still in development, so there is still bugs there, but we
> >> do already have better performance in software than cairo in many
> >> case
> >
> > I use some Esmart_Cairo code which I grabbed from E SVN years ago
> > before someone deleted it for a me unknown reason.
> >
> > https://github.com/andreas-volz/oisp/blob/master/src/OISPNavigation_libosmscout/Esmart_Cairo.h
> > https://github.com/andreas-volz/oisp/blob/master/src/OISPNavigation_libosmscout/esmart_cairo.c
> 
> Oh, interesting, I didn't know someone was using it :-)
> 
> > This is maybe not the best way. Navi CPU load is currently really
> > high on the raspi. Also because my renderer thread is so bad. But
> > as talked on the libosmscout list this would improve much by
> > writing a real vector renderer (in Evas) instead of Cairo rendering
> > and copying buffers.
> 
> Yes, I looked quickly at the code of libosmscout. It shouldn't be to
> hard to use Evas vector graphics API to do something about it, but it
> is not that simple as there is a two caveats. First we do not have
> text support inside the vector graphics canvas, you need to put evas
> text object on top. Second limitation and it is more a design one, we
> manipulate object. So a better way of doing thing is to generate the
> path once and then move it around. I am not to sure about libosmscout
> behavior and how it can take advantage of EFL there, but definitively
> you should be able to get something going quickly.
> 
> If you have time to experiment with it, I can point help and guide you
> on where to look and explain how things work. Note: This is not a well
> tested area of evas, but would definitively be nice to see this
> improved. Another area that could get improvement is Elm_Map which
> could get an libosmscout backend and thus avoid you the need to
> maintain it in your application.

I would like to have a libosmscout backend. :-) The current Elm_Map 
approach isn't usable as I have no internet connection in the car.

Is Elm_Map also designed to control routing API? If not it's not the
correct way for me.

regards
  Andreas

-- 
Technical Blog <http://andreasvolz.wordpress.com/>

--
Find and fix application performance issues faster with Applications Manager
Applications Manager provides deep performance insights into multiple tiers of
your business applications. It resolves application problems quickly and
reduces your MTTR. Get your free trial!
https://ad.doubleclick.net/ddm/clk/302982198;130105516;z
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] undefined reference to `emotion_object_init(_Eo_Opaque*, char const*)'

2016-04-13 Thread Andreas Volz
Am Sun, 27 Mar 2016 09:35:07 +0200 schrieb Andreas Volz:

> Hello,
> 
> I tried to repair the broken emotionxx. At some point it stopped to
> work and so I deactivated it for some time. All applications liking
> against it get:
> 
> libtool: link: g++ -O0 -ggdb -Wall -o .libs/emotionxx_example_simple
> main.o  /home/andreas/src/git/efl/bindings/eflxx/edjexx/src/.libs/libedjexx.so
> -L/opt/e20/lib /opt/e20/lib/libedje.so 
> /home/andreas/src/git/efl/bindings/eflxx/ecorexx/src/.libs/libecorexx.so 
> /opt/e20/lib/libecore.so /opt/e20/lib/libecore_x.so 
> /opt/e20/lib/libecore_evas.so /opt/e20/lib/libecore_ipc.so 
> /home/andreas/src/git/efl/bindings/eflxx/evasxx/src/.libs/libevasxx.so 
> /home/andreas/src/git/efl/bindings/eflxx/emotionxx/src/.libs/libemotionxx.so 
> /opt/e20/lib/libemotion.so /opt/e20/lib/libevas.so 
> /home/andreas/src/git/efl/bindings/eflxx/eflxx_examples/src/common/.libs/libeflxx_example_common.a
>  /home/andreas/src/git/efl/bindings/eflxx/eflxx/src/.libs/libeflxx.so 
> /home/andreas/src/git/efl/bindings/eflxx/einaxx/src/.libs/libeinaxx.so 
> /usr/lib/x86_64-linux-gnu/libsigc-2.0.so /opt/e20/lib/libeina.so
> -lpthread
> -pthread 
> /home/andreas/src/git/efl/bindings/eflxx/emotionxx/src/.libs/libemotionxx.so:
> undefined reference to `emotion_object_init(_Eo_Opaque*, char
> const*)' collect2: error: ld returned 1 exit status make[4]: ***
> [emotionxx_example_simple] Fehler 1
> 
> 
> But /opt/e20/lib/libemotion.so is in the linker path and I checked
> that libemotion.so contains emotion_object_init function. I don't
> understand why it doesn't link.

Ok, after several work I found the problem :-P

extern "C"
{
#include 
}

Before this wasn't needed and other EFL parts don't need it. How ever
now it works.

-- 
Technical Blog <http://andreasvolz.wordpress.com/>

--
Find and fix application performance issues faster with Applications Manager
Applications Manager provides deep performance insights into multiple tiers of
your business applications. It resolves application problems quickly and
reduces your MTTR. Get your free trial!
https://ad.doubleclick.net/ddm/clk/302982198;130105516;z
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] OpenInfotainment Raspberry Pi 2 Port

2016-04-12 Thread Andreas Volz
Am Tue, 12 Apr 2016 17:53:15 -0300 schrieb Felipe Magno de Almeida:

> On Tue, Apr 12, 2016 at 5:43 PM, Andreas Volz <li...@brachttal.net>
> wrote:
> > Am Sun, 10 Apr 2016 10:10:04 +0900 schrieb Carsten Haitzler (The
> > Rasterman):
> 
> Hello Andreas,
> 
> You might want to write a plugin load your images through OpenMax. I
> did otice a big difference when loading multiple images at once when
> using OpenMAX on the raspberry pi.

Ok, to understand it correct. I just read some docs about what OpenMax
is. Didn't know before. Do you suggest to do this in my application or
add this support to Evas?

> [snip]
> 
> > regards
> >   Andreas
> 
> Regards,
> -- 
> Felipe Magno de Almeida
> 
> --
> Find and fix application performance issues faster with Applications
> Manager Applications Manager provides deep performance insights into
> multiple tiers of your business applications. It resolves application
> problems quickly and reduces your MTTR. Get your free trial!
> https://ad.doubleclick.net/ddm/clk/302982198;130105516;z
> ___
> enlightenment-devel mailing list
> enlightenment-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
> 


-- 
Technical Blog <http://andreasvolz.wordpress.com/>

--
Find and fix application performance issues faster with Applications Manager
Applications Manager provides deep performance insights into multiple tiers of
your business applications. It resolves application problems quickly and
reduces your MTTR. Get your free trial!
https://ad.doubleclick.net/ddm/clk/302982198;130105516;z
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] OpenInfotainment Raspberry Pi 2 Port

2016-04-12 Thread Andreas Volz
Am Sun, 10 Apr 2016 10:10:04 +0900 schrieb Carsten Haitzler (The
Rasterman):

> On Sat, 9 Apr 2016 20:10:23 +0200 Andreas Volz <li...@brachttal.net>
> said:
> 
> > Am Fri, 8 Apr 2016 20:59:51 +0200 schrieb Andreas Volz:
> > 
> > > Hello,
> > > 
> > > as I'm so happy I managed to port my OpenInfotainment In-Car
> > > prototype software to Raspberry Pi 2 here are some photos:
> > > 
> > > https://drive.google.com/folderview?id=0B3wpqTeeGOAHUVlOT3VuMmdyeWc=sharing
> > > 
> > > Everything depends on EFL and E20 itself. All processes are
> > > connected with DBus. I used libosmscout for the navigation map
> > > and cairo in an evas canvas to draw it. The GUI CPU load of the
> > > prototype is ok for the Raspi, so I could continue with the
> > > feature development. :-)
> > > 
> > > If you're interested I'll keep you informed about the state of
> > > this project on the list here.
> > > 
> > > I didn't yet decide about if I like to use emotion as audio
> > > player.
> > 
> > Youtube update:
> > 
> > https://www.youtube.com/watch?v=9_zmu2uGu0Y
> 
> i thought the scrolling speed was bad (as disucussed - lots of copies
> and conversions on the cpu. if you had a working gl driver this would
> be cut down a lot). you may want to check if "dont composite
> fullscreen windows" is enabled under composite settings in rendering
> in e.

This is option was yet set. But I now I also call the
elm_win_maximized_set() only for the case there's a difference to just
set the window borderless in max screen resolution size by hand.

ALso I set elm_win_alpha_set(false) as I currently don't need it. Maybe
this even improves.

> runing in 16bpp is going to always cause extra conversion. with all sw
> rendering just to get something updated on screen:

How could I prevent that color conversion part? Should I configure my
window in another way?

> client:
>   render in in 32bpp
>   convert/copy + dither 32->16bpp
> compositor
>   copy 16bpp to client
>   convert 16bpp to 32bpp
>   render in in 32bpp
>   convert/copy + dither 32->16bpp
> 
> if "don't composite fullscreen windows" is enabled ... your
> fullscreen app can drop all of the compositor part of the pipeline.
> 
> if you run in 32bpp. then the conversions are dropped. if you have a
> gpu of course the rendering is done by hw (you do have to ensure the
> client is using gl too - change elementary_config settings to prefer
> some kind of acceleration). you would need to go try the new
> experimental mesa support for the vidcore gpu - it may mean building
> your own... or finding pkgs someone is maintaining that do.

I'll wait and hope for this and concentrate on my application even if
not at perfect speed. I've enough open points on my side. :-)

> but scrolling speed. ok... your map rendering updates are like "go
> make a cup of coffee an come back when it's done". :) what is going
> on there?

I'm in contact with the libosmscout developer. Maybe things could be
improved in the engine itself. For example the routing part. This is
not on my side. Maybe a faster hard disk for map data instead of the SD
card may also help.

But for sure my rendering loop itself is so bad. It's just a prototype
that calculate and renders a complete screen with a hard configured
frequency without any image caching or similar. I should just render a
big image and then move it around as the car moves. Cache zoom bitmaps
or pre-render low quality image and blur them to hide longer loading
maps or other tricks to improve the user reaction time. So you see many
points to do until I go to the OpenGL optimization point.

regards
  Andreas

-- 
Technical Blog <http://andreasvolz.wordpress.com/>

--
Find and fix application performance issues faster with Applications Manager
Applications Manager provides deep performance insights into multiple tiers of
your business applications. It resolves application problems quickly and
reduces your MTTR. Get your free trial!
https://ad.doubleclick.net/ddm/clk/302982198;130105516;z
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] OpenInfotainment Raspberry Pi 2 Port

2016-04-09 Thread Andreas Volz
Am Fri, 8 Apr 2016 20:59:51 +0200 schrieb Andreas Volz:

> Hello,
> 
> as I'm so happy I managed to port my OpenInfotainment In-Car prototype
> software to Raspberry Pi 2 here are some photos:
> 
> https://drive.google.com/folderview?id=0B3wpqTeeGOAHUVlOT3VuMmdyeWc=sharing
> 
> Everything depends on EFL and E20 itself. All processes are connected
> with DBus. I used libosmscout for the navigation map and cairo in an
> evas canvas to draw it. The GUI CPU load of the prototype is ok for
> the Raspi, so I could continue with the feature development. :-)
> 
> If you're interested I'll keep you informed about the state of this
> project on the list here.
> 
> I didn't yet decide about if I like to use emotion as audio player.

Youtube update:

https://www.youtube.com/watch?v=9_zmu2uGu0Y


-- 
Technical Blog <http://andreasvolz.wordpress.com/>

--
Find and fix application performance issues faster with Applications Manager
Applications Manager provides deep performance insights into multiple tiers of
your business applications. It resolves application problems quickly and
reduces your MTTR. Get your free trial! http://pubads.g.doubleclick.net/
gampad/clk?id=1444514301=/ca-pub-7940484522588532
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] OpenInfotainment Raspberry Pi 2 Port

2016-04-09 Thread Andreas Volz
Am Fri, 8 Apr 2016 13:19:59 -0700 schrieb Cedric BAIL:

> Hello,
> 
> On Fri, Apr 8, 2016 at 11:59 AM, Andreas Volz <li...@brachttal.net>
> wrote:
> > as I'm so happy I managed to port my OpenInfotainment In-Car
> > prototype software to Raspberry Pi 2 here are some photos:
> >
> > https://drive.google.com/folderview?id=0B3wpqTeeGOAHUVlOT3VuMmdyeWc=sharing
> >
> > Everything depends on EFL and E20 itself. All processes are
> > connected with DBus. I used libosmscout for the navigation map and
> > cairo in an evas canvas to draw it. The GUI CPU load of the
> > prototype is ok for the Raspi, so I could continue with the feature
> > development. :-)
> 
> That's cool. Maybe that will get someone motivated to actually finish
> eglfs support for RPi :-)
> 
> Is your code open ? I was wondering how you use cairo and if evas
> vector graphics could actually help you there. Evas vector graphics
> API is still in development, so there is still bugs there, but we do
> already have better performance in software than cairo in many case

I use some Esmart_Cairo code which I grabbed from E SVN years ago
before someone deleted it for a me unknown reason.

https://github.com/andreas-volz/oisp/blob/master/src/OISPNavigation_libosmscout/Esmart_Cairo.h
https://github.com/andreas-volz/oisp/blob/master/src/OISPNavigation_libosmscout/esmart_cairo.c

This is maybe not the best way. Navi CPU load is currently really high
on the raspi. Also because my renderer thread is so bad. But as talked
on the libosmscout list this would improve much by writing a real
vector renderer (in Evas) instead of Cairo rendering and copying
buffers.

> and I am very interested to see new use of it. Well, actually I would
> love to see Elementary map widget have a backend that use Evas vector
> graphics to draw the map, which is why I ask question here to figure
> out how much work it could be :-)

https://github.com/andreas-volz

I put everything on github. Some sub-projects are in a very draft
state. Mainly the oi* stuff + some dependencies. Base of the GUI work is
stateval (https://github.com/andreas-volz/stateval) which is a EFL GUI
statemachine.

> > If you're interested I'll keep you informed about the state of this
> > project on the list here.
> 
> Sure don't hesitate to keep us updated.

I'll do so :-)

-- 
Technical Blog <http://andreasvolz.wordpress.com/>

--
Find and fix application performance issues faster with Applications Manager
Applications Manager provides deep performance insights into multiple tiers of
your business applications. It resolves application problems quickly and
reduces your MTTR. Get your free trial! http://pubads.g.doubleclick.net/
gampad/clk?id=1444514301=/ca-pub-7940484522588532
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


[E-devel] OpenInfotainment Raspberry Pi 2 Port

2016-04-08 Thread Andreas Volz
Hello,

as I'm so happy I managed to port my OpenInfotainment In-Car prototype
software to Raspberry Pi 2 here are some photos:

https://drive.google.com/folderview?id=0B3wpqTeeGOAHUVlOT3VuMmdyeWc=sharing

Everything depends on EFL and E20 itself. All processes are connected
with DBus. I used libosmscout for the navigation map and cairo in an
evas canvas to draw it. The GUI CPU load of the prototype is ok for
the Raspi, so I could continue with the feature development. :-)

If you're interested I'll keep you informed about the state of this
project on the list here.

I didn't yet decide about if I like to use emotion as audio player.

regards
  Andreas

-- 
Technical Blog 

--
Find and fix application performance issues faster with Applications Manager
Applications Manager provides deep performance insights into multiple tiers of
your business applications. It resolves application problems quickly and
reduces your MTTR. Get your free trial! http://pubads.g.doubleclick.net/
gampad/clk?id=1444514301=/ca-pub-7940484522588532
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] e20 on Raspberry Pi

2016-04-08 Thread Andreas Volz
Am Fri, 8 Apr 2016 12:43:45 +0930 schrieb Simon Lees:

> 
> 
> On 04/08/2016 12:17 PM, Carsten Haitzler (The Rasterman) wrote:
> > On Thu, 7 Apr 2016 20:43:28 +0200 Andreas Volz
> > <li...@brachttal.net> said:
> > 
> >> Am Thu, 7 Apr 2016 08:14:29 +0900 schrieb Carsten Haitzler (The
> >> Rasterman):
> >>
> >>> On Wed, 6 Apr 2016 22:25:09 +0200 Andreas Volz
> >>> <li...@brachttal.net> said:
> >>>
> >>>> Am Tue, 5 Apr 2016 11:01:51 +0900 schrieb Carsten Haitzler (The
> >>>> Rasterman):
> >>>>
> >>>>> On Mon, 4 Apr 2016 23:34:47 +0200 Andreas Volz
> >>>>> <li...@brachttal.net> said:
> >>>>>
> >>>>>> Am Mon, 4 Apr 2016 13:30:15 +0900 schrieb Carsten Haitzler (The
> >>>>>> Rasterman):
> >>>>>>
> >>>>>>> On Sun, 3 Apr 2016 22:15:19 +0200 Andreas Volz
> >>>>>>> <li...@brachttal.net> said:
> >>>>>>>
> >>>>>>>> Am Fri, 1 Apr 2016 16:31:42 -0700 schrieb Cedric BAIL:
> >>>>>>>>
> >>>>>>>>>> I tried to start my application with the default Gtk
> >>>>>>>>>> based window manager, but it's strange. As long as I
> >>>>>>>>>> activate alpha and shaped window support in my
> >>>>>>>>>> application the application is somehow broken and hangs
> >>>>>>>>>> in the beginning. I didn't yet trace it out where it
> >>>>>>>>>> hangs.
> >>>>>>>>>>
> >>>>>>>>>> Do you have any ideas or explanations?
> >>>>>>>>>
> >>>>>>>>> Not for the last problem.
> >>>>>>>>
> >>>>>>>> I didn't change much in my application, but now I get a
> >>>>>>>> crash of E20 and X back to the console if I start my
> >>>>>>>> application on the Raspberry Pi.
> >>>>>>>>
> >>>>>>>> In LXDE it still just hangs my application at the point it
> >>>>>>>> starts the window. Need to start my application in the
> >>>>>>>> debugger and see where it exact hangs.
> >>>>>>>>
> >>>>>>>> See here the E crash dump:
> >>>>>>>>
> >>>>>>>> http://tux-style.com/tmp/e-crashdump.txt
> >>>>>>>
> >>>>>>> like 633? that's in bgr565 - 16bit handling. this will cause
> >>>>>>> even more slowness as e has to use efl to convert 16bpp to
> >>>>>>> 32bpp then render in 32bpp then render/dither back to 16bpp
> >>>>>>> for the display...
> >>>>>>
> >>>>>> Ok, have I influenced this in my application setup?
> >>>>>>
> >>>>>>> try 24/32bpp for best results. but anyway. this says the 16bit
> >>>>>>> converter has a bug maybe - > thats s16 (src 16bit) ptr - and
> >>>>>>> it uses sbpl to multiply y + row so what's up with this?
> >>>>>>> sbpl is src bytes per line. so 640 there. i assume its a 320
> >>>>>>> wide window then. is y and row ... wrong? row is the current
> >>>>>>> row we are looking at? y + h
> >>>>>>>> image height? height says it's 240. row is 0... src pts and
> >>>>>>>> s16 are the same - so that's right. ... so it's not src. dp
> >>>>>>>> (destination pointer) is the issue. in
> >>>>>>> fact see dst - its NULL. (0x0). thats the issue. why is it
> >>>>>>> null? that's odd. :(
> >>>>>>
> >>>>>> No my window is 800x480 pixels big. Maybe that's the LXTerminal
> >>>>>> size. I had two terminals open at this time.
> >>>>>
> >>>>> well the backtrace deals with a window that is 320 wide... and
> >>>>> data is null to write the grabbed data (converted data from
> >>>>> rgb565 to 32bit agb) to.. and that is super odd.
> >>>>
> >>>> I attached gdb when the crash dialog comes up. This is the
> >>>> result. Maybe it helps.
&g

Re: [E-devel] e20 on Raspberry Pi

2016-04-07 Thread Andreas Volz
Am Thu, 7 Apr 2016 08:14:29 +0900 schrieb Carsten Haitzler (The
Rasterman):

> On Wed, 6 Apr 2016 22:25:09 +0200 Andreas Volz <li...@brachttal.net>
> said:
> 
> > Am Tue, 5 Apr 2016 11:01:51 +0900 schrieb Carsten Haitzler (The
> > Rasterman):
> > 
> > > On Mon, 4 Apr 2016 23:34:47 +0200 Andreas Volz
> > > <li...@brachttal.net> said:
> > > 
> > > > Am Mon, 4 Apr 2016 13:30:15 +0900 schrieb Carsten Haitzler (The
> > > > Rasterman):
> > > > 
> > > > > On Sun, 3 Apr 2016 22:15:19 +0200 Andreas Volz
> > > > > <li...@brachttal.net> said:
> > > > > 
> > > > > > Am Fri, 1 Apr 2016 16:31:42 -0700 schrieb Cedric BAIL:
> > > > > > 
> > > > > > > > I tried to start my application with the default Gtk
> > > > > > > > based window manager, but it's strange. As long as I
> > > > > > > > activate alpha and shaped window support in my
> > > > > > > > application the application is somehow broken and hangs
> > > > > > > > in the beginning. I didn't yet trace it out where it
> > > > > > > > hangs.
> > > > > > > >
> > > > > > > > Do you have any ideas or explanations?
> > > > > > > 
> > > > > > > Not for the last problem.
> > > > > > 
> > > > > > I didn't change much in my application, but now I get a
> > > > > > crash of E20 and X back to the console if I start my
> > > > > > application on the Raspberry Pi.
> > > > > > 
> > > > > > In LXDE it still just hangs my application at the point it
> > > > > > starts the window. Need to start my application in the
> > > > > > debugger and see where it exact hangs.
> > > > > > 
> > > > > > See here the E crash dump:
> > > > > > 
> > > > > > http://tux-style.com/tmp/e-crashdump.txt
> > > > > 
> > > > > like 633? that's in bgr565 - 16bit handling. this will cause
> > > > > even more slowness as e has to use efl to convert 16bpp to
> > > > > 32bpp then render in 32bpp then render/dither back to 16bpp
> > > > > for the display...
> > > > 
> > > > Ok, have I influenced this in my application setup?
> > > > 
> > > > > try 24/32bpp for best results. but anyway. this says the 16bit
> > > > > converter has a bug maybe - > thats s16 (src 16bit) ptr - and
> > > > > it uses sbpl to multiply y + row so what's up with this?
> > > > > sbpl is src bytes per line. so 640 there. i assume its a 320
> > > > > wide window then. is y and row ... wrong? row is the current
> > > > > row we are looking at? y + h
> > > > > > image height? height says it's 240. row is 0... src pts and
> > > > > > s16 are the same - so that's right. ... so it's not src. dp
> > > > > > (destination pointer) is the issue. in
> > > > > fact see dst - its NULL. (0x0). thats the issue. why is it
> > > > > null? that's odd. :(
> > > > 
> > > > No my window is 800x480 pixels big. Maybe that's the LXTerminal
> > > > size. I had two terminals open at this time.
> > > 
> > > well the backtrace deals with a window that is 320 wide... and
> > > data is null to write the grabbed data (converted data from
> > > rgb565 to 32bit agb) to.. and that is super odd.
> > 
> > I attached gdb when the crash dialog comes up. This is the result.
> > Maybe it helps.
> > 
> > http://tux-style.com/tmp/e_backtrace.log
> 
> same problem there too. dest pixel buffer is NULL. thats why it
> crashes. i don't know why it's null. evas_object_image_data_get() is
> obviously returning NULL. why? is image size 0x0? has something else
> happened? e's code doesnt handle a null return there - so thats why
> the crash. so you'd get garbage or blank/black instead if e did...
> 
> e_comp_object.c:e_comp_object_render()
> 
> pix = evas_object_image_data_get() <- there
> 
> why is it null? is is because it was even set to null? i don't know.
> i haven't seen this happen with e under xephyr...

But xephyr is a good hint. For sure I use this also on my development
pc. So I installed it on my Raspi and tried the same. I get an E
crash just if I start *ANY* application window inside. Interesting is
that Xephyr and the application is still living and usable after the
crash in this setup. E own windows like e.g. the file manager are
working.

I don't understand this. I'm thinking of removing all binaries and
install everything again - just to be sure. :-(

BTW: I used these releases:

econnman-1.1   emotion_generic_players-1.16.0  terminology-0.9.1
efl-1.16.1 enlightenment-0.20.1
elementary-1.16.1  evas_generic_loaders-1.16.0

Do you think there's a chance this is working from GIT?

regards
  Andreas

-- 
Technical Blog <http://andreasvolz.wordpress.com/>

--
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] e20 on Raspberry Pi

2016-04-06 Thread Andreas Volz
Am Tue, 5 Apr 2016 11:01:51 +0900 schrieb Carsten Haitzler (The
Rasterman):

> On Mon, 4 Apr 2016 23:34:47 +0200 Andreas Volz <li...@brachttal.net>
> said:
> 
> > Am Mon, 4 Apr 2016 13:30:15 +0900 schrieb Carsten Haitzler (The
> > Rasterman):
> > 
> > > On Sun, 3 Apr 2016 22:15:19 +0200 Andreas Volz
> > > <li...@brachttal.net> said:
> > > 
> > > > Am Fri, 1 Apr 2016 16:31:42 -0700 schrieb Cedric BAIL:
> > > > 
> > > > > > I tried to start my application with the default Gtk based
> > > > > > window manager, but it's strange. As long as I activate
> > > > > > alpha and shaped window support in my application the
> > > > > > application is somehow broken and hangs in the beginning. I
> > > > > > didn't yet trace it out where it hangs.
> > > > > >
> > > > > > Do you have any ideas or explanations?
> > > > > 
> > > > > Not for the last problem.
> > > > 
> > > > I didn't change much in my application, but now I get a crash of
> > > > E20 and X back to the console if I start my application on the
> > > > Raspberry Pi.
> > > > 
> > > > In LXDE it still just hangs my application at the point it
> > > > starts the window. Need to start my application in the debugger
> > > > and see where it exact hangs.
> > > > 
> > > > See here the E crash dump:
> > > > 
> > > > http://tux-style.com/tmp/e-crashdump.txt
> > > 
> > > like 633? that's in bgr565 - 16bit handling. this will cause even
> > > more slowness as e has to use efl to convert 16bpp to 32bpp then
> > > render in 32bpp then render/dither back to 16bpp for the
> > > display...
> > 
> > Ok, have I influenced this in my application setup?
> > 
> > > try 24/32bpp for best results. but anyway. this says the 16bit
> > > converter has a bug maybe - > thats s16 (src 16bit) ptr - and it
> > > uses sbpl to multiply y + row so what's up with this? sbpl is
> > > src bytes per line. so 640 there. i assume its a 320 wide window
> > > then. is y and row ... wrong? row is the current row we are
> > > looking at? y + h
> > > > image height? height says it's 240. row is 0... src pts and s16
> > > > are the same - so that's right. ... so it's not src. dp
> > > > (destination pointer) is the issue. in
> > > fact see dst - its NULL. (0x0). thats the issue. why is it null?
> > > that's odd. :(
> > 
> > No my window is 800x480 pixels big. Maybe that's the LXTerminal
> > size. I had two terminals open at this time.
> 
> well the backtrace deals with a window that is 320 wide... and data
> is null to write the grabbed data (converted data from rgb565 to
> 32bit agb) to.. and that is super odd.

I attached gdb when the crash dialog comes up. This is the result.
Maybe it helps.

http://tux-style.com/tmp/e_backtrace.log

> > The good thing for me is that it seems maybe not to be my
> > applications fault. Today I started just the LXTerminal from Raspi
> > in E20 and I got a X crash.
> 
> oh nice!

A lot of applications which I start from inside E crash. For example
now I installed terminology. It crash always E, but if I run
terminology from LXDE, than it works. If I start non-E apps from E20
than it crash less often. Strange, not?

regards
  Andreas

-- 
Technical Blog <http://andreasvolz.wordpress.com/>

--
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] e20 on Raspberry Pi

2016-04-04 Thread Andreas Volz
Am Mon, 4 Apr 2016 13:30:15 +0900 schrieb Carsten Haitzler (The
Rasterman):

> On Sun, 3 Apr 2016 22:15:19 +0200 Andreas Volz <li...@brachttal.net>
> said:
> 
> > Am Fri, 1 Apr 2016 16:31:42 -0700 schrieb Cedric BAIL:
> > 
> > > > I tried to start my application with the default Gtk based
> > > > window manager, but it's strange. As long as I activate alpha
> > > > and shaped window support in my application the application is
> > > > somehow broken and hangs in the beginning. I didn't yet trace
> > > > it out where it hangs.
> > > >
> > > > Do you have any ideas or explanations?
> > > 
> > > Not for the last problem.
> > 
> > I didn't change much in my application, but now I get a crash of
> > E20 and X back to the console if I start my application on the
> > Raspberry Pi.
> > 
> > In LXDE it still just hangs my application at the point it starts
> > the window. Need to start my application in the debugger and see
> > where it exact hangs.
> > 
> > See here the E crash dump:
> > 
> > http://tux-style.com/tmp/e-crashdump.txt
> 
> like 633? that's in bgr565 - 16bit handling. this will cause even
> more slowness as e has to use efl to convert 16bpp to 32bpp then
> render in 32bpp then render/dither back to 16bpp for the display...

Ok, have I influenced this in my application setup?

> try 24/32bpp for best results. but anyway. this says the 16bit
> converter has a bug maybe - > thats s16 (src 16bit) ptr - and it uses
> sbpl to multiply y + row so what's up with this? sbpl is src
> bytes per line. so 640 there. i assume its a 320 wide window then. is
> y and row ... wrong? row is the current row we are looking at? y + h
> > image height? height says it's 240. row is 0... src pts and s16 are
> > the same - so that's right. ... so it's not src. dp (destination
> > pointer) is the issue. in
> fact see dst - its NULL. (0x0). thats the issue. why is it null?
> that's odd. :(

No my window is 800x480 pixels big. Maybe that's the LXTerminal size. I
had two terminals open at this time.

The good thing for me is that it seems maybe not to be my applications
fault. Today I started just the LXTerminal from Raspi in E20 and I got
a X crash.


-- 
Technical Blog <http://andreasvolz.wordpress.com/>

--
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] e20 on Raspberry Pi

2016-04-03 Thread Andreas Volz
Am Fri, 1 Apr 2016 16:31:42 -0700 schrieb Cedric BAIL:

> > I tried to start my application with the default Gtk based window
> > manager, but it's strange. As long as I activate alpha and shaped
> > window support in my application the application is somehow broken
> > and hangs in the beginning. I didn't yet trace it out where it
> > hangs.
> >
> > Do you have any ideas or explanations?
> 
> Not for the last problem.

I didn't change much in my application, but now I get a crash of E20 and
X back to the console if I start my application on the Raspberry Pi.

In LXDE it still just hangs my application at the point it starts the
window. Need to start my application in the debugger and see where it
exact hangs.

See here the E crash dump:

http://tux-style.com/tmp/e-crashdump.txt

I don't understand the  as I thought I compiled E* stuff
with gdb options. Maybe I need to repeat that part.

regards
  Andreas

-- 
Technical Blog 

--
Transform Data into Opportunity.
Accelerate data analysis in your applications with
Intel Data Analytics Acceleration Library.
Click to learn more.
http://pubads.g.doubleclick.net/gampad/clk?id=278785471=/4140
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] e20 on Raspberry Pi

2016-04-03 Thread Andreas Volz
Am Sun, 3 Apr 2016 09:28:57 +0900 schrieb Carsten Haitzler (The
Rasterman):

> On Sat, 2 Apr 2016 23:30:27 +0200 Andreas Volz <li...@brachttal.net>
> said:
> 
> > Am Sat, 2 Apr 2016 22:31:49 +0900 schrieb Carsten Haitzler (The
> > Rasterman):
> > 
> > > > > oh if your app uses a shaped window things can be even worse
> > > > > as e ha to merge shape rects into the alpha values of the
> > > > > pixel data it just copied... :)
> > > > > 
> > > > > maybe you might want to try e in wayland mode? it doesn't NEED
> > > > > egl/gles. just kms/drm ...
> > > > 
> > > > The wayland on the system seems to be to old (<1.8?). At least E
> > > > reports a configure check problem.
> > > 
> > > :( you could look for updated wl packages - or try something else
> > > like arch?
> > 
> > I managed to update wayland on my Ubuntu 14.04 system. But now next
> > point.
> > 
> > ./configure --prefix=/opt/e20 --enable-wayland --enable-egl
> > --with-opengl=es --enable-drm --enable-systemd
> > ...
> > configure: error: systemd support wanted, but systemd was not found.
> > 
> > Is a recent systemd really needed to get wayland in E20 working as
> > written here?
> > 
> > https://git.enlightenment.org/core/enlightenment.git/tree/README.wayland
> 
> i've never run it without systemd... :)

After some searching I found out that systemd is installed, but to
old. :-(

I'll see if updating is possible, but I'm always a little careful with
login stuff.

regards
  Andreas

-- 
Technical Blog <http://andreasvolz.wordpress.com/>

--
Transform Data into Opportunity.
Accelerate data analysis in your applications with
Intel Data Analytics Acceleration Library.
Click to learn more.
http://pubads.g.doubleclick.net/gampad/clk?id=278785471=/4140
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] e20 on Raspberry Pi

2016-04-02 Thread Andreas Volz
Am Sat, 2 Apr 2016 22:31:49 +0900 schrieb Carsten Haitzler (The
Rasterman):

> > > oh if your app uses a shaped window things can be even worse as e
> > > ha to merge shape rects into the alpha values of the pixel data
> > > it just copied... :)
> > > 
> > > maybe you might want to try e in wayland mode? it doesn't NEED
> > > egl/gles. just kms/drm ...
> > 
> > The wayland on the system seems to be to old (<1.8?). At least E
> > reports a configure check problem.
> 
> :( you could look for updated wl packages - or try something else
> like arch?

I managed to update wayland on my Ubuntu 14.04 system. But now next
point.

./configure --prefix=/opt/e20 --enable-wayland --enable-egl
--with-opengl=es --enable-drm --enable-systemd
...
configure: error: systemd support wanted, but systemd was not found.

Is a recent systemd really needed to get wayland in E20 working as
written here?

https://git.enlightenment.org/core/enlightenment.git/tree/README.wayland

regards
  Andreas

-- 
Technical Blog 

--
Transform Data into Opportunity.
Accelerate data analysis in your applications with
Intel Data Analytics Acceleration Library.
Click to learn more.
http://pubads.g.doubleclick.net/gampad/clk?id=278785471=/4140
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] e20 on Raspberry Pi

2016-04-02 Thread Andreas Volz
Am Sat, 2 Apr 2016 11:37:27 +0900 schrieb Carsten Haitzler (The
Rasterman):

> On Sat, 2 Apr 2016 00:19:35 +0200 Andreas Volz <li...@brachttal.net>
> said:
> 
> > Hello,
> > 
> > I compiled e20 on Raspberry Pi 2 with latest Raspbian and it works.
> > I had to deactivate Composite Effects and switch to Software
> > renderer because it says there's no OpenGL support.
> > 
> > The reason because I did this is that like to run the Raspi with a
> > 800x480 display and several fullscreen EFL applications which are
> > stacked one over the other and the above one with alpha and shaped
> > window.
> > 
> > I use E20 only as layer manager and deactivated all other elements.
> > Maybe E20 is oversized for that reason.
> > 
> > I experienced now that the CPU load of the E process is really high
> > even if nothing much happens. In idle the load is >10%, but if I
> > render some edje content in my application the E process goes fast
> > up >60-100% CPU. My application itself has very low CPU usage.
> 
> software will have lots of overhead in x11. wayland actually will  be
> quite a lot better (wayland_shm). the reason i - any update - a
> blinking curor needs to ask x to copy pixels from the update
> region(s) into a shm buffer, then depending maybe copy again to a
> destination buffer, THEN render the canvas (updating objects withint
> the render update region) and again copying/scaling/blending to an
> update region shm buffer... THEN this shm buffer is copied to the
> actual fraembuffer by the xserver.
> 
> with gl and a decent driver , texture from pixmap, the render/blend
> is done by gpu and the rest is zero-copy.
> 
> in wayland same for gl and wayland_shm makes it zero-copy for clients
> to send updates to compositor. if compositor is also sw, it's just
> the rendering cot, then the buffer swap which is zero-copy.
> 
> so yes - you'll have overhead. several copies of updates everywhere.
> even a tiny blinking cursor causes all of the above.
> 
> oh if your app uses a shaped window things can be even worse as e ha
> to merge shape rects into the alpha values of the pixel data it just
> copied... :)
> 
> maybe you might want to try e in wayland mode? it doesn't NEED
> egl/gles. just kms/drm ...

The wayland on the system seems to be to old (<1.8?). At least E
reports a configure check problem.

regards
  Andreas

-- 
Technical Blog <http://andreasvolz.wordpress.com/>

--
Transform Data into Opportunity.
Accelerate data analysis in your applications with
Intel Data Analytics Acceleration Library.
Click to learn more.
http://pubads.g.doubleclick.net/gampad/clk?id=278785471=/4140
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] e20 on Raspberry Pi

2016-04-02 Thread Andreas Volz
Am Sat, 2 Apr 2016 12:31:09 +0200 schrieb Davide Andreoli:

> 2016-04-02 1:31 GMT+02:00 Cedric BAIL <cedric.b...@free.fr>:
> 
> > Hello,
> >
> > On Fri, Apr 1, 2016 at 3:19 PM, Andreas Volz <li...@brachttal.net>
> > wrote:
> > > I compiled e20 on Raspberry Pi 2 with latest Raspbian and it
> > > works. I had to deactivate Composite Effects and switch to
> > > Software renderer because it says there's no OpenGL support.
> >
> 
> The latests rasbian images for rpi2 include the experimental VideoCore
> open source drivers :)
> 
> https://www.raspberrypi.org/blog/another-new-raspbian-release/
> 
> I successfully built efl+gl on rpi2 using this driver and efl
> applications run quite fast. There is still (at least) one issue i
> faced: the driver seems
> not able to load big textures (something like 1000x1000px or more),
> and it slow down a lot when it fails. This for example make e20
> unusable because it cannot load the e background texture.
> 
> I did not investigate further, maybe it is just a stupid problem.
> 
> Please  let me know if you do some progress in this area, I really
> would like to see my emotion media center run smoothly on raspy :)
> 
> 
> 
> 
> >
> > Yes, RPi have still today a proprietary driver that is not following
> > standard integration with X requiring a custom backend to make it
> > work. I was hoping to see the open source driver sooner, but it is
> > not there yet. We do have in master a backend, eglfs, which will
> > support this kind of proprietary driver in the near future.
> > Hopefully for 1.18. It is currently done around hwcomposer, but
> > should also be able to support RPi and others. This backend will
> > also allow the use of Enlightenment Wayland only mode.
> >
> > The RPi even has something close to hardware layer. So if someone
> > does spend the time to optimize our backend for it, it should
> > become quite usable. I say quite, because there will still be some
> > major slowness. Even with wayland, there won't be support for
> > Wayland EGL, so you will fallback to Wayland SHM. Wayland SHM
> > allocate at the moment the buffer on the client side. This means
> > that we can't give it a hardware memory pointer that the hardware
> > layer infrastructure could reuse. So we will always need the CPU to
> > do a useless memcpy from the client buffer to the hardware layer
> > buffer... Making it less useful, except maybe for mouse cursor...
> > So until there is an open source Open GL driver on the RPi, it will
> > lack behind on what we can do with it.
> >
> > > The reason because I did this is that like to run the Raspi with a
> > > 800x480 display and several fullscreen EFL applications which are
> > > stacked one over the other and the above one with alpha and shaped
> > > window.
> > >
> > > I use E20 only as layer manager and deactivated all other
> > > elements. Maybe E20 is oversized for that reason.
> > >
> > > I experienced now that the CPU load of the E process is really
> > > high even if nothing much happens. In idle the load is >10%, but
> > > if I render some edje content in my application the E process
> > > goes fast up >60-100% CPU. My application itself has very low CPU
> > > usage.
> >
> > Any change on the screen, should trigger a software rendering of
> > just the area that did change on screen. Note that shaped windows
> > and alpha are usually more complex to handle and require more
> > ressource to be drawn. With an anemic hardware like the RPi, it
> > doesn't suprise me to much that this is that slow/ressource
> > intensive.

I followed the tutorial and installed all components and restarted. It
works everything as before. Glxgears doesn't feel as hw accelerated. In
fullscreen very slow. Do I've to change any X configuration?

> > > I tried to start my application with the default Gtk based window
> > > manager, but it's strange. As long as I activate alpha and shaped
> > > window support in my application the application is somehow
> > > broken and hangs in the beginning. I didn't yet trace it out
> > > where it hangs.
> > >
> > > Do you have any ideas or explanations?
> >
> > Not for the last problem.

I'll for sure debug some more and report here.

regards
  Andreas

-- 
Technical Blog <http://andreasvolz.wordpress.com/>

--
Transform Data into Opportunity.
Accelerate data analysis in your applications with
Intel Data Analytics Acceleration Library.
Click to learn more.
http://pubads.g.doubleclick.net/gampad/clk?id=278785471=/4140
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


[E-devel] e20 on Raspberry Pi

2016-04-01 Thread Andreas Volz
Hello,

I compiled e20 on Raspberry Pi 2 with latest Raspbian and it works. I
had to deactivate Composite Effects and switch to Software renderer
because it says there's no OpenGL support.

The reason because I did this is that like to run the Raspi with a
800x480 display and several fullscreen EFL applications which are
stacked one over the other and the above one with alpha and shaped
window.

I use E20 only as layer manager and deactivated all other elements.
Maybe E20 is oversized for that reason.

I experienced now that the CPU load of the E process is really high
even if nothing much happens. In idle the load is >10%, but if I render
some edje content in my application the E process goes fast up >60-100%
CPU. My application itself has very low CPU usage.

I tried to start my application with the default Gtk based window
manager, but it's strange. As long as I activate alpha and shaped
window support in my application the application is somehow broken and
hangs in the beginning. I didn't yet trace it out where it hangs.

Do you have any ideas or explanations?

regards
  Andreas

-- 
Technical Blog 

--
Transform Data into Opportunity.
Accelerate data analysis in your applications with
Intel Data Analytics Acceleration Library.
Click to learn more.
http://pubads.g.doubleclick.net/gampad/clk?id=278785471=/4140
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] packaging/debian

2016-04-01 Thread Andreas Volz
Am Fri, 1 Apr 2016 13:07:44 +0100 schrieb Tom Hacohen:

> On 01/04/16 13:02, Andreas Volz wrote:
> > Hello,
> >
> > could you tell me where the packaging/debian stuff is in the new GIT
> > structure?
> >
> > https://svn.enlightenment.org/svn/e/trunk/packaging/debian/
> >
> > regards
> >Andreas
> >
> 
> Nowhere.

Ok, short answer. :-)

I assume package maintainers have moved their old package spec to
launchpad or where ever. I'll do the same for my stuff. Thanks.

regards
  Andreas

-- 
Technical Blog <http://andreasvolz.wordpress.com/>

--
Transform Data into Opportunity.
Accelerate data analysis in your applications with
Intel Data Analytics Acceleration Library.
Click to learn more.
http://pubads.g.doubleclick.net/gampad/clk?id=278785471=/4140
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


[E-devel] packaging/debian

2016-04-01 Thread Andreas Volz
Hello,

could you tell me where the packaging/debian stuff is in the new GIT
structure?

https://svn.enlightenment.org/svn/e/trunk/packaging/debian/

regards
  Andreas

-- 
Technical Blog 

--
Transform Data into Opportunity.
Accelerate data analysis in your applications with
Intel Data Analytics Acceleration Library.
Click to learn more.
http://pubads.g.doubleclick.net/gampad/clk?id=278785471=/4140
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] EFL C++ examples

2016-03-28 Thread Andreas Volz
Am Mon, 28 Mar 2016 10:31:46 -0300 schrieb Felipe Magno de Almeida:

> On Fri, Mar 25, 2016 at 8:25 AM, Andreas Volz <li...@brachttal.net>
> wrote:
> > Hello together,
> >
> > I'm still using the Eflxx because it worked until now in my
> > application. But the List and Genlist support in Eflxx isn't good
> > (much memory leaking) and I think about porting my application to
> > the official C++ interface instead of fixing Eflxx in the long
> > term. Not decided when, because I would need much time without any
> > now feature coding.
> >
> > But I didn't find really good examples for the C++ Elm (e.g.
> > GenList) interface. Are there some? I like the elementaryxx_example
> > I wrote even if not complete. I don't like to ask dozen of stupid
> > API questions here.
> 
> I don't think we have one. BTW, be prepared that genlist will change
> its interface completely for bindings (C++ included) when its Eolian
> interface changes.
> 
> Even without a specific example, you can read the eolian interface
> of the class to see how to use, and use the examples from C as
> a basis for now. I'll consider a specific example when the interface
> is finalized.

Ok, thanks for the warning. Currently I stay with Eflxx List as it's
working for my application at the moment. The GUI part is encapsulated
good so I may change the GUI API later without destroying to much.

I would like the elementary_test application for C++ as I started it for
elementaryxx, but never finished it.

regards
  Andreas

-- 
Technical Blog <http://andreasvolz.wordpress.com/>

--
Transform Data into Opportunity.
Accelerate data analysis in your applications with
Intel Data Analytics Acceleration Library.
Click to learn more.
http://pubads.g.doubleclick.net/gampad/clk?id=278785471=/4140
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


[E-devel] undefined reference to `emotion_object_init(_Eo_Opaque*, char const*)'

2016-03-27 Thread Andreas Volz
Hello,

I tried to repair the broken emotionxx. At some point it stopped to
work and so I deactivated it for some time. All applications liking
against it get:

libtool: link: g++ -O0 -ggdb -Wall -o .libs/emotionxx_example_simple main.o  
/home/andreas/src/git/efl/bindings/eflxx/edjexx/src/.libs/libedjexx.so 
-L/opt/e20/lib /opt/e20/lib/libedje.so 
/home/andreas/src/git/efl/bindings/eflxx/ecorexx/src/.libs/libecorexx.so 
/opt/e20/lib/libecore.so /opt/e20/lib/libecore_x.so 
/opt/e20/lib/libecore_evas.so /opt/e20/lib/libecore_ipc.so 
/home/andreas/src/git/efl/bindings/eflxx/evasxx/src/.libs/libevasxx.so 
/home/andreas/src/git/efl/bindings/eflxx/emotionxx/src/.libs/libemotionxx.so 
/opt/e20/lib/libemotion.so /opt/e20/lib/libevas.so 
/home/andreas/src/git/efl/bindings/eflxx/eflxx_examples/src/common/.libs/libeflxx_example_common.a
 /home/andreas/src/git/efl/bindings/eflxx/eflxx/src/.libs/libeflxx.so 
/home/andreas/src/git/efl/bindings/eflxx/einaxx/src/.libs/libeinaxx.so 
/usr/lib/x86_64-linux-gnu/libsigc-2.0.so /opt/e20/lib/libeina.so -lpthread 
-pthread
/home/andreas/src/git/efl/bindings/eflxx/emotionxx/src/.libs/libemotionxx.so: 
undefined reference to `emotion_object_init(_Eo_Opaque*, char const*)'
collect2: error: ld returned 1 exit status
make[4]: *** [emotionxx_example_simple] Fehler 1


But /opt/e20/lib/libemotion.so is in the linker path and I checked that 
libemotion.so contains emotion_object_init function. I don't understand why it 
doesn't link.

regards
  Andreas

-- 
Technical Blog 

--
Transform Data into Opportunity.
Accelerate data analysis in your applications with
Intel Data Analytics Acceleration Library.
Click to learn more.
http://pubads.g.doubleclick.net/gampad/clk?id=278785351=/4140
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


[E-devel] EFL C++ examples

2016-03-25 Thread Andreas Volz
Hello together,

I'm still using the Eflxx because it worked until now in my
application. But the List and Genlist support in Eflxx isn't good (much
memory leaking) and I think about porting my application to the
official C++ interface instead of fixing Eflxx in the long term. Not
decided when, because I would need much time without any now feature
coding.

But I didn't find really good examples for the C++ Elm (e.g. GenList)
interface. Are there some? I like the elementaryxx_example I wrote even
if not complete. I don't like to ask dozen of stupid API questions here.

regards
  Andreas

-- 
Technical Blog 

--
Transform Data into Opportunity.
Accelerate data analysis in your applications with
Intel Data Analytics Acceleration Library.
Click to learn more.
http://pubads.g.doubleclick.net/gampad/clk?id=278785351=/4140
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] Elm List/Genlist style

2016-03-20 Thread Andreas Volz
Am Sun, 20 Mar 2016 11:13:59 +0100 schrieb
marcel-hollerb...@t-online.de:

Hi,

hm, it seems I've not yet understood. For example for

[E-devel] Elm List/Genlist style

2016-03-20 Thread Andreas Volz
Hello,

I like to change the style of a Elm List and Genlist (e.g. font
size/style and maybe colors). But I don't like to change it as complete
Elementary theme as my application has several lists which should have
different style.

Is this possible in EDC or with the API?

regards
  Andreas

-- 
Technical Blog 

--
Transform Data into Opportunity.
Accelerate data analysis in your applications with
Intel Data Analytics Acceleration Library.
Click to learn more.
http://pubads.g.doubleclick.net/gampad/clk?id=278785231=/4140
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] Modify edje properties

2016-03-10 Thread Andreas Volz
Am Sat, 5 Mar 2016 23:45:55 +0100 schrieb Andreas Volz:

Ok, seems not possible or nobody knows.

Is there a good way to find out in my application code if a part is a
external type or a text part? Should I use edje_edit_part_type_get()
for this? I just like to change a text from a common API interface in
my higher level API independent is it's a native Edje TEXT object or a
elm/label.

Another idea would be to do something like this (meta code)

val = edje_object_part_external_object_get(...); 
if(!val)
{
  // seems not to be an external
  edje_object_part_text_set(...);
}
else
{
  // edje external, so access params
  // modify e.g label param of elm/label
  ...
}

> Hello,
> 
> I use edje_object_part_external_param_set() to be able to modify all
> params from a EXTERNAL type (here: elm/entry) in my application code.
> Very flexible and nice.
> 
>  part { name: "Entry01";
> type: EXTERNAL;
> source: "elm/entry";
> description { state: "default" 0;
>rel1 {
>   offset: 139 120;
>}
>rel2 {
>   relative: 0 0;
>   offset: 299 436;
>}
>params {
>   string: "style" "default";
>   string: "label" "";
>   bool: "scrollable" "1";
>   bool: "single line" "0";
>   bool: "password" "0";
>   bool: "horizontal bounce" "0";
>   bool: "vertical bounce" "0";
>   bool: "editable" "0";
>}
> }
>  }
> 
> I use mostly elm objects in my application, but also some internal
> edje types like TEXT type. I can't use
> edje_object_part_external_param_set() in this case to access the text
> parameters like e.g. size. Ok, I could use
> edje_object_part_text_set() at least to change the text, but that's
> not the same. I like the generic param mechanism and I don't see how
> to change e.g. size from my application.
> 
>  part { name: "Text01";
> type: TEXT;
> mouse_events: 0;
> description { state: "default" 0;
>rel1 {
>   offset: 76 -102;
>}
>rel2 {
>   relative: 0 0;
>   offset: 226 130;
>}
>text {
>   text: "4:30 PM";
>   font: "Arial:style=Fett";
>   size: 10;
>}
> }
>  }
> 
> Could you help me here? Maybe I didn't understood the concept at this
> point.
> 
> -- 
> Technical Blog <http://andreasvolz.wordpress.com/>
> 
> --
> ___
> enlightenment-devel mailing list
> enlightenment-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
> 


-- 
Technical Blog <http://andreasvolz.wordpress.com/>

--
Transform Data into Opportunity.
Accelerate data analysis in your applications with
Intel Data Analytics Acceleration Library.
Click to learn more.
http://pubads.g.doubleclick.net/gampad/clk?id=278785111=/4140
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


[E-devel] EFL API Docs

2016-03-10 Thread Andreas Volz
Hello,

https://docs.enlightenment.org/efl/current/group__Edje__Object__Part.html

could you explain me why I don't see any functions in the EFL
documentation? (Here: Edje Object Part)

regards
  Andreas

-- 
Technical Blog 

--
Transform Data into Opportunity.
Accelerate data analysis in your applications with
Intel Data Analytics Acceleration Library.
Click to learn more.
http://pubads.g.doubleclick.net/gampad/clk?id=278785111=/4140
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


[E-devel] Modify edje properties

2016-03-05 Thread Andreas Volz
Hello,

I use edje_object_part_external_param_set() to be able to modify all
params from a EXTERNAL type (here: elm/entry) in my application code.
Very flexible and nice.

 part { name: "Entry01";
type: EXTERNAL;
source: "elm/entry";
description { state: "default" 0;
   rel1 {
  offset: 139 120;
   }
   rel2 {
  relative: 0 0;
  offset: 299 436;
   }
   params {
  string: "style" "default";
  string: "label" "";
  bool: "scrollable" "1";
  bool: "single line" "0";
  bool: "password" "0";
  bool: "horizontal bounce" "0";
  bool: "vertical bounce" "0";
  bool: "editable" "0";
   }
}
 }

I use mostly elm objects in my application, but also some internal edje
types like TEXT type. I can't use edje_object_part_external_param_set()
in this case to access the text parameters like e.g. size. Ok, I could
use edje_object_part_text_set() at least to change the text, but that's
not the same. I like the generic param mechanism and I don't see how to
change e.g. size from my application.

 part { name: "Text01";
type: TEXT;
mouse_events: 0;
description { state: "default" 0;
   rel1 {
  offset: 76 -102;
   }
   rel2 {
  relative: 0 0;
  offset: 226 130;
   }
   text {
  text: "4:30 PM";
  font: "Arial:style=Fett";
  size: 10;
   }
}
 }

Could you help me here? Maybe I didn't understood the concept at this
point.

-- 
Technical Blog 

--
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


[E-devel] External clock

2016-01-31 Thread Andreas Volz
Hello,

I use a elm clock in my application

   part { name: "ext_clock";
type: EXTERNAL;
source: "elm/clock";

Any ideas which parameter to set to set edit mode?

I searched for Elm External documentation, but found nothing. Any ideas
where this is documented?

regards
  Andreas

-- 
Technical Blog 

--
Site24x7 APM Insight: Get Deep Visibility into Application Performance
APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month
Monitor end-to-end web transactions and take corrective actions now
Troubleshoot faster and improve end-user experience. Signup Now!
http://pubads.g.doubleclick.net/gampad/clk?id=267308311=/4140
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


[E-devel] Edje_External_Param for Elm_List

2016-01-10 Thread Andreas Volz
Hello,

In my framework I try to access all my edje elements in a most generic
way. So I often use Edje_External_Param feature and design what ever
possible direct in Edje. I also use Elementary external objects with
Edje_External_Param with good success. But I've not yet found a generic
way to work with list style containers. For example Elm_List.

Is it possible to set/get/add list values with a generic Edje
API and/or inside EDC?

What is the usage of edje_object_part_text_item_list_get()?

Is it possible to modify/read Elm_List values from LUA inside EDC?

regards
  Andreas

-- 
Technical Blog 

--
Site24x7 APM Insight: Get Deep Visibility into Application Performance
APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month
Monitor end-to-end web transactions and take corrective actions now
Troubleshoot faster and improve end-user experience. Signup Now!
http://pubads.g.doubleclick.net/gampad/clk?id=267308311=/4140
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] C++ bindings

2015-12-30 Thread Andreas Volz
Am Mon, 28 Dec 2015 13:01:57 +0100 schrieb Andreas Volz:


> BTW: for some reasons my developer GIT account is again not working. 
> 
> > git clone git+ssh://g...@git.enlightenment.org/bindings/cxx/eflxx.git
> Cloning into 'eflxx'...
> Permission denied (publickey).
> fatal: Could not read from remote repository.
> 
> Please make sure you have the correct access rights
> and the repository exists.
> 
> I checked ssh key and this one is correct:
> https://git.enlightenment.org/admin/devs.git/tree/developers/andreas/id_dsa_thor.pub

Could someone help me please to get my E GIT working again?

I could work without problems with github. If I don't get it done I've
to clone EFLxx to github.

I'll maintain EFLxx for the moment until I decided about the new C++
interface. Can't decide now to move my application.

regards
  Andreas

-- 
Technical Blog <http://andreasvolz.wordpress.com/>

--
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


[E-devel] Help with E_Border_Hook

2015-12-29 Thread Andreas Volz
Hello,

I wrote a simple E module some time ago to create some special layer
management for an embedded application based on the window type.

https://github.com/andreas-volz/oilm/blob/master/src/e_mod_main.c

I'm sure that at least with e17 this worked. Now with e20 I get this compiler
message:

e_mod_main.c:9:1: error: unknown type name 'E_Border_Hook'
 static E_Border_Hook *hook = NULL;
 ^
e_mod_main.c: In function '_e_module_layout_cb_hook':
e_mod_main.c:20:3: error: unknown type name 'E_Border'
   E_Border *bd = bdv;
   ^
e_mod_main.c:29:14: error: request for member 'client' in something not a 
structure or union
  , bd->client.icccm.title, bd->client.netwm.name
..

Any hints?

regards
  Andreas

-- 
Technical Blog <http://andreasvolz.wordpress.com/>

--
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


[E-devel] C++ bindings

2015-12-28 Thread Andreas Volz
Hello,

I just like to take a decision about eflxx (C++ binding)

https://git.enlightenment.org/bindings/cxx/eflxx.git/

I put many work based on this and have at least one application based
on it that I never really published to the community.

https://github.com/andreas-volz/stateval

Based on this I developed a infotainment car system. Also on github
available. (oilm, oicf, oisp, oiui). I didn't work that much on it in
the last year, but now like to continue the work.

Now I looked in current state of the E development and see the C++
wrapper direct in the EFL libs. Didn't yet try it so far. How mature
and stable is the C++ API? 

I'm really a little sad about throwing eflxx away if I decide for
this, because of the many time I invested in it. :-( But on the good
side I could put all time I save to maintain eflxx into my
application. :-)

Is someone else using eflxx or am I the only user? Does it really help
to have two different C++ APIs available?

The only comment while just browsing five minutes around the new C++
headers is that I like the EFLxx API a little more. It looks more C++
like and uses more C++ like designs. But I may be wrong. Please correct
me here.

So I'm very interested in your comments!

regards
  Andreas


BTW: for some reasons my developer GIT account is again not working. 

> git clone git+ssh://g...@git.enlightenment.org/bindings/cxx/eflxx.git
Cloning into 'eflxx'...
Permission denied (publickey).
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

I checked ssh key and this one is correct:
https://git.enlightenment.org/admin/devs.git/tree/developers/andreas/id_dsa_thor.pub

-- 
Technical Blog <http://andreasvolz.wordpress.com/>

--
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


[E-devel] Git commit

2015-08-05 Thread Andreas Volz
Hello,

after long time I need to commit something to E git. I've done this a
year ago, but now it's not working:

 LC_ALL=C git push
fatal: unable to access
'https://git.enlightenment.org/bindings/cxx/eflxx.git/': The requested
URL returned error: 403

Any hints?

regards
  Andreas

-- 
Technical Blog http://andreasvolz.wordpress.com/

--
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] Git commit

2015-08-05 Thread Andreas Volz
Am Wed, 5 Aug 2015 20:56:53 +0100 schrieb Tom Hacohen:

Each time I don't configure my git repo for some time I forget
everything :-(

 git push 
Permission denied (publickey).
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.


this is .git/config:
[user]
name = Andreas Volz
email = li...@brachttal.net

[core]
repositoryformatversion = 0
filemode = true
bare = false
logallrefupdates = true
[remote origin]
url = git+ssh://g...@git.enlightenment.org/bindings/cxx/eflxx.git
fetch = +refs/heads/*:refs/remotes/origin/*
[branch master]
remote = origin
merge = refs/heads/master


From an old commit I know this is my user in E git:

https://git.enlightenment.org/bindings/cxx/eflxx.git/commit/?id=c691f3d2d1e2b4b5dc1c748966c9a9a3ce33

Maybe someone disabled my commit rights?

 This is the wrong address. You need the ssh one:
 git+ssh://g...@git.enlightenment.org/bindings/cxx/eflxx.git
 
 On Wed, Aug 5, 2015 at 8:20 PM, Andreas Volz li...@brachttal.net
 wrote:
 
  Hello,
 
  after long time I need to commit something to E git. I've done this
  a year ago, but now it's not working:
 
   LC_ALL=C git push
  fatal: unable to access
  'https://git.enlightenment.org/bindings/cxx/eflxx.git/': The
  requested URL returned error: 403
 
  Any hints?
 
  regards
Andreas
 
  --
  Technical Blog http://andreasvolz.wordpress.com/
 
 
  --
  ___
  enlightenment-devel mailing list
  enlightenment-devel@lists.sourceforge.net
  https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
 
 --
 ___
 enlightenment-devel mailing list
 enlightenment-devel@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
 


-- 
Technical Blog http://andreasvolz.wordpress.com/

--
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] Git commit

2015-08-05 Thread Andreas Volz
Am Wed, 5 Aug 2015 22:35:53 +0200 schrieb Andreas Volz:

Ok, inactive... 

https://git.enlightenment.org/admin/devs.git/tree/inactive/andreas

Is it possible to reactivate me? And upload a new pub-key...

 Am Wed, 5 Aug 2015 20:56:53 +0100 schrieb Tom Hacohen:
 
 Each time I don't configure my git repo for some time I forget
 everything :-(
 
  git push 
 Permission denied (publickey).
 fatal: Could not read from remote repository.
 
 Please make sure you have the correct access rights
 and the repository exists.
 
 
 this is .git/config:
 [user]
 name = Andreas Volz
 email = li...@brachttal.net
 
 [core]
 repositoryformatversion = 0
 filemode = true
 bare = false
 logallrefupdates = true
 [remote origin]
 url =
 git+ssh://g...@git.enlightenment.org/bindings/cxx/eflxx.git fetch =
 +refs/heads/*:refs/remotes/origin/* [branch master]
 remote = origin
 merge = refs/heads/master
 
 
 From an old commit I know this is my user in E git:
 
 https://git.enlightenment.org/bindings/cxx/eflxx.git/commit/?id=c691f3d2d1e2b4b5dc1c748966c9a9a3ce33
 
 Maybe someone disabled my commit rights?
 
  This is the wrong address. You need the ssh one:
  git+ssh://g...@git.enlightenment.org/bindings/cxx/eflxx.git
  
  On Wed, Aug 5, 2015 at 8:20 PM, Andreas Volz li...@brachttal.net
  wrote:
  
   Hello,
  
   after long time I need to commit something to E git. I've done
   this a year ago, but now it's not working:
  
LC_ALL=C git push
   fatal: unable to access
   'https://git.enlightenment.org/bindings/cxx/eflxx.git/': The
   requested URL returned error: 403
  
   Any hints?
  
   regards
 Andreas
  
   --
   Technical Blog http://andreasvolz.wordpress.com/
  
  
   --
   ___
   enlightenment-devel mailing list
   enlightenment-devel@lists.sourceforge.net
   https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
  
  --
  ___
  enlightenment-devel mailing list
  enlightenment-devel@lists.sourceforge.net
  https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
  
 
 
 -- 
 Technical Blog http://andreasvolz.wordpress.com/
 
 --
 ___
 enlightenment-devel mailing list
 enlightenment-devel@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
 


-- 
Technical Blog http://andreasvolz.wordpress.com/

--
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


[EGIT] [bindings/cxx/eflxx] master 305/314: compile against API rename

2013-12-30 Thread Andreas Volz
tasn pushed a commit to branch master.

http://git.enlightenment.org/bindings/cxx/eflxx.git/commit/?id=617b0b391fcfbb681ca3959a7522903221296246

commit 617b0b391fcfbb681ca3959a7522903221296246
Author: Andreas Volz li...@brachttal.net
Date:   Sun Nov 25 21:35:00 2012 +

compile against API rename


SVN revision: 79659
---
 eflxx_examples/src/elementaryxx/external/main.cpp | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/eflxx_examples/src/elementaryxx/external/main.cpp 
b/eflxx_examples/src/elementaryxx/external/main.cpp
index ee70654..f7c268d 100644
--- a/eflxx_examples/src/elementaryxx/external/main.cpp
+++ b/eflxx_examples/src/elementaryxx/external/main.cpp
@@ -127,17 +127,17 @@ int main (int argc, char **argv)
 cerr  pne.what ()  endl;
   }
 
-  bg-setWeightHintSize (1.0, 1.0);
+  bg-setSizeHintWeight (1.0, 1.0);
   elmWin-addResizeObject (*bg);
 
   /* set size hints. a minimum size for the bg. this should propagate back
* to the window thus limiting its size based off the bg as the bg is one
* of the window's resize objects. */
-  bg-setMinHintSize (Size (160, 160));
+  bg-setSizeHintMin (Size (160, 160));
   /* and set a maximum size. not needed very often. normally used together
* with evas_object_size_hint_min_set() at the same size to make a
* window not resizable */
-  bg-setMaxHintSize (Size (640, 640));
+  bg-setSizeHintMax (Size (640, 640));
 
   elmWin-setTitle (Elementaryxx Simple Example);
 

-- 




[EGIT] [bindings/cxx/eflxx] master 307/314: - add new exception structure - modify Exe to report Exception

2013-12-30 Thread Andreas Volz
tasn pushed a commit to branch master.

http://git.enlightenment.org/bindings/cxx/eflxx.git/commit/?id=2a3a0ae6588be4c25c03f24c0658333bf56f4edc

commit 2a3a0ae6588be4c25c03f24c0658333bf56f4edc
Author: Andreas Volz li...@brachttal.net
Date:   Fri Nov 30 23:55:39 2012 +

- add new exception structure
- modify Exe to report Exception


SVN revision: 79954
---
 ecorexx/include/ecorexx/Ecorexx.h  |  3 ++
 ecorexx/include/ecorexx/Exe.h  |  9 
 ecorexx/include/ecorexx/Job.h  |  1 +
 ecorexx/include/ecorexx/Makefile.am|  3 +-
 .../exception/ProcessNotExistingException.h| 26 ++
 ecorexx/src/Exe.cpp| 56 --
 ecorexx/src/Makefile.am|  3 +-
 .../src/exception/ProcessNotExistingException.cpp  | 25 ++
 ecorexx/src/util.h | 26 ++
 9 files changed, 146 insertions(+), 6 deletions(-)

diff --git a/ecorexx/include/ecorexx/Ecorexx.h 
b/ecorexx/include/ecorexx/Ecorexx.h
index 16f5ffd..d5793d2 100644
--- a/ecorexx/include/ecorexx/Ecorexx.h
+++ b/ecorexx/include/ecorexx/Ecorexx.h
@@ -19,5 +19,8 @@
 #include Job.h
 #include Exe.h
 
+/* exceptions */
+#include exception/ProcessNotExistingException.h
+
 #endif // ECOREXX_H
 
diff --git a/ecorexx/include/ecorexx/Exe.h b/ecorexx/include/ecorexx/Exe.h
index cbb863b..3b183ef 100644
--- a/ecorexx/include/ecorexx/Exe.h
+++ b/ecorexx/include/ecorexx/Exe.h
@@ -4,6 +4,9 @@
 /* EFL */
 #include Ecore.h
 
+/* SIGC */
+#include sigc++/sigc++.h
+
 namespace Ecorexx {
 
 /**
@@ -77,11 +80,17 @@ public:
   void signal(int num);
 
   void hup();
+
+  sigc::signal void, Ecore_Exe_Event_Del* signalDelete;
   
 private:  
   Exe(const Exe); // forbid copy constructor
+
+  static Eina_Bool delhandler (void *data, int type, void *event);
   
   Ecore_Exe *mExe;
+
+  pid_t mDeathPid;
 };
 
 } // end namespace Ecorexx
diff --git a/ecorexx/include/ecorexx/Job.h b/ecorexx/include/ecorexx/Job.h
index 3baed5e..1241d70 100644
--- a/ecorexx/include/ecorexx/Job.h
+++ b/ecorexx/include/ecorexx/Job.h
@@ -4,6 +4,7 @@
 /* EFL */
 #include Ecore.h
 
+/* SIGC */
 #include sigc++/sigc++.h
 
 namespace Ecorexx {
diff --git a/ecorexx/include/ecorexx/Makefile.am 
b/ecorexx/include/ecorexx/Makefile.am
index 3f3ec0d..f9c6c4e 100644
--- a/ecorexx/include/ecorexx/Makefile.am
+++ b/ecorexx/include/ecorexx/Makefile.am
@@ -11,7 +11,8 @@ libecorexx_HEADERS = \
EvasWindowGLX11.h \
EvasWindowSoftwareX11.h \
EvasWindowXRenderX11.h \
-   Exe.h
+   Exe.h \
+   exception/ProcessNotExistingException.h
 
 libecorexxdir = \
$(pkgincludedir)
diff --git a/ecorexx/include/ecorexx/exception/ProcessNotExistingException.h 
b/ecorexx/include/ecorexx/exception/ProcessNotExistingException.h
new file mode 100644
index 000..a8cf372
--- /dev/null
+++ b/ecorexx/include/ecorexx/exception/ProcessNotExistingException.h
@@ -0,0 +1,26 @@
+#ifndef PROCESS_NOT_EXISTING_EXCEPTION_H
+#define PROCESS_NOT_EXISTING_EXCEPTION_H
+
+#include exception
+
+#include Ecore.h
+
+namespace Ecorexx {
+
+class ProcessNotExistingException : public std::exception
+{
+public:
+  ProcessNotExistingException(pid_t pid) : mPid(pid) {}
+
+  virtual ~ProcessNotExistingException() throw() {}
+
+  const char *what() const throw();
+
+private:
+  pid_t mPid;
+};
+
+} // end namespace Ecorexx
+
+#endif // PROCESS_NOT_EXISTING_EXCEPTION_H
+
diff --git a/ecorexx/src/Exe.cpp b/ecorexx/src/Exe.cpp
index dffbbea..b8ce448 100644
--- a/ecorexx/src/Exe.cpp
+++ b/ecorexx/src/Exe.cpp
@@ -5,29 +5,69 @@
 /* STL */
 #include string
 #include cassert
+#include iostream
 
 #include ecorexx/Exe.h
+#include ecorexx/exception/ProcessNotExistingException.h
+
+using namespace std;
 
 namespace Ecorexx {
 
-Exe::Exe(const std::string exe_cmd, const void *data)
+static Ecore_Event_Handler *gDelHandler = NULL;
+static unsigned int gExeRunning = 0;
+
+Exe::Exe(const std::string exe_cmd, const void *data) :
+  mDeathPid(0)
 {
-  mExe = ecore_exe_run(exe_cmd.c_str(), data);
+  if (gExeRunning == 0)
+  {
+gDelHandler = ecore_event_handler_add(ECORE_EXE_EVENT_DEL, 
Exe::delhandler, this);
+  }
+  ++gExeRunning;
+  
+  mExe = ecore_exe_run(exe_cmd.c_str(), data); 
 }
 
-Exe::Exe(const std::string exe_cmd, Ecore_Exe_Flags flags, const void *data)
-{
+Exe::Exe(const std::string exe_cmd, Ecore_Exe_Flags flags, const void *data) :
+  mDeathPid(0)
+{  
+  if (gExeRunning == 0)
+  {
+gDelHandler = ecore_event_handler_add(ECORE_EXE_EVENT_DEL, 
Exe::delhandler, this);
+  }
+  gExeRunning++;
+  
   mExe = ecore_exe_pipe_run(exe_cmd.c_str(), flags, data);
 }
 
 Exe::~Exe()
 {
+  if (gExeRunning == 1)
+  {
+ecore_event_handler_del(gDelHandler);
+  }
+  
   if(mExe)
   {
 ecore_exe_free(mExe);
   }
+
+  --gExeRunning;
 }
+
+Eina_Bool Exe::delhandler (void *data, int type, void *event)
+{
+  Exe *exe

[EGIT] [bindings/cxx/eflxx] master 190/314: build external example Makefiles

2013-12-30 Thread Andreas Volz
tasn pushed a commit to branch master.

http://git.enlightenment.org/bindings/cxx/eflxx.git/commit/?id=a9fe01720ef38936f7d70fa3d1f4ad0067e7beac

commit a9fe01720ef38936f7d70fa3d1f4ad0067e7beac
Author: Andreas Volz li...@brachttal.net
Date:   Wed Nov 17 22:15:04 2010 +

build external example Makefiles

SVN revision: 54661
---
 eflxx_examples/configure.ac | 1 +
 1 file changed, 1 insertion(+)

diff --git a/eflxx_examples/configure.ac b/eflxx_examples/configure.ac
index f433b08..c1e14dd 100644
--- a/eflxx_examples/configure.ac
+++ b/eflxx_examples/configure.ac
@@ -132,6 +132,7 @@ src/emotionxx/audio/Makefile
 src/elementaryxx/Makefile
 src/elementaryxx/simple/Makefile
 src/elementaryxx/full/Makefile
+src/elementaryxx/external/Makefile
 src/einaxx/Makefile
 src/einaxx/list/Makefile
 src/debug/Makefile

-- 




[EGIT] [bindings/cxx/eflxx] master 63/314: fixed elementaryxx problem (NULL string construction) more examples working

2013-12-30 Thread Andreas Volz
tasn pushed a commit to branch master.

http://git.enlightenment.org/bindings/cxx/eflxx.git/commit/?id=2502006ae6e03012fbfd64a7145fb640ca48f57a

commit 2502006ae6e03012fbfd64a7145fb640ca48f57a
Author: Andreas Volz li...@brachttal.net
Date:   Sat Oct 10 15:01:14 2009 +

fixed elementaryxx problem (NULL string construction)
more examples working


SVN revision: 43003
---
 eflxx_examples/src/elementaryxx/full/main.cpp | 390 +-
 elementaryxx/src/ElmEntry.cpp |  12 +-
 2 files changed, 202 insertions(+), 200 deletions(-)

diff --git a/eflxx_examples/src/elementaryxx/full/main.cpp 
b/eflxx_examples/src/elementaryxx/full/main.cpp
index 8a947c4..f844090 100644
--- a/eflxx_examples/src/elementaryxx/full/main.cpp
+++ b/eflxx_examples/src/elementaryxx/full/main.cpp
@@ -606,242 +606,240 @@ my_bt_12(void *data, Evas_Object *obj, void *event_info)
   win-show ();
 }
 
-#if 0
+//
 
 static void
-my_entry_bt_1(void *data, Evas_Object *obj, void *event_info)
+my_entry_bt_1(Evas_Object *obj, void *event_info, ElmEntry *en)
 {
-  Evas_Object *en = data;
-  elm_entry_entry_set(en, );
+  en-setText ();
 }
 
 static void
-my_entry_bt_2(void *data, Evas_Object *obj, void *event_info)
+my_entry_bt_2(Evas_Object *obj, void *event_info, ElmEntry *en)
 {
-  Evas_Object *en = data;
-  const char *s = elm_entry_entry_get(en);
-  printf(ENTRY:\n);
-  if (s) printf(%s\n, s);
+  const string s = en-getText ();
+  cout  ENTRY:   s  endl;
 }
 
 static void
-my_entry_bt_3(void *data, Evas_Object *obj, void *event_info)
+my_entry_bt_3(Evas_Object *obj, void *event_info, ElmEntry *en)
 {
-  Evas_Object *en = data;
-  const char *s = elm_entry_selection_get(en);
-  printf(SELECTION:\n);
-  if (s) printf(%s\n, s);
+  const string s = en-getSelection ();
+  cout  SELECTION:   s  endl;
 }
 
 static void
-my_entry_bt_4(void *data, Evas_Object *obj, void *event_info)
+my_entry_bt_4(Evas_Object *obj, void *event_info, ElmEntry *en)
 {
-  Evas_Object *en = data;
-  elm_entry_entry_insert(en, Insert some bBOLD/ text);
+  en-insertText (Insert some bBOLD/ text);
 }
 
 static void
 my_bt_13(void *data, Evas_Object *obj, void *event_info)
 {
-  Evas_Object *win, *bg, *bx, *bx2, *bt, *en;
-  char buf[PATH_MAX];
-
-  win = elm_win_add(NULL, entry, ELM_WIN_BASIC);
-  elm_win_title_set(win, Entry);
-  elm_win_autodel_set(win, 1);
-
-  bg = elm_bg_add(win);
-  elm_win_resize_object_add(win, bg);
-  evas_object_size_hint_weight_set(bg, 1.0, 1.0);
-  evas_object_show(bg);
-
-  bx = elm_box_add(win);
-  evas_object_size_hint_weight_set(bx, 1.0, 1.0);
-  elm_win_resize_object_add(win, bx);
-  evas_object_show(bx);
-
-  en = elm_entry_add(win);
-  elm_entry_line_wrap_set(en, 0);
-  elm_entry_entry_set(en,
-  This is an entry widget in this window thatbr
-  uses markup blike this/ for styling andbr
-  formatting emlike this/, as well asbr
-  a href=Xlinklinks in the text//a, so enter 
textbr
-  in here to edit it. By the way, links arebr
-  called a href=anc-02Anchors/a so you will needbr
-  to refer to them this way.);
-  evas_object_size_hint_weight_set(en, 1.0, 1.0);
-  evas_object_size_hint_align_set(en, -1.0, -1.0);
-  elm_box_pack_end(bx, en);
-  evas_object_show(en);
+  ElmButton *bt = NULL;
+  
+  ElmWindow *win = ElmWindow::factory (entry, ELM_WIN_BASIC);
+  win-setTitle (Entry);
+  win-setAutoDel (true);
+  
+  ElmBackground *bg = ElmBackground::factory (*win);
+  win-addObjectResize (*bg);
+  bg-setWeightHintSize (1.0, 1.0);
+  bg-show ();
+  
+  ElmBox *bx = ElmBox::factory (*win);
+  bx-setWeightHintSize (1.0, 1.0);
+  win-addObjectResize (*bx);
+  bx-show ();
 
-  bx2 = elm_box_add(win);
-  elm_box_horizontal_set(bx2, 1);
-  evas_object_size_hint_weight_set(bx2, 1.0, 0.0);
-  evas_object_size_hint_align_set(bx2, -1.0, -1.0);
+  ElmEntry *en  = ElmEntry::factory (*win);
+  en-setLineWrap (false);
+  en-setText (This is an entry widget in this window thatbr
+   uses markup blike this/ for styling andbr
+   formatting emlike this/, as well asbr
+   a href=Xlinklinks in the text//a, so enter textbr
+   in here to edit it. By the way, links arebr
+   called a href=anc-02Anchors/a so you will needbr
+   to refer to them this way.);
+
+  en-setWeightHintSize (1.0, 1.0);
+  en-setAlignHintSize (-1.0, -1.0);
+  bx-packEnd (*en);
+  en-show ();
+
+  ElmBox *bx2 = ElmBox::factory (*win);
+  bx2-setHorizontal (true);
+  bx2-setWeightHintSize (1.0, 1.0);
+  bx2-setAlignHintSize (-1.0, -1.0);
 
-  bt = elm_button_add(win);
-  elm_button_label_set(bt, Clear);
-  evas_object_smart_callback_add(bt, clicked, my_entry_bt_1, en);
-  evas_object_size_hint_align_set(bt, -1.0, -1.0);
-  evas_object_size_hint_weight_set(bt, 1.0, 0.0);
-  elm_box_pack_end(bx2, bt);
-  evas_object_show(bt);
+  bt

[EGIT] [bindings/cxx/eflxx] master 188/314: changed existing full and simple examples to follow C API changed and C++ wrapper

2013-12-30 Thread Andreas Volz
tasn pushed a commit to branch master.

http://git.enlightenment.org/bindings/cxx/eflxx.git/commit/?id=d10df6846865b5faeba29120a13cbfb26c39dccc

commit d10df6846865b5faeba29120a13cbfb26c39dccc
Author: Andreas Volz li...@brachttal.net
Date:   Wed Nov 17 22:13:40 2010 +

changed existing full and simple examples to follow C API changed and C++ 
wrapper

SVN revision: 54659
---
 eflxx_examples/src/elementaryxx/full/Makefile.am   |  1 -
 eflxx_examples/src/elementaryxx/full/main.cpp  |  4 -
 .../src/elementaryxx/full/test_notepad.cpp | 95 --
 eflxx_examples/src/elementaryxx/simple/Makefile.am |  2 +-
 4 files changed, 1 insertion(+), 101 deletions(-)

diff --git a/eflxx_examples/src/elementaryxx/full/Makefile.am 
b/eflxx_examples/src/elementaryxx/full/Makefile.am
index 43862fd..225443f 100644
--- a/eflxx_examples/src/elementaryxx/full/Makefile.am
+++ b/eflxx_examples/src/elementaryxx/full/Makefile.am
@@ -13,7 +13,6 @@ elementaryxx_example_full_SOURCES = \
test_hover.cpp   \
test_icon.cpp   \
test_layout.cpp   \
-   test_notepad.cpp   \
test_table.cpp   \
test_toggle.cpp   \
test_slider.cpp   \
diff --git a/eflxx_examples/src/elementaryxx/full/main.cpp 
b/eflxx_examples/src/elementaryxx/full/main.cpp
index 9bb40ec..10cb208 100644
--- a/eflxx_examples/src/elementaryxx/full/main.cpp
+++ b/eflxx_examples/src/elementaryxx/full/main.cpp
@@ -4,8 +4,6 @@
 
 #include test.h
 
-
-
 #ifndef ELM_LIB_QUICKLAUNCH
 static void my_win_del(Evasxx::Object obj, void *event_info);
 static void my_win_main(void);
@@ -24,7 +22,6 @@ void test_hover (void *data, Evas_Object *obj, void 
*event_info);
 void test_hover2 (void *data, Evas_Object *obj, void *event_info);
 void test_entry (void *data, Evas_Object *obj, void *event_info);
 void test_entry_scolled (void *data, Evas_Object *obj, void *event_info);
-void test_notepad (void *data, Evas_Object *obj, void *event_info);
 void test_check (void *data, Evas_Object *obj, void *event_info);
 void test_radio (void *data, Evas_Object *obj, void *event_info);
 //
@@ -170,7 +167,6 @@ int main (int argc, char **argv)
   li-append (Hover 2, test_hover2, NULL);
   li-append (Entry, test_entry, NULL);
   li-append (Entry Scrolled, test_entry_scolled, NULL);
-  li-append (Notepad, test_notepad, NULL);
   /*li.append(Anchorview, NULL, NULL, my_bt_16, NULL);
   li.append(Anchorblock, NULL, NULL, my_bt_17, NULL);
   li.append(Toolbar, NULL, NULL, my_bt_18, NULL);
diff --git a/eflxx_examples/src/elementaryxx/full/test_notepad.cpp 
b/eflxx_examples/src/elementaryxx/full/test_notepad.cpp
deleted file mode 100644
index 6742301..000
--- a/eflxx_examples/src/elementaryxx/full/test_notepad.cpp
+++ /dev/null
@@ -1,95 +0,0 @@
-#include test.h
-
-
-
-static void my_notepad_bt_1 (Evasxx::Object obj, void *event_info, Notepad 
*np)
-{
-  // TODO
-}
-
-static void my_notepad_bt_2 (Evasxx::Object obj, void *event_info, Notepad 
*np)
-{
-  // TODO
-}
-
-static void my_notepad_bt_3 (Evasxx::Object obj, void *event_info, Notepad 
*np)
-{
-  // TODO
-}
-
-void test_notepad (void *data, Evas_Object *obj, void *event_info)
-{
-  Button *bt = NULL;
-  Icon *ic = NULL;
-  
-  Window *win = Window::factory (notepad, ELM_WIN_BASIC);
-  win-setTitle (Notepad);
-  win-setAutoDel (true);
-  
-  Background *bg = Background::factory (*win);
-  win-addObjectResize (*bg);
-  bg-setWeightHintSize (EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-  bg-show ();
-  
-  Box *bx = Box::factory (*win);
-  bx-setWeightHintSize (EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-  win-addObjectResize (*bx);
-  bx-show ();
-
-  Notepad *np = Notepad::factory (*win);
-  np-setFile (note.txt, ELM_TEXT_FORMAT_PLAIN_UTF8);
-  np-setWeightHintSize (EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-  np-setAlignHintSize (EVAS_HINT_FILL, EVAS_HINT_FILL);
-  bx-packEnd (*np);
-  np-show ();
-
-  Box *bx2 = Box::factory (*win);
-  bx2-setOrientation (Box::Horizontal);
-  bx2-setHomogenous (true);
-  bx2-setWeightHintSize (EVAS_HINT_EXPAND, 0.0);
-  bx2-setAlignHintSize (EVAS_HINT_FILL, EVAS_HINT_FILL);
-
-  bt = Button::factory (*win);
-  ic = Icon::factory (*win);
-  ic-setStandard (arrow_left);
-  ic-setScale (true, false);
-  bt-setIcon (*ic);
-  ic-show ();
-  bt-getEventSignal (clicked)-connect (sigc::bind (sigc::ptr_fun 
(my_notepad_bt_1), np));
-  bt-setAlignHintSize (EVAS_HINT_FILL, EVAS_HINT_FILL);
-  bt-setWeightHintSize (EVAS_HINT_EXPAND, 0.0);
-  bx2-packEnd (*bt);
-  bt-show ();
-
-  bt = Button::factory (*win);
-  ic = Icon::factory (*win);
-  ic-setStandard (close);
-  ic-setScale (true, false);
-  bt-setIcon (*ic);
-  ic-show ();
-  bt-getEventSignal (clicked)-connect (sigc::bind (sigc::ptr_fun 
(my_notepad_bt_2), np));
-  bt-setAlignHintSize (EVAS_HINT_FILL, EVAS_HINT_FILL);
-  bt-setWeightHintSize (EVAS_HINT_EXPAND, 0.0);
-  bx2-packEnd (*bt);
-  bt

[EGIT] [bindings/cxx/eflxx] master 09/314: removed old code

2013-12-30 Thread Andreas Volz
tasn pushed a commit to branch master.

http://git.enlightenment.org/bindings/cxx/eflxx.git/commit/?id=07b33d3220f43a01ce93ddedeb76bedeed47523e

commit 07b33d3220f43a01ce93ddedeb76bedeed47523e
Author: Andreas Volz li...@brachttal.net
Date:   Sun Dec 7 22:59:24 2008 +

removed old code

SVN revision: 38005
---
 src/evas/eflpp_evas.cpp | 96 -
 src/evas/eflpp_evas.h   | 20 +--
 2 files changed, 1 insertion(+), 115 deletions(-)

diff --git a/src/evas/eflpp_evas.cpp b/src/evas/eflpp_evas.cpp
index ee040f0..9e31292 100644
--- a/src/evas/eflpp_evas.cpp
+++ b/src/evas/eflpp_evas.cpp
@@ -404,102 +404,6 @@ bool EvasObject::hasFocus() const
 return evas_object_focus_get( o );
 }
 
-/*bool EvasObject::handleMouseIn( const EvasMouseInEvent e )
-{
-Dout( dc::notice, *this   handleMouseIn );
-return false;
-}
-
-bool EvasObject::handleMouseOut( const EvasMouseOutEvent e )
-{
-Dout( dc::notice, *this   handleMouseOut );
-return false;
-}
-
-bool EvasObject::handleMouseDown( const EvasMouseDownEvent e )
-{
-Dout( dc::notice, *this   handleMouseDown );
-return false;
-}
-
-bool EvasObject::handleMouseUp( const EvasMouseUpEvent e )
-{
-Dout( dc::notice, *this   handleMouseUp );
-return false;
-}
-
-bool EvasObject::handleMouseMove( const EvasMouseMoveEvent e )
-{
-Dout( dc::notice, *this   handleMouseMove );
-return false;
-}
-
-bool EvasObject::handleMouseWheel( const EvasMouseWheelEvent e )
-{
-Dout( dc::notice, *this   handleMouseWheel );
-return false;
-}
-
-bool EvasObject::handleFree()
-{
-Dout( dc::notice, *this   handleFree );
-return false;
-}
-
-bool EvasObject::handleKeyDown( const EvasKeyDownEvent e )
-{
-Dout( dc::notice, *this   handleKeyDown );
-return false;
-}
-
-bool EvasObject::handleKeyUp( const EvasKeyUpEvent e )
-{
-Dout( dc::notice, *this   handleKeyUp );
-return false;
-}
-
-bool EvasObject::handleFocusIn()
-{
-Dout( dc::notice, *this   handleFocusIn );
-return false;
-}
-
-bool EvasObject::handleFocusOut()
-{
-Dout( dc::notice, *this   handleFocusIn );
-return false;
-}
-
-bool EvasObject::handleShow()
-{
-Dout( dc::notice, *this   handleShow );
-return false;
-}
-
-bool EvasObject::handleHide()
-{
-Dout( dc::notice, *this   handleMouseIn );
-return false;
-}
-
-bool EvasObject::handleMove()
-{
-Dout( dc::notice, *this   handleMove );
-return false;
-}
-
-bool EvasObject::handleResize()
-{
-Dout( dc::notice, *this   handleResize );
-return false;
-}
-
-bool EvasObject::handleRestack()
-{
-Dout( dc::notice, *this   handleRestack );
-return false;
-}*/
-
 EvasObject* EvasObject::objectLink( Evas_Object* evas_object )
 {
 return static_castEvasObject*( evas_object_data_get( evas_object, 
obj_c++ ) );
diff --git a/src/evas/eflpp_evas.h b/src/evas/eflpp_evas.h
index 09f26ca..5e92341 100644
--- a/src/evas/eflpp_evas.h
+++ b/src/evas/eflpp_evas.h
@@ -122,7 +122,7 @@ class EvasObject
 Evas_Object* obj() const { return o; };
 EvasCanvas* canvas() const { return _canvas; }; // FIXME: Rename to 
parent() ?
 
-// event signals
+/* event signals */
 sigc::signal bool, const EvasMouseInEvent signalHandleMouseIn;
 sigc::signal bool, const EvasMouseOutEvent signalHandleMouseOut;
 sigc::signal bool, const EvasMouseDownEvent signalHandleMouseDown;
@@ -191,24 +191,6 @@ class EvasObject
 virtual void setFocus( bool focus );
 virtual bool hasFocus() const;
 
-/* Events */
-/*virtual bool handleMouseIn( const EvasMouseInEvent );
-virtual bool handleMouseOut( const EvasMouseOutEvent );
-virtual bool handleMouseDown( const EvasMouseDownEvent );
-virtual bool handleMouseUp( const EvasMouseUpEvent );
-virtual bool handleMouseMove( const EvasMouseMoveEvent );
-virtual bool handleMouseWheel( const EvasMouseWheelEvent );
-virtual bool handleFree();
-virtual bool handleKeyDown( const EvasKeyDownEvent );
-virtual bool handleKeyUp( const EvasKeyUpEvent );
-virtual bool handleFocusIn();
-virtual bool handleFocusOut();
-virtual bool handleShow();
-virtual bool handleHide();
-virtual bool handleMove();
-virtual bool handleResize();
-virtual bool handleRestack();*/
-
   private:
 static EvasObject* objectLink( Evas_Object* evas_object = 0 );
 void registerCallbacks();

-- 




[EGIT] [bindings/cxx/eflxx] master 238/314: wrap some more of elementary API to C++ wrapper

2013-12-30 Thread Andreas Volz
tasn pushed a commit to branch master.

http://git.enlightenment.org/bindings/cxx/eflxx.git/commit/?id=51245f4cda60993b89d9750931b7db8158bf85c8

commit 51245f4cda60993b89d9750931b7db8158bf85c8
Author: Andreas Volz li...@brachttal.net
Date:   Sun Feb 5 21:00:31 2012 +

wrap some more of elementary API to C++ wrapper


SVN revision: 67704
---
 eflxx_examples/src/elementaryxx/external/main.cpp |   2 +-
 eflxx_examples/src/elementaryxx/full/main.cpp |   2 +-
 eflxx_examples/src/elementaryxx/simple/main.cpp   |   2 +-
 elementaryxx/include/elementaryxx/Application.h   |   2 +-
 elementaryxx/include/elementaryxx/Background.h| 102 +-
 elementaryxx/src/Application.cpp  |   8 +-
 elementaryxx/src/Background.cpp   |  32 ++-
 elementaryxx/src/Object.cpp   |   1 +
 8 files changed, 139 insertions(+), 12 deletions(-)

diff --git a/eflxx_examples/src/elementaryxx/external/main.cpp 
b/eflxx_examples/src/elementaryxx/external/main.cpp
index 91dd3ce..8680bfd 100644
--- a/eflxx_examples/src/elementaryxx/external/main.cpp
+++ b/eflxx_examples/src/elementaryxx/external/main.cpp
@@ -26,7 +26,7 @@ static void testFunc (Evasxx::Object obj, void *event_info)
   cout  sub-object-del  endl;
 }
 
-int main (int argc, const char **argv)
+int main (int argc, char **argv)
 {
   Application elmApp (argc, argv);
 
diff --git a/eflxx_examples/src/elementaryxx/full/main.cpp 
b/eflxx_examples/src/elementaryxx/full/main.cpp
index 7b0bff4..9832b5d 100644
--- a/eflxx_examples/src/elementaryxx/full/main.cpp
+++ b/eflxx_examples/src/elementaryxx/full/main.cpp
@@ -77,7 +77,7 @@ my_win_del (Evasxx::Object obj, void *event_info)
 
 #endif // ELM_LIB_QUICKLAUNCH
 
-int main (int argc, const char **argv)
+int main (int argc, char **argv)
 {
   elmApp = new Application (argc, argv);
 
diff --git a/eflxx_examples/src/elementaryxx/simple/main.cpp 
b/eflxx_examples/src/elementaryxx/simple/main.cpp
index 3a9e7e2..1cd6a6a 100644
--- a/eflxx_examples/src/elementaryxx/simple/main.cpp
+++ b/eflxx_examples/src/elementaryxx/simple/main.cpp
@@ -22,7 +22,7 @@ static void testFunc (Evasxx::Object obj, void *event_info)
   cout  sub-object-del  endl;
 }
 
-int main (int argc, const char **argv)
+int main (int argc, char **argv)
 {
   Application elmApp (argc, argv);
 
diff --git a/elementaryxx/include/elementaryxx/Application.h 
b/elementaryxx/include/elementaryxx/Application.h
index 6617407..9cad094 100644
--- a/elementaryxx/include/elementaryxx/Application.h
+++ b/elementaryxx/include/elementaryxx/Application.h
@@ -11,7 +11,7 @@ namespace Elmxx {
 class Application
 {
 public:
-  Application (int argc, const char **argv);
+  Application (int argc, char **argv);
   virtual ~Application ();
 
   static void run ();
diff --git a/elementaryxx/include/elementaryxx/Background.h 
b/elementaryxx/include/elementaryxx/Background.h
index 7b00cea..1f72f08 100644
--- a/elementaryxx/include/elementaryxx/Background.h
+++ b/elementaryxx/include/elementaryxx/Background.h
@@ -13,14 +13,108 @@ class Background : public Object
 {
 public:
   static Background *factory (Evasxx::Object parent);
-  
+
+  /**
+   * Set the image file used for the background
+   *
+   * This sets the image file used in the background object. The image
+   * will be stretched (retaining aspect if its an image file) to completely 
fill
+   * the bg object. This may mean some parts are not visible.
+   * 
+   * @note  Once the image of @p obj is set, a previously set one will be 
deleted,
+   * even if @p file is empty.
+   * 
+   * @ingroup Background
+   */
   void setFile (const std::string file);
   
-  /*!
-   * FIXME: do bool return here? 
-   * @see Image::setFile
+  /**
+   * Set the edje file/group used for the background
+   * 
+   * This sets the image file used in the background object. The edje
+   * will be stretched (retaining aspect if its an image file) to completely 
fill
+   * the bg object. This may mean some parts are not visible.
+   * 
+   * @note  Once the image of @p obj is set, a previously set one will be 
deleted,
+   * even if @p file is empty.
+   * 
+   * @ingroup Background
*/
   void setFile (const std::string file, const std::string group);
+
+#if 0
+/** // TODO
+ * Get the file (image or edje) used for the background
+ *
+ * @param obj The bg object
+ * @param file The file path
+ * @param group Optional key (group in Edje) within the file
+ *
+ * @ingroup @ingroup Background
+ */
+EAPI void elm_bg_file_get(const Evas_Object *obj, 
const char **file, const char **group);
+#endif
+  
+  /**
+   * Set the option used for the background image
+   *
+   * @param option The desired background option (TILE, SCALE)
+   *
+   * This sets the option used for manipulating the display of the background
+   * image. The image can be tiled or scaled.
+   *
+   * @ingroup Background
+   */
+  void setOption(Elm_Bg_Option option);
+
+  /**
+   * Get

[EGIT] [bindings/cxx/eflxx] master 127/314: sigc usage son't close window by default for delete request (dangerous!)

2013-12-30 Thread Andreas Volz
tasn pushed a commit to branch master.

http://git.enlightenment.org/bindings/cxx/eflxx.git/commit/?id=26d752383e5562bdb8a4ffd934f4c8e2040abcf3

commit 26d752383e5562bdb8a4ffd934f4c8e2040abcf3
Author: Andreas Volz li...@brachttal.net
Date:   Sat Apr 24 21:48:43 2010 +

sigc usage
son't close window by default for delete request (dangerous!)


SVN revision: 48290
---
 ecorexx/include/ecorexx/EvasWindow.h | 51 
 ecorexx/src/EvasWindow.cpp   | 25 +-
 2 files changed, 53 insertions(+), 23 deletions(-)

diff --git a/ecorexx/include/ecorexx/EvasWindow.h 
b/ecorexx/include/ecorexx/EvasWindow.h
index ec8e90d..5a6d226 100644
--- a/ecorexx/include/ecorexx/EvasWindow.h
+++ b/ecorexx/include/ecorexx/EvasWindow.h
@@ -45,24 +45,12 @@ public:
 
   /* Events */
   void setEventEnabled( Event, bool );
-  virtual void resizeEvent();
-  virtual void moveEvent();
-  virtual void showEvent();
-  virtual void hideEvent();
-  virtual void deleteRequestEvent();
-  virtual void destroyEvent();
-  virtual void focusInEvent();
-  virtual void focusOutEvent();
-  virtual void mouseInEvent();
-  virtual void mouseOutEvent();
-  virtual void preRenderEvent();
-  virtual void postRenderEvent();
 
   /*!
-   * \return A boolean specifying whether the window should be closed upon a 
delete request or not.
-   * The default implementation returns true.
+   * \param quit A boolean specifying whether the app should be quit upon a 
delete request or not.
+   * default is false
*/
-  virtual bool canClose() const;
+  bool quitOnDelete (bool quit);
 
   static bool isEngineTypeSupported (EngineType et);
 
@@ -102,7 +90,7 @@ public:
 
   void setCursor( const char* file, int layer, int hot_x, int hot_y );
   // voidecore_evas_cursor_get(Ecore_Evas *ee, char **file, int 
*layer, int *hot_x, int *hot_y);
-
+  
   void setLayer( int layer );
   int getLayer() const;
 
@@ -132,7 +120,34 @@ public:
 
   void setSticky( int on );
   int isSticky() const;
-
+  
+  // event callbacks
+  void resizeEvent();
+  void moveEvent();
+  void showEvent();
+  void hideEvent();
+  void deleteRequestEvent();
+  void destroyEvent();
+  void focusInEvent();
+  void focusOutEvent();
+  void mouseInEvent();
+  void mouseOutEvent();
+  void preRenderEvent();
+  void postRenderEvent();
+
+  sigc::signal void, const EvasWindow resizeSignal;
+  sigc::signal void, const EvasWindow moveSignal;
+  sigc::signal void, const EvasWindow showSignal;
+  sigc::signal void, const EvasWindow hideSignal;
+  sigc::signal void, const EvasWindow deleteRequestSignal;
+  sigc::signal void, const EvasWindow destroySignal;
+  sigc::signal void, const EvasWindow focusInSignal;
+  sigc::signal void, const EvasWindow focusOutSignal;
+  sigc::signal void, const EvasWindow mouseInSignal;
+  sigc::signal void, const EvasWindow mouseOutSignal;
+  sigc::signal void, const EvasWindow preRenderSignal;
+  sigc::signal void, const EvasWindow postRenderSignal;
+  
 protected:
   Evasxx::Canvas *_canvas;
   Ecore_Evas *_ee;
@@ -143,6 +158,8 @@ protected:
 private:
   bool operator=( const EvasWindow );
   bool operator==( const EvasWindow );
+  
+  bool mQuit;
 };
 
 class EvasWindowSoftwareX11 : public EvasWindow
diff --git a/ecorexx/src/EvasWindow.cpp b/ecorexx/src/EvasWindow.cpp
index f5cc959..1588f18 100644
--- a/ecorexx/src/EvasWindow.cpp
+++ b/ecorexx/src/EvasWindow.cpp
@@ -40,8 +40,9 @@ ECORE_EVAS_CALLBACK( callback_mouse_out_dispatcher, 
mouseOutEvent )
 ECORE_EVAS_CALLBACK( callback_pre_render_dispatcher, preRenderEvent )
 ECORE_EVAS_CALLBACK( callback_post_render_dispatcher, postRenderEvent )
 
-EvasWindow::EvasWindow()
-:Trackable( EvasWindow )
+EvasWindow::EvasWindow() :
+  Trackable (EvasWindow),
+  mQuit (false)
 {
   // initialize the Evas backend
   ecore_evas_init ();
@@ -120,64 +121,76 @@ void EvasWindow::resizeEvent()
   Dout( dc::notice,  - evas viewport size =   _canvas-viewport() );
   Dout( dc::notice,  - evas output   size =   _canvas-size() );
   //FIXME: Resize manually if not fullscreen
+  
+  resizeSignal.emit (*this);
 }
 
 void EvasWindow::moveEvent()
 {
   Dout( dc::notice, EvasWindow::moveEvent() );
+  moveSignal.emit (*this);
 }
 
 void EvasWindow::showEvent()
 {
   Dout( dc::notice, EvasWindow::showEvent() );
+  showSignal.emit (*this);
 }
 
 void EvasWindow::hideEvent()
 {
   Dout( dc::notice, EvasWindow::hideEvent() );
+  hideSignal.emit (*this);
 }
 
 
 void EvasWindow::deleteRequestEvent()
 {
   Dout( dc::notice, EvasWindow::deleteRequestEvent() );
-  if ( canClose() ) Application::quit();
+  if (mQuit) Application::quit();
+  deleteRequestSignal.emit (*this);
 }
 
 void EvasWindow::destroyEvent()
 {
   Dout( dc::notice, EvasWindow::destroyEvent() );
+  destroySignal.emit (*this);
 }
 
-
 void EvasWindow::focusInEvent()
 {
   Dout( dc::notice, EvasWindow::focusInEvent() );
+  focusInSignal.emit (*this);
 }
 
 void EvasWindow::focusOutEvent

[EGIT] [bindings/cxx/eflxx] master 306/314: - add virtual destructor - move contructor and destructor from private to protected to allow child classes in applications

2013-12-30 Thread Andreas Volz
tasn pushed a commit to branch master.

http://git.enlightenment.org/bindings/cxx/eflxx.git/commit/?id=723eb72803bddc2fc0c0f3fc07f8814ebea693cc

commit 723eb72803bddc2fc0c0f3fc07f8814ebea693cc
Author: Andreas Volz li...@brachttal.net
Date:   Sun Nov 25 21:35:42 2012 +

- add virtual destructor
- move contructor and destructor from private to protected to allow child 
classes in applications

SVN revision: 79660
---
 elementaryxx/include/elementaryxx/Background.h  |  8 +++-
 elementaryxx/include/elementaryxx/Box.h | 16 
 elementaryxx/include/elementaryxx/Bubble.h  |  7 +++-
 elementaryxx/include/elementaryxx/Button.h  |  7 +++-
 elementaryxx/include/elementaryxx/Check.h   |  7 +++-
 elementaryxx/include/elementaryxx/Clock.h   |  6 ++-
 elementaryxx/include/elementaryxx/Entry.h   | 12 +++---
 elementaryxx/include/elementaryxx/Frame.h   |  7 +++-
 elementaryxx/include/elementaryxx/Gen.h | 17 +
 elementaryxx/include/elementaryxx/Hover.h   |  7 +++-
 elementaryxx/include/elementaryxx/Icon.h| 51 +++--
 elementaryxx/include/elementaryxx/Image.h   |  6 ++-
 elementaryxx/include/elementaryxx/Label.h   |  8 +++-
 elementaryxx/include/elementaryxx/Layout.h  |  8 ++--
 elementaryxx/include/elementaryxx/List.h|  7 +++-
 elementaryxx/include/elementaryxx/Object.h  | 10 ++---
 elementaryxx/include/elementaryxx/Panel.h   | 14 ---
 elementaryxx/include/elementaryxx/Progressbar.h |  7 +++-
 elementaryxx/include/elementaryxx/Radio.h   |  7 +++-
 elementaryxx/include/elementaryxx/Scroller.h|  7 +++-
 elementaryxx/include/elementaryxx/Separator.h   |  7 +++-
 elementaryxx/include/elementaryxx/Slider.h  |  7 +++-
 elementaryxx/include/elementaryxx/Spinner.h |  7 +++-
 elementaryxx/include/elementaryxx/Table.h   |  7 +++-
 elementaryxx/include/elementaryxx/Window.h  | 26 +
 elementaryxx/src/Icon.cpp   | 12 ++
 26 files changed, 197 insertions(+), 88 deletions(-)

diff --git a/elementaryxx/include/elementaryxx/Background.h 
b/elementaryxx/include/elementaryxx/Background.h
index 1f72f08..5aa36ed 100644
--- a/elementaryxx/include/elementaryxx/Background.h
+++ b/elementaryxx/include/elementaryxx/Background.h
@@ -115,12 +115,16 @@ EAPI void elm_bg_file_get(const 
Evas_Object *obj, const
* @ingroup Background
*/
   void setLoadSize (Eflxx::Size s);
+
+protected:
+  // allow only construction for child classes
+  Background (Evasxx::Object parent); // private construction - use factory 
()
+  
+  virtual ~Background (); // forbid direct delete - use Object::destroy()  
   
 private:
   Background (); // forbid standard constructor
   Background (const Background); // forbid copy constructor
-  Background (Evasxx::Object parent); // private construction - use factory 
()
-  ~Background (); // forbid direct delete - use Object::destroy()
 };
 
 } // end namespace Elmxx
diff --git a/elementaryxx/include/elementaryxx/Box.h 
b/elementaryxx/include/elementaryxx/Box.h
index feeffb2..5b2a083 100644
--- a/elementaryxx/include/elementaryxx/Box.h
+++ b/elementaryxx/include/elementaryxx/Box.h
@@ -17,13 +17,6 @@ class Box : public Object
 public:
   static Box *factory (Evasxx::Object parent);
   
-private:
-  Box (); // forbid standard constructor
-  Box (const Box); // forbid copy constructor
-  Box (Evasxx::Object parent); // private construction - use factory ()
-  ~Box (); // forbid direct delete - use Object::destroy()
-  
-public:
   enum Orientation
   {
 Horizontal,
@@ -41,6 +34,15 @@ public:
   void packBefore (const Evasxx::Object subobj, const Evasxx::Object before);
   
   void packAfter (const Evasxx::Object subobj, const Evasxx::Object after);
+
+protected:
+  // allow only construction for child classes  
+  Box (Evasxx::Object parent); // private construction - use factory ()  
+  virtual ~Box (); // forbid direct delete - use Object::destroy()
+  
+private:
+  Box (); // forbid standard constructor
+  Box (const Box); // forbid copy constructor
 };
 
 } // end namespace Elmxx
diff --git a/elementaryxx/include/elementaryxx/Bubble.h 
b/elementaryxx/include/elementaryxx/Bubble.h
index 917dea7..4787c97 100644
--- a/elementaryxx/include/elementaryxx/Bubble.h
+++ b/elementaryxx/include/elementaryxx/Bubble.h
@@ -18,12 +18,15 @@ public:
   static Bubble *factory (Evasxx::Object parent);
   
   void setCorner (const std::string corner);
+
+protected:
+  // allow only construction for child classes
+  Bubble (Evasxx::Object parent); // private construction - use factory ()
+  virtual ~Bubble (); // forbid direct delete - use Object::destroy()  
   
 private:
   Bubble (); // forbid standard constructor
   Bubble (const Bubble); // forbid copy constructor
-  Bubble (Evasxx::Object parent); // private construction - use factory ()
-  ~Bubble (); // forbid direct delete - use Object::destroy()
 };
 
 } // end

[EGIT] [bindings/cxx/eflxx] master 269/314: compile against current elmxx API

2013-12-30 Thread Andreas Volz
tasn pushed a commit to branch master.

http://git.enlightenment.org/bindings/cxx/eflxx.git/commit/?id=614624a4604753a436a33084d6c6b3f9ac44c56f

commit 614624a4604753a436a33084d6c6b3f9ac44c56f
Author: Andreas Volz li...@brachttal.net
Date:   Wed Mar 14 22:19:42 2012 +

compile against current elmxx API

SVN revision: 69347
---
 eflxx_examples/src/elementaryxx/external/main.cpp  |  2 +-
 eflxx_examples/src/elementaryxx/full/test_box.cpp  | 12 ++---
 .../src/elementaryxx/full/test_button.cpp  | 22 
 .../src/elementaryxx/full/test_check.cpp   | 20 
 .../src/elementaryxx/full/test_entry.cpp   | 16 +++---
 .../src/elementaryxx/full/test_genlist.cpp | 60 +++---
 .../src/elementaryxx/full/test_hover.cpp   | 56 ++--
 eflxx_examples/src/elementaryxx/full/test_icon.cpp |  2 +-
 .../src/elementaryxx/full/test_layout.cpp  |  6 +--
 .../src/elementaryxx/full/test_progressbar.cpp |  4 +-
 .../src/elementaryxx/full/test_radio.cpp   | 22 
 .../src/elementaryxx/full/test_slider.cpp  | 12 ++---
 .../src/elementaryxx/full/test_table.cpp   | 12 ++---
 .../src/elementaryxx/full/test_toggle.cpp  |  4 +-
 eflxx_examples/src/elementaryxx/simple/main.cpp|  2 +-
 15 files changed, 126 insertions(+), 126 deletions(-)

diff --git a/eflxx_examples/src/elementaryxx/external/main.cpp 
b/eflxx_examples/src/elementaryxx/external/main.cpp
index 8680bfd..86a2d35 100644
--- a/eflxx_examples/src/elementaryxx/external/main.cpp
+++ b/eflxx_examples/src/elementaryxx/external/main.cpp
@@ -53,7 +53,7 @@ int main (int argc, char **argv)
 // This access is type unsafe as a cast is done without checking prior the 
type!
 Evasxx::Object ext_eo = edje-getPart (Button01).getExternalObject ();
 Elmxx::Button button = *(static_cast Elmxx::Button* (ext_eo));
-button.setLabel (This is a changed button);
+button.setTextPart (This is a changed button);
   }
   catch (Edjexx::PartNotExistingException pne)
   {
diff --git a/eflxx_examples/src/elementaryxx/full/test_box.cpp 
b/eflxx_examples/src/elementaryxx/full/test_box.cpp
index eae7b7b..6a01e6e 100644
--- a/eflxx_examples/src/elementaryxx/full/test_box.cpp
+++ b/eflxx_examples/src/elementaryxx/full/test_box.cpp
@@ -20,21 +20,21 @@ void test_box_vert (void *data, Evas_Object *obj, void 
*event_info)
 
   Icon *ic = Icon::factory (*win);
   ic-setFile (searchPixmapFile (elementaryxx/logo_small.png));
-  ic-setScale (false, false);
+  ic-setNoScale (true);
   ic-setAlignHintSize (0.5, 0.5);
   bx-packEnd (*ic);
   ic-show ();
 
   Icon *ic2 = Icon::factory (*win);
   ic2-setFile (searchPixmapFile (elementaryxx/logo_small.png));
-  ic2-setScale (false, false);
+  ic2-setNoScale (true);
   ic2-setAlignHintSize (0.0, 0.5);
   bx-packEnd (*ic2);
   ic2-show ();
 
   Icon *ic3 = Icon::factory (*win);
   ic3-setFile (searchPixmapFile (elementaryxx/logo_small.png));
-  ic3-setScale (false, false);
+  ic3-setNoScale (true);
   ic3-setAlignHintSize (EVAS_HINT_EXPAND, 0.5);
   bx-packEnd (*ic3);
   ic3-show ();
@@ -61,21 +61,21 @@ void test_box_horiz (void *data, Evas_Object *obj, void 
*event_info)
 
   Icon *ic = Icon::factory (*win);
   ic-setFile (searchPixmapFile (elementaryxx/logo_small.png));
-  ic-setScale (false, false);
+  ic-setNoScale (true);
   ic-setAlignHintSize (0.5, 0.5);
   bx-packEnd (*ic);
   ic-show ();
 
   Icon *ic2 = Icon::factory (*win);
   ic2-setFile (searchPixmapFile (elementaryxx/logo_small.png));
-  ic2-setScale (false, false);
+  ic2-setNoScale (true);
   ic2-setAlignHintSize (0.5, 0.0);
   bx-packEnd (*ic2);
   ic2-show ();
 
   Icon *ic3 = Icon::factory (*win);
   ic3-setFile (searchPixmapFile (elementaryxx/logo_small.png));
-  ic3-setScale (false, false);
+  ic3-setNoScale (true);
   ic3-setAlignHintSize (0.0, EVAS_HINT_EXPAND);
   bx-packEnd (*ic3);
   ic3-show ();
diff --git a/eflxx_examples/src/elementaryxx/full/test_button.cpp 
b/eflxx_examples/src/elementaryxx/full/test_button.cpp
index bf9f6d0..f59de31 100644
--- a/eflxx_examples/src/elementaryxx/full/test_button.cpp
+++ b/eflxx_examples/src/elementaryxx/full/test_button.cpp
@@ -23,8 +23,8 @@ void test_button (void *data, Evas_Object *obj, void 
*event_info)
   ic-setFile (searchPixmapFile (elementaryxx/logo_small.png));
   ic-setAspectHintSize (EVAS_ASPECT_CONTROL_VERTICAL, Size (1, 1));
   bt = Button::factory (*win);
-  bt-setLabel (Icon sized to button);
-  bt-setIcon (*ic);
+  bt-setTextPart (Icon sized to button);
+  bt-setContentPart (*ic);
   bx-packEnd (*bt);
   bt-show ();
   ic-show ();
@@ -33,8 +33,8 @@ void test_button (void *data, Evas_Object *obj, void 
*event_info)
   ic-setFile (searchPixmapFile (elementaryxx/logo_small.png));
   ic-setAspectHintSize (EVAS_ASPECT_CONTROL_VERTICAL, Size (1, 1));
   bt = Button::factory (*win);
-  bt-setLabel (Disabled Button);
-  bt-setIcon (*ic);
+  bt-setTextPart (Disabled Button);
+  bt-setContentPart

[EGIT] [bindings/cxx/eflxx] master 175/314: added more emotionxx API

2013-12-30 Thread Andreas Volz
tasn pushed a commit to branch master.

http://git.enlightenment.org/bindings/cxx/eflxx.git/commit/?id=3edcb64f4b6f4da5c9b08f3886966be5c0c60536

commit 3edcb64f4b6f4da5c9b08f3886966be5c0c60536
Author: Andreas Volz li...@brachttal.net
Date:   Sun Jul 25 18:29:31 2010 +

added more emotionxx API


SVN revision: 50487
---
 emotionxx/include/emotionxx/AudioObject.h |  40 ++
 emotionxx/include/emotionxx/Emotionxx.h   |   3 +
 emotionxx/include/emotionxx/Makefile.am   |   5 +-
 emotionxx/include/emotionxx/Object.h  |  76 ---
 emotionxx/include/emotionxx/SPUObject.h   |  43 +++
 emotionxx/include/emotionxx/VideoObject.h |  71 +++
 emotionxx/src/AudioObject.cpp |  83 
 emotionxx/src/Makefile.am |   5 +-
 emotionxx/src/Object.cpp  | 201 --
 emotionxx/src/SPUObject.cpp   |  84 +
 emotionxx/src/VideoObject.cpp | 122 ++
 11 files changed, 500 insertions(+), 233 deletions(-)

diff --git a/emotionxx/include/emotionxx/AudioObject.h 
b/emotionxx/include/emotionxx/AudioObject.h
new file mode 100644
index 000..1a14e3f
--- /dev/null
+++ b/emotionxx/include/emotionxx/AudioObject.h
@@ -0,0 +1,40 @@
+#ifndef EMOTIONXX_AUDIO_OBJECT_H
+#define EMOTIONXX_AUDIO_OBJECT_H
+
+/* Project */
+#include Object.h
+
+/* EFL++ */
+#include eflxx/Common.h
+#include evasxx/Canvas.h
+#include evasxx/Object.h
+
+/* STD */
+#include iostream
+using namespace std;
+
+namespace Emotionxx {
+
+class AudioObject : public Emotionxx::Object
+{
+public:
+  AudioObject (Evasxx::Canvas canvas, const std::string moduleFilename);
+  AudioObject (Evasxx::Canvas canvas, const std::string filename, const 
std::string moduleFilename);
+  AudioObject (Evasxx::Canvas canvas, const Eflxx::Point pos, const 
std::string filename, const std::string moduleFilename);
+  AudioObject (Evasxx::Canvas canvas, const Eflxx::Rect rect, const 
std::string filename, const std::string moduleFilename);
+  ~AudioObject ();
+
+  void setAudioVolume (double vol);
+  double getAudioVolume ();
+  void setAudioMute (bool mute);
+  bool getAudioMute ();
+  int countAudioChannel ();
+  string getAudioChannelName (int channel);
+  void setAudioChannel (int channel);
+  int getAudioChannel ();
+
+};
+
+} // end namespace Emotionxx
+
+#endif // EMOTIONXX_AUDIO_OBJECT_H
\ No newline at end of file
diff --git a/emotionxx/include/emotionxx/Emotionxx.h 
b/emotionxx/include/emotionxx/Emotionxx.h
index 5de5ada..fbc885d 100644
--- a/emotionxx/include/emotionxx/Emotionxx.h
+++ b/emotionxx/include/emotionxx/Emotionxx.h
@@ -8,6 +8,9 @@
  */
 
 #include Object.h
+#include AudioObject.h
+#include VideoObject.h
+#include SPUObject.h
 
 #endif // EMOTIONXX_H
 
diff --git a/emotionxx/include/emotionxx/Makefile.am 
b/emotionxx/include/emotionxx/Makefile.am
index acf4857..e8ba621 100644
--- a/emotionxx/include/emotionxx/Makefile.am
+++ b/emotionxx/include/emotionxx/Makefile.am
@@ -1,7 +1,10 @@
 
 libemotionxx_HEADERS = \
Object.h \
-   Emotionxx.h
+   Emotionxx.h \
+   SPUObject.h \
+   VideoObject.h \
+   AudioObject.h
 
 libemotionxxdir = \
$(pkgincludedir)
diff --git a/emotionxx/include/emotionxx/Object.h 
b/emotionxx/include/emotionxx/Object.h
index 3b95bd3..a453887 100644
--- a/emotionxx/include/emotionxx/Object.h
+++ b/emotionxx/include/emotionxx/Object.h
@@ -16,7 +16,7 @@ using namespace std;
 /**
  * C++ Wrapper for the Enlightenment Emotion Library (EMOTION)
  *
- * @author Michael 'Mickey' Lauer mic...@vanille.de
+ * @author Andreas Volz andreas.v...@tux-style.com
  */
 
 namespace Emotionxx {
@@ -24,81 +24,55 @@ namespace Emotionxx {
 class Object : public Evasxx::Object
 {
 public:
-  Object( Evasxx::Canvas canvas, const std::string module_filename );
-  Object( Evasxx::Canvas canvas, const std::string filename, const 
std::string module_filename );
-  Object( Evasxx::Canvas canvas, const Eflxx::Point pos, const std::string 
filename, const std::string module_filename );
-  Object( Evasxx::Canvas canvas, const Eflxx::Rect rect, const std::string 
filename, const std::string module_filename );
-  ~Object();
-
-  /**
-  * Initialize video engine to either use xine or gstreamer
-  *
-  * @param module_filename name of viedo engine to be used
-  */
-  bool engineInit (const std::string module_filename);
-
   void setFile (const std::string filename);
   std::string getFile ();
+  
   void setPlay (bool play);
   bool getPlay ();
+  
   void setPosition (double sec);
   double getPosition ();
+  
   bool getVideoHandled ();
   bool getAudioHandled ();
+  
   bool getSeekable ();
+  
   double getPlayLengh ();
-  Eflxx::Size getSize ();
-  void setSmoothScale (bool smooth);
-  bool getSmoothScale ();
-  double getRatio ();
-  void sendSimpleEvent (Emotion_Event ev);
-  void setAudioVolume (double vol);
-  double getAudioVolume ();
-  void setAudioMute (bool mute);
-  bool

[EGIT] [bindings/cxx/eflxx] master 220/314: compiles with new API and new classes - not yet tested...

2013-12-30 Thread Andreas Volz
tasn pushed a commit to branch master.

http://git.enlightenment.org/bindings/cxx/eflxx.git/commit/?id=2e65e2d4d504a446dadaf4135e3d385f2542ed1d

commit 2e65e2d4d504a446dadaf4135e3d385f2542ed1d
Author: Andreas Volz li...@brachttal.net
Date:   Sat Nov 5 20:16:28 2011 +

compiles with new API and new classes - not yet tested...

SVN revision: 64790
---
 elementaryxx/include/elementaryxx/GenItem.h   |  30 +--
 elementaryxx/include/elementaryxx/Makefile.am |   3 +-
 elementaryxx/src/Gen.cpp  |   4 +
 elementaryxx/src/GenItem.cpp  | 116 +-
 elementaryxx/src/GenList.cpp  |   3 +-
 elementaryxx/src/Makefile.am  |   3 +-
 6 files changed, 14 insertions(+), 145 deletions(-)

diff --git a/elementaryxx/include/elementaryxx/GenItem.h 
b/elementaryxx/include/elementaryxx/GenItem.h
index 4945d0a..3bd5b6d 100644
--- a/elementaryxx/include/elementaryxx/GenItem.h
+++ b/elementaryxx/include/elementaryxx/GenItem.h
@@ -14,7 +14,6 @@ namespace Elmxx {
 class Gen;
 class GenDataModel;
 
-// TODO: currently this has many genlist functions inside. I'll fix this 
correct after the C API is finished!
 class GenItem
 {
 public:
@@ -23,37 +22,14 @@ public:
 
   virtual ~GenItem ();
   
-  void clearSubItems ();
   void setSelected (bool selected);
   bool getSelected () const;
-  void setExpanded (bool expanded);
-  bool getExpanded () const;
-  void setDisabled (bool disabled);
-  bool getDisabled () const;
-  void setDisplayOnly (bool displayOnly);
-  bool getDisplayOnly () const;
-  void show ();
-  void bringIn ();
-  void showTop ();
-  void bringInTop ();
-  void showMiddle ();
-  void bringInMiddle ();
-  void update ();
-  
-  const Evasxx::Object *getEvasObject ();
-
-  static GenItem *wrap (Elm_Genlist_Item item, GenDataModel model);
-
-  static GenItem *objectLink (const Elm_Genlist_Item *item);
-  
-private:
-  GenItem (Elm_Genlist_Item *item);
 
-  const void *getData ();
-  void setData (const void *data);
-  
+protected:
+  GenItem ();
   Elm_Gen_Item *mItem;
   GenDataModel *mDataModel;
+
 };
 
 } // end namespace Elmxx
diff --git a/elementaryxx/include/elementaryxx/Makefile.am 
b/elementaryxx/include/elementaryxx/Makefile.am
index 33097d9..2dcc284 100644
--- a/elementaryxx/include/elementaryxx/Makefile.am
+++ b/elementaryxx/include/elementaryxx/Makefile.am
@@ -35,7 +35,8 @@ libelementaryxx_HEADERS = \
GenListColumnConstructor.h \
GenListColumnSelector.h \
Gen.h \
-   GenItem.h
+   GenItem.h \
+   GenListItem.h
 
 libelementaryxxdir = \
$(pkgincludedir)
diff --git a/elementaryxx/src/Gen.cpp b/elementaryxx/src/Gen.cpp
index c060a2d..94f9206 100644
--- a/elementaryxx/src/Gen.cpp
+++ b/elementaryxx/src/Gen.cpp
@@ -13,6 +13,10 @@ using namespace std;
 
 namespace Elmxx {
 
+Gen::Gen () {}
+
+Gen::~Gen () {}  
+  
 void Gen::clear ()
 {
   elm_gen_clear (o);
diff --git a/elementaryxx/src/GenItem.cpp b/elementaryxx/src/GenItem.cpp
index 832089d..f316965 100644
--- a/elementaryxx/src/GenItem.cpp
+++ b/elementaryxx/src/GenItem.cpp
@@ -14,128 +14,14 @@ using namespace std;
 
 namespace Elmxx {
 
-GenItem::GenItem (Elm_Genlist_Item *item) :
-  mItem (item)
+GenItem::GenItem ()
 {
 
 }
   
 GenItem::~GenItem ()
 {
-  cout  GenItem::~GenItem  endl;
-  elm_genlist_item_del (mItem);
 }
 
-void GenItem::clearSubItems ()
-{
-  elm_genlist_item_subitems_clear (mItem);
-}
-
-void GenItem::setSelected (bool selected)
-{
-  elm_gen_item_selected_set (mItem, selected);
-}
-
-bool GenItem::getSelected () const
-{
-  return elm_gen_item_selected_get (mItem);
-}
-
-void GenItem::setExpanded (bool expanded)
-{
-  elm_genlist_item_expanded_set (mItem, expanded);
-}
-
-bool GenItem::getExpanded () const
-{
-  return elm_genlist_item_expanded_get (mItem);
-}
-
-void GenItem::setDisabled (bool disabled)
-{
-  elm_genlist_item_disabled_set (mItem, disabled);
-}
-
-bool GenItem::getDisabled () const
-{
-  return elm_genlist_item_disabled_get (mItem);
-}
-
-void GenItem::setDisplayOnly (bool displayOnly)
-{
-  elm_genlist_item_display_only_set (mItem, displayOnly);
-}
-
-bool GenItem::getDisplayOnly () const
-{
-  return elm_genlist_item_display_only_get (mItem);
-}
-
-void GenItem::show ()
-{
-  elm_genlist_item_show (mItem);
-}
-
-void GenItem::bringIn ()
-{
-  elm_genlist_item_bring_in (mItem);
-}
-
-void GenItem::showTop ()
-{
-  elm_genlist_item_top_show (mItem);
-}
-
-void GenItem::bringInTop ()
-{
-  elm_genlist_item_top_bring_in (mItem);
-}
-
-void GenItem::showMiddle ()
-{
-  elm_genlist_item_middle_show (mItem);
-}
-
-void GenItem::bringInMiddle ()
-{
-  elm_genlist_item_middle_bring_in (mItem);
-}
-
-void GenItem::update ()
-{
-  elm_genlist_item_update (mItem);
-}
-
-const Evasxx::Object *GenItem::getEvasObject ()
-{
-  const Evas_Object *obj = elm_genlist_item_object_get (mItem);
-  return Evasxx::Object::objectLink (obj);
-}
-
-GenItem *GenItem::wrap (Elm_Genlist_Item item

[EGIT] [bindings/cxx/eflxx] master 132/314: add start of test for GenList widget

2013-12-30 Thread Andreas Volz
tasn pushed a commit to branch master.

http://git.enlightenment.org/bindings/cxx/eflxx.git/commit/?id=23e15e0d66ba951ede401153c00442286c05346e

commit 23e15e0d66ba951ede401153c00442286c05346e
Author: Andreas Volz li...@brachttal.net
Date:   Sun May 2 21:31:27 2010 +

add start of test for GenList widget


SVN revision: 48567
---
 eflxx_examples/src/elementaryxx/full/Makefile.am   |3 +-
 eflxx_examples/src/elementaryxx/full/main.cpp  |8 +-
 .../src/elementaryxx/full/test_genlist.cpp | 1170 
 .../src/elementaryxx/full/test_toggle.cpp  |2 -
 4 files changed, 1176 insertions(+), 7 deletions(-)

diff --git a/eflxx_examples/src/elementaryxx/full/Makefile.am 
b/eflxx_examples/src/elementaryxx/full/Makefile.am
index 36f2c80..43862fd 100644
--- a/eflxx_examples/src/elementaryxx/full/Makefile.am
+++ b/eflxx_examples/src/elementaryxx/full/Makefile.am
@@ -21,7 +21,8 @@ elementaryxx_example_full_SOURCES = \
test_radio.cpp   \
test_spinner.cpp   \
test_panel.cpp   \
-   test_progressbar.cpp
+   test_progressbar.cpp   \
+   test_genlist.cpp
 
 elementaryxx_example_full_LDADD = \
$(ELEMENTARYXX_LIBS) \
diff --git a/eflxx_examples/src/elementaryxx/full/main.cpp 
b/eflxx_examples/src/elementaryxx/full/main.cpp
index d113a0d..b6b2667 100644
--- a/eflxx_examples/src/elementaryxx/full/main.cpp
+++ b/eflxx_examples/src/elementaryxx/full/main.cpp
@@ -42,8 +42,8 @@ void test_inwin2(void *data, Evas_Object *obj, void 
*event_info);
 void test_scaling(void *data, Evas_Object *obj, void *event_info);
 void test_scaling2(void *data, Evas_Object *obj, void *event_info);*/
 void test_slider(void *data, Evas_Object *obj, void *event_info);
-/*void test_genlist(void *data, Evas_Object *obj, void *event_info);
-void test_genlist2(void *data, Evas_Object *obj, void *event_info);
+void test_genlist(void *data, Evas_Object *obj, void *event_info);
+/*void test_genlist2(void *data, Evas_Object *obj, void *event_info);
 void test_genlist3(void *data, Evas_Object *obj, void *event_info);
 void test_genlist4(void *data, Evas_Object *obj, void *event_info);
 void test_genlist5(void *data, Evas_Object *obj, void *event_info);
@@ -184,8 +184,8 @@ int main (int argc, char **argv)
   li.append(Scaling, NULL, NULL, my_bt_26, NULL);
   li.append(Scaling 2, NULL, NULL, my_bt_27, NULL);*/
   li-append (Slider, test_slider, NULL);
-  /*li.append(Genlist, NULL, NULL, my_bt_29, NULL);
-  li.append(Genlist 2, NULL, NULL, my_bt_30, NULL);
+  li-append(Genlist, test_genlist, NULL);
+  /*li.append(Genlist 2, NULL, NULL, my_bt_30, NULL);
   li.append(Genlist 3, NULL, NULL, my_bt_31, NULL);
   li.append(Genlist 4, NULL, NULL, my_bt_32, NULL);*/
   li-append (Checks, test_check, NULL);
diff --git a/eflxx_examples/src/elementaryxx/full/test_genlist.cpp 
b/eflxx_examples/src/elementaryxx/full/test_genlist.cpp
new file mode 100644
index 000..da69875
--- /dev/null
+++ b/eflxx_examples/src/elementaryxx/full/test_genlist.cpp
@@ -0,0 +1,1170 @@
+#include test.h
+
+#if 0
+
+typedef struct _Testitem
+{
+   Elm_Genlist_Item *item;
+   int mode;
+   int onoff;
+} Testitem;
+
+
+static Elm_Genlist_Item_Class itc1;
+char *gl_label_get(const void *data, Evas_Object *obj, const char *part)
+{
+   char buf[256];
+   snprintf(buf, sizeof(buf), Item # %i, (int)data);
+   return strdup(buf);
+}
+
+Evas_Object *gl_icon_get(const void *data, Evas_Object *obj, const char *part)
+{
+   char buf[PATH_MAX];
+   Evas_Object *ic = elm_icon_add(obj);
+   snprintf(buf, sizeof(buf), %s/images/logo_small.png, PACKAGE_DATA_DIR);
+   elm_icon_file_set(ic, buf, NULL);
+   evas_object_size_hint_aspect_set(ic, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1);
+   return ic;
+}
+Eina_Bool gl_state_get(const void *data, Evas_Object *obj, const char *part)
+{
+   return EINA_FALSE;
+}
+void gl_del(const void *data, Evas_Object *obj)
+{
+}
+
+static void
+gl_sel(void *data, Evas_Object *obj, void *event_info)
+{
+   printf(sel item data [%p] on genlist obj [%p], item pointer [%p]\n, data, 
obj, event_info);
+}
+
+static void
+_move(void *data, Evas *evas, Evas_Object *obj, void *event_info)
+{
+   Evas_Object *gl = data;
+   Evas_Event_Mouse_Move *ev = event_info;
+   int where = 0;
+   Elm_Genlist_Item *gli;
+   gli = elm_genlist_at_xy_item_get(gl, ev-cur.canvas.x, ev-cur.canvas.y, 
where);
+   if (gli)
+ printf(over %p, where %i\n, elm_genlist_item_data_get(gli), where);
+   else
+ printf(over none, where %i\n, where);
+}
+
+static void
+_bt50_cb(void *data, Evas_Object *obj, void *event_info)
+{
+elm_genlist_item_bring_in(data);
+}
+
+static void
+_bt1500_cb(void *data, Evas_Object *obj, void *event_info)
+{
+elm_genlist_item_middle_bring_in(data);
+}
+#endif // 0
+static void
+_gl_selected (Evas_Object *obj, void *event_info)
+{
+   printf(selected: %p\n, event_info);
+}
+
+static void
+_gl_clicked (Evas_Object

[EGIT] [bindings/cxx/eflxx] master 107/314: sure, this was stupid :-)

2013-12-30 Thread Andreas Volz
tasn pushed a commit to branch master.

http://git.enlightenment.org/bindings/cxx/eflxx.git/commit/?id=69062c4f4996426b811a0c935eaf157779e25b2c

commit 69062c4f4996426b811a0c935eaf157779e25b2c
Author: Andreas Volz li...@brachttal.net
Date:   Sun Dec 20 12:59:28 2009 +

sure, this was stupid :-)


SVN revision: 44608
---
 esmartxx/src/esmartxx_cairo/Cairo.cpp | 2 +-
 esmartxx/src/esmartxx_cairo/Cairo.h   | 3 ---
 2 files changed, 1 insertion(+), 4 deletions(-)

diff --git a/esmartxx/src/esmartxx_cairo/Cairo.cpp 
b/esmartxx/src/esmartxx_cairo/Cairo.cpp
index 3c94c11..d43a818 100644
--- a/esmartxx/src/esmartxx_cairo/Cairo.cpp
+++ b/esmartxx/src/esmartxx_cairo/Cairo.cpp
@@ -43,7 +43,7 @@ cairo_surface_t* Cairo::getSurface ()
 
 bool Cairo::setSurface (cairo_surface_t *cairo_surface)
 {
-  return esmart_image_cairo_surface_set (o, mCairoSurface);
+  return esmart_image_cairo_surface_set (o, cairo_surface);
 }
 
 void Cairo::setAutoFill (bool enable)
diff --git a/esmartxx/src/esmartxx_cairo/Cairo.h 
b/esmartxx/src/esmartxx_cairo/Cairo.h
index d56b2bb..74f78b7 100644
--- a/esmartxx/src/esmartxx_cairo/Cairo.h
+++ b/esmartxx/src/esmartxx_cairo/Cairo.h
@@ -31,9 +31,6 @@ public:
   
   void setAutoFill (bool enable);
   
-private:
-  cairo_surface_t *mCairoSurface;
-
 };
 
 } // end namespace Esmartxx

-- 




[EGIT] [bindings/cxx/eflxx] master 152/314: formating

2013-12-30 Thread Andreas Volz
tasn pushed a commit to branch master.

http://git.enlightenment.org/bindings/cxx/eflxx.git/commit/?id=72bca3e91db34fe37c2a18ce8d8709541607aac7

commit 72bca3e91db34fe37c2a18ce8d8709541607aac7
Author: Andreas Volz li...@brachttal.net
Date:   Wed Jun 2 21:27:33 2010 +

formating

SVN revision: 49399
---
 evasxx/src/Smart.cpp | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/evasxx/src/Smart.cpp b/evasxx/src/Smart.cpp
index 4211a03..46b2fbc 100644
--- a/evasxx/src/Smart.cpp
+++ b/evasxx/src/Smart.cpp
@@ -141,8 +141,9 @@ sigc::signal void, Object, void* *Smart::getEventSignal 
(const std::string e
   addEventSignal (event);
   
   struct CustomEventWrap *cew = mCustomSignalMap[event];
+  assert (cew);
 
-  return cew ? cew-customSignal : NULL; // NULL should never return as one is 
added always
+  return cew-customSignal; // one is added always
 }
 
 void Smart::callEventSignal (const std::string event, void *event_info)

-- 




[EGIT] [bindings/cxx/eflxx] master 77/314: implemented anchorview/block wrapper

2013-12-30 Thread Andreas Volz
tasn pushed a commit to branch master.

http://git.enlightenment.org/bindings/cxx/eflxx.git/commit/?id=1215ecaf8fd969a500f6ae82e9b487f781244568

commit 1215ecaf8fd969a500f6ae82e9b487f781244568
Author: Andreas Volz li...@brachttal.net
Date:   Thu Nov 12 21:03:34 2009 +

implemented anchorview/block wrapper


SVN revision: 43646
---
 elementaryxx/include/elementaryxx/Elementaryxx.h   |  2 +
 elementaryxx/include/elementaryxx/ElmAnchorblock.h | 36 +
 elementaryxx/include/elementaryxx/ElmAnchorview.h  | 35 +
 elementaryxx/include/elementaryxx/Makefile.am  |  4 +-
 elementaryxx/src/ElmAnchorblock.cpp| 45 ++
 elementaryxx/src/ElmAnchorview.cpp | 45 ++
 elementaryxx/src/Makefile.am   |  4 +-
 7 files changed, 169 insertions(+), 2 deletions(-)

diff --git a/elementaryxx/include/elementaryxx/Elementaryxx.h 
b/elementaryxx/include/elementaryxx/Elementaryxx.h
index 0d4c3a4..1146e4c 100644
--- a/elementaryxx/include/elementaryxx/Elementaryxx.h
+++ b/elementaryxx/include/elementaryxx/Elementaryxx.h
@@ -31,6 +31,8 @@
 #include ElmHover.h
 #include ElmNotepad.h
 #include ElmCheck.h
+#include ElmAnchorview.h
+#include ElmAnchorblock.h
 
 #endif // ELEMENTARYXX_H
 
diff --git a/elementaryxx/include/elementaryxx/ElmAnchorblock.h 
b/elementaryxx/include/elementaryxx/ElmAnchorblock.h
new file mode 100644
index 000..841f1bc
--- /dev/null
+++ b/elementaryxx/include/elementaryxx/ElmAnchorblock.h
@@ -0,0 +1,36 @@
+#ifndef ELM_ANCHORBLOCK_H
+#define ELM_ANCHORBLOCK_H
+
+/* STL */
+#include string
+
+/* ELFxx */
+#include ElmObject.h
+
+namespace efl {
+
+/*! 
+ * smart callbacks called:
+ * anchor,clicked - achor called was clicked | event_info = 
Elm_Entry_Anchorblock_Info
+ */
+class ElmAnchorblock : public ElmObject
+{
+public:
+  static ElmAnchorblock *factory (EvasObject parent);
+
+private:
+  ElmAnchorblock (); // forbid standard constructor
+  ElmAnchorblock (const ElmAnchorblock); // forbid copy constructor
+  ElmAnchorblock (EvasObject parent); // private construction - use factory 
()
+  ~ElmAnchorblock (); // forbid direct delete - use ElmWidget::destroy()
+  
+  void setText (const std::string text);
+  void setHoverParent (EvasObject parent);
+  void setHoverStyle (const std::string style);
+  void endHover ();   
+
+};
+
+} // end namespace efl
+
+#endif // ELM_ANCHORBLOCK_H
diff --git a/elementaryxx/include/elementaryxx/ElmAnchorview.h 
b/elementaryxx/include/elementaryxx/ElmAnchorview.h
new file mode 100644
index 000..3872db9
--- /dev/null
+++ b/elementaryxx/include/elementaryxx/ElmAnchorview.h
@@ -0,0 +1,35 @@
+#ifndef ELM_ANCHORVIEW_H
+#define ELM_ANCHORVIEW_H
+
+/* STL */
+#include string
+
+/* ELFxx */
+#include ElmObject.h
+
+namespace efl {
+
+/*!
+ * smart callbacks called:
+ * anchor,clicked - achor called was clicked | event_info = 
Elm_Entry_Anchorview_Info
+ */
+class ElmAnchorview : public ElmObject
+{
+public:
+  static ElmAnchorview *factory (EvasObject parent);
+
+private:
+  ElmAnchorview (); // forbid standard constructor
+  ElmAnchorview (const ElmAnchorview); // forbid copy constructor
+  ElmAnchorview (EvasObject parent); // private construction - use factory ()
+  ~ElmAnchorview (); // forbid direct delete - use ElmWidget::destroy()
+  
+  void setText (const std::string text);
+  void setHoverParent (EvasObject parent);
+  void setHoverStyle (const std::string style);
+  void endHover ();
+};
+
+} // end namespace efl
+
+#endif // ELM_ANCHORVIEW_H
diff --git a/elementaryxx/include/elementaryxx/Makefile.am 
b/elementaryxx/include/elementaryxx/Makefile.am
index fab654b..13fa714 100644
--- a/elementaryxx/include/elementaryxx/Makefile.am
+++ b/elementaryxx/include/elementaryxx/Makefile.am
@@ -24,7 +24,9 @@ libelementaryxx_HEADERS = \
ElmObject.h \
ElmLayout.h \
ElmHover.h \
-   ElmNotepad.h
+   ElmNotepad.h \
+   ElmAnchorblock.h \
+   ElmAnchorview.h
 
 libelementaryxxdir = \
$(pkgincludedir)
diff --git a/elementaryxx/src/ElmAnchorblock.cpp 
b/elementaryxx/src/ElmAnchorblock.cpp
new file mode 100644
index 000..586380c
--- /dev/null
+++ b/elementaryxx/src/ElmAnchorblock.cpp
@@ -0,0 +1,45 @@
+#ifdef HAVE_CONFIG_H
+  #include config.h
+#endif
+
+#include ../include/elementaryxx/ElmAnchorblock.h
+
+using namespace std;
+
+namespace efl {
+
+ElmAnchorblock::ElmAnchorblock (EvasObject parent)
+{
+  o = elm_anchorblock_add (parent.obj ());
+  
+  elmInit ();
+}
+
+ElmAnchorblock::~ElmAnchorblock () {}
+
+ElmAnchorblock *ElmAnchorblock::factory (EvasObject parent)
+{
+  return new ElmAnchorblock (parent);
+}
+
+void ElmAnchorblock::setText (const std::string text)
+{
+  elm_anchorblock_text_set (o, text.c_str ());
+}
+
+void ElmAnchorblock::setHoverParent (EvasObject parent)
+{
+  elm_anchorblock_hover_parent_set (o, parent.obj ());
+}
+
+void ElmAnchorblock::setHoverStyle (const std::string

[EGIT] [bindings/cxx/eflxx] master 37/314: explicit show() needed

2013-12-30 Thread Andreas Volz
tasn pushed a commit to branch master.

http://git.enlightenment.org/bindings/cxx/eflxx.git/commit/?id=828fb61b131bb84a2ef7b53623ee44515b31c74d

commit 828fb61b131bb84a2ef7b53623ee44515b31c74d
Author: Andreas Volz li...@brachttal.net
Date:   Sat Apr 18 21:40:01 2009 +

explicit show() needed


SVN revision: 40193
---
 examples/ecore/calibrate/main.cpp | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/examples/ecore/calibrate/main.cpp 
b/examples/ecore/calibrate/main.cpp
index 61dbe2c..f04101b 100644
--- a/examples/ecore/calibrate/main.cpp
+++ b/examples/ecore/calibrate/main.cpp
@@ -19,6 +19,8 @@ int main( int argc, const char **argv )
 CalibrationRectangle* r = new CalibrationRectangle( 0, 0, s.width(), 
s.height(), evas );
 r-show(); // starts calibration
 
+mw-show();
+
 app.exec();
 return 0;
 }

-- 




[EGIT] [bindings/cxx/eflxx] master 297/314: changed API name

2013-12-30 Thread Andreas Volz
tasn pushed a commit to branch master.

http://git.enlightenment.org/bindings/cxx/eflxx.git/commit/?id=893a0b63167b1936bfc78006bf67a4538afd8e4f

commit 893a0b63167b1936bfc78006bf67a4538afd8e4f
Author: Andreas Volz li...@brachttal.net
Date:   Wed Nov 21 22:11:38 2012 +

changed API name

SVN revision: 79525
---
 elementaryxx/include/elementaryxx/Window.h | 4 ++--
 elementaryxx/src/Window.cpp| 4 ++--
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/elementaryxx/include/elementaryxx/Window.h 
b/elementaryxx/include/elementaryxx/Window.h
index 9112afa..2ebe8d1 100644
--- a/elementaryxx/include/elementaryxx/Window.h
+++ b/elementaryxx/include/elementaryxx/Window.h
@@ -76,9 +76,9 @@ public:
   
   //void setKeyboardWin (bool isKeyboard); // FIXME: is* name?
   
-  void addObjectResize (const Evasxx::Object subobj);
+  void addResizeObject (const Evasxx::Object subobj);
   
-  void delObjectResize (const Evasxx::Object subobj);
+  void delResizeObject (const Evasxx::Object subobj);
   
 private:
   Window (); // forbid standard constructor
diff --git a/elementaryxx/src/Window.cpp b/elementaryxx/src/Window.cpp
index 2a3df65..be014c9 100644
--- a/elementaryxx/src/Window.cpp
+++ b/elementaryxx/src/Window.cpp
@@ -109,12 +109,12 @@ void Window::setSticky (bool sticky)
   elm_win_sticky_set(o, sticky);
 }
 
-void Window::addObjectResize (const Evasxx::Object subobj)
+void Window::addResizeObject (const Evasxx::Object subobj)
 {
   elm_win_resize_object_add (o, subobj.obj ());
 }
 
-void Window::delObjectResize (const Evasxx::Object subobj)
+void Window::delResizeObject (const Evasxx::Object subobj)
 {
   elm_win_resize_object_del (o, subobj.obj ());
 }

-- 




[EGIT] [bindings/cxx/eflxx] master 303/314: add new wrapper implementation for Ecorexx::Exe

2013-12-30 Thread Andreas Volz
tasn pushed a commit to branch master.

http://git.enlightenment.org/bindings/cxx/eflxx.git/commit/?id=03584d3b733a8d2396b5eae66d2b19bdf239a8e2

commit 03584d3b733a8d2396b5eae66d2b19bdf239a8e2
Author: Andreas Volz li...@brachttal.net
Date:   Sat Nov 24 21:36:10 2012 +

add new wrapper implementation for Ecorexx::Exe

SVN revision: 79643
---
 ecorexx/include/ecorexx/Ecorexx.h   |   1 +
 ecorexx/include/ecorexx/Exe.h   |  93 ++
 ecorexx/include/ecorexx/Makefile.am |   3 +-
 ecorexx/src/Exe.cpp | 151 
 ecorexx/src/Makefile.am |   3 +-
 5 files changed, 249 insertions(+), 2 deletions(-)

diff --git a/ecorexx/include/ecorexx/Ecorexx.h 
b/ecorexx/include/ecorexx/Ecorexx.h
index 6c1487e..16f5ffd 100644
--- a/ecorexx/include/ecorexx/Ecorexx.h
+++ b/ecorexx/include/ecorexx/Ecorexx.h
@@ -17,6 +17,7 @@
 #include Timer.h
 #include XWindow.h
 #include Job.h
+#include Exe.h
 
 #endif // ECOREXX_H
 
diff --git a/ecorexx/include/ecorexx/Exe.h b/ecorexx/include/ecorexx/Exe.h
new file mode 100644
index 000..7bf3ee7
--- /dev/null
+++ b/ecorexx/include/ecorexx/Exe.h
@@ -0,0 +1,93 @@
+#ifndef ECOREXX_EXE_H
+#define ECOREXX_EXE_H
+
+/* EFL */
+#include Ecore.h
+#include eflxx/CountedPtr.h
+
+namespace Ecorexx {
+
+/**
+ * @defgroup Ecorexx_Exe_Group Process Spawning Functions
+ *
+ * This module is responsible for managing portable processes using Ecore.
+ * With this module you're able to spawn processes and you also can pause,
+ * quit your spawned processes.
+ * An interaction between your process and those spawned is possible
+ * using pipes or signals. 
+ *
+ *
+ * @ingroup Ecorexx_Main_Loop_Group
+ *
+ * @{
+ */
+class Exe
+{
+public:
+  virtual ~Exe();
+
+  static void setRunPriority(int pri);
+
+  static int getRunPriority();
+
+  static Eflxx::CountedPtr Exe run(const std::string exe_cmd, const void 
*data); 
+
+  static Eflxx::CountedPtr Exe runPipe(const std::string exe_cmd, 
Ecore_Exe_Flags flags, const void *data);
+
+  // TODO
+//EAPI void ecore_exe_callback_pre_free_set(Ecore_Exe *exe, Ecore_Exe_Cb func);
+
+  bool send(const void *data, int size);
+
+  void stdinClose();
+
+  void setAutoLimits(int start_bytes, int end_bytes, int start_lines, int 
end_lines);
+
+  // TODO
+//EAPI Ecore_Exe_Event_Data *ecore_exe_event_data_get(Ecore_Exe *exe, 
Ecore_Exe_Flags flags);
+
+  void freeData(Ecore_Exe_Event_Data *data);
+
+  pid_t getPid();
+
+  void setTag(const std::string tag);
+
+  std::string getTag();
+
+  std::string getCmd();
+
+  void *getData();
+
+  void *setData(void *data);
+
+  Ecore_Exe_Flags getFlags();
+
+  void pause();
+
+  void cont();
+
+  void interrupt();
+
+  void quit();
+
+  void terminate();
+
+  void kill();
+
+  void signal(int num);
+
+  void hup();
+  
+private:
+  /**
+   * no constructor - call run() or runPipe() 
+   */
+  Exe();
+  Exe(const Exe); // forbid copy constructor
+  
+  Ecore_Exe *mExe;
+};
+
+} // end namespace Ecorexx
+
+#endif // ECOREXX_EXE_H
\ No newline at end of file
diff --git a/ecorexx/include/ecorexx/Makefile.am 
b/ecorexx/include/ecorexx/Makefile.am
index 91afce8..3f3ec0d 100644
--- a/ecorexx/include/ecorexx/Makefile.am
+++ b/ecorexx/include/ecorexx/Makefile.am
@@ -10,7 +10,8 @@ libecorexx_HEADERS = \
EvasWindowFB.h \
EvasWindowGLX11.h \
EvasWindowSoftwareX11.h \
-   EvasWindowXRenderX11.h
+   EvasWindowXRenderX11.h \
+   Exe.h
 
 libecorexxdir = \
$(pkgincludedir)
diff --git a/ecorexx/src/Exe.cpp b/ecorexx/src/Exe.cpp
new file mode 100644
index 000..8c0e41b
--- /dev/null
+++ b/ecorexx/src/Exe.cpp
@@ -0,0 +1,151 @@
+#ifdef HAVE_CONFIG_H
+#include config.h
+#endif
+
+/* STL */
+#include string
+#include cassert
+
+#include ecorexx/Exe.h
+
+namespace Ecorexx {
+
+Exe::Exe() :
+  mExe(NULL)
+{
+}
+
+Exe::~Exe()
+{
+  if(mExe)
+  {
+assert(ecore_exe_free(mExe));
+  }
+}
+  
+void Exe::setRunPriority(int pri)
+{
+  ecore_exe_run_priority_set(pri);
+}
+
+int Exe::getRunPriority()
+{
+  return ecore_exe_run_priority_get();
+}
+
+Eflxx::CountedPtr Exe Exe::run(const std::string exe_cmd, const void *data)
+{
+  Ecore_Exe *ecore_exe = ecore_exe_run(exe_cmd.c_str(), data);
+  
+  Exe *exe_obj = new Exe();
+  exe_obj-mExe = ecore_exe;
+  
+  return Eflxx::CountedPtr Exe (exe_obj);
+}
+
+Eflxx::CountedPtr Exe Exe::runPipe(const std::string exe_cmd, 
Ecore_Exe_Flags flags, const void *data)
+{
+  Ecore_Exe *ecore_exe = ecore_exe_pipe_run(exe_cmd.c_str(), flags, data);
+  
+  Exe *exe_obj = new Exe();
+  exe_obj-mExe = ecore_exe;
+  
+  return Eflxx::CountedPtr Exe (exe_obj);
+}
+
+bool Exe::send(const void *data, int size)
+{
+  return ecore_exe_send(mExe, data, size);
+}
+
+void Exe::stdinClose()
+{
+  ecore_exe_close_stdin(mExe);
+}
+
+void Exe::setAutoLimits(int start_bytes, int end_bytes, int start_lines, int 
end_lines)
+{
+  ecore_exe_auto_limits_set(mExe, start_bytes, end_bytes, start_lines, 
end_lines

[EGIT] [bindings/cxx/eflxx] master 197/314: - changed the design in Edjexx to return smart pointers - now local save the pointer and return a reference - if failure throw an exception - added some

2013-12-30 Thread Andreas Volz
tasn pushed a commit to branch master.

http://git.enlightenment.org/bindings/cxx/eflxx.git/commit/?id=0366f627739f2257cef9ca848ef87889ac1d5dbb

commit 0366f627739f2257cef9ca848ef87889ac1d5dbb
Author: Andreas Volz li...@brachttal.net
Date:   Sat Jan 1 21:40:40 2011 +

- changed the design in Edjexx to return smart pointers
  - now local save the pointer and return a reference
  - if failure throw an exception
- added some container memory helpers
- changed the example code


SVN revision: 55794
---
 edjexx/include/edjexx/Exceptions.h|  20 +
 edjexx/include/edjexx/Object.h|  13 +--
 edjexx/include/edjexx/Part.h  |  10 ++-
 edjexx/src/Exceptions.cpp |  22 -
 edjexx/src/Object.cpp |  31 +--
 edjexx/src/Part.cpp   |  61 -
 eflxx/include/eflxx/Eflxx.h   |   1 +
 eflxx/include/eflxx/Makefile.am   |   1 +
 eflxx/include/eflxx/MemoryUtil.h  |  46 ++
 eflxx_examples/src/elementaryxx/external/main.cpp | 101 +++---
 evasxx/include/evasxx/Object.h|   6 +-
 evasxx/include/evasxx/Smart.h |   2 +
 evasxx/src/Object.cpp |  35 +---
 13 files changed, 268 insertions(+), 81 deletions(-)

diff --git a/edjexx/include/edjexx/Exceptions.h 
b/edjexx/include/edjexx/Exceptions.h
index 57c5b90..8b3fe8a 100644
--- a/edjexx/include/edjexx/Exceptions.h
+++ b/edjexx/include/edjexx/Exceptions.h
@@ -32,6 +32,26 @@ private:
   const std::string txt;
 };
 
+class ExternalNotExistingException : public std::exception
+{
+public:
+  ExternalNotExistingException (const std::string partname) : txt (partname) 
{}
+  const char* what () const throw ();
+
+private:
+  const std::string txt;
+};
+
+class SwallowNotExistingException : public std::exception
+{
+public:
+  SwallowNotExistingException (const std::string partname) : txt (partname) {}
+  const char* what () const throw ();
+
+private:
+  const std::string txt;
+};
+
 } // end namespace Edjexx
 
 #endif // EDJEXX_EXCEPTIONS_H
diff --git a/edjexx/include/edjexx/Object.h b/edjexx/include/edjexx/Object.h
index c2c302c..d9229fb 100644
--- a/edjexx/include/edjexx/Object.h
+++ b/edjexx/include/edjexx/Object.h
@@ -6,10 +6,10 @@
 #include map
 
 /* EFL++ */
-#include eflxx/Common.h
-#include eflxx/CountedPtr.h
+#include eflxx/Eflxx.h
+#include evasxx/Evasxx.h
 
-#include evasxx/Canvas.h
+/* local */
 #include Part.h
 
 /* EFL */
@@ -69,13 +69,13 @@ public:
   void recalculateLayout();
 
   bool hasPart( const std::string partname ) const;
-  Eflxx::CountedPtr Part operator[]( const std::string partname );
+  Part operator[]( const std::string partname );
 
   /*!
* @param partname Access a Part in the Object.
* @throw PartNotExistingException
*/
-  Eflxx::CountedPtr Part getPart( const std::string partname );
+  Part getPart( const std::string partname );
 
   /* signals and slots */
   void connect (const std::string emission, const std::string source, const 
SignalSlot slot);
@@ -95,10 +95,13 @@ private:
 
   Object( Evas_Object* object );
 
+  void deleteAllParts ();
+
   bool operator=( const Object );
   bool operator==( const Object );
 
std::map std::pair std::string, std::string, SignalSignal* 
mSignalList;
+  std::map std::string, Part* mPartList;
 };
 
 
diff --git a/edjexx/include/edjexx/Part.h b/edjexx/include/edjexx/Part.h
index 1f690e0..a78caa8 100644
--- a/edjexx/include/edjexx/Part.h
+++ b/edjexx/include/edjexx/Part.h
@@ -38,9 +38,9 @@ public:
   void swallow( Evasxx::Object* );
   void unswallow( Evasxx::Object* );
 
-  Eflxx::CountedPtr Evasxx::Object getSwallow ();
+  Evasxx::Object getSwallow ();
 
-  Eflxx::CountedPtr Evasxx::Object getExternalObject ();
+  Evasxx::Object getExternalObject ();
 
   // TODO: wrap Param?
   bool setParam (Edjexx::ExternalParam *param);
@@ -48,8 +48,10 @@ public:
   //const Evasxx::Object* getObject ( const char* name );
 
 private:
-  Object* _parent;
-  const std::string _partname;
+  Object* mParent;
+  const std::string mPartname;
+  Evasxx::Object *mExternalObject;
+  Evasxx::Object *mSwallowObject;
 
   /* State?
   EAPI const char  *edje_object_part_state_get  (Evas_Object *obj, const 
char *part, double *val_ret);
diff --git a/edjexx/src/Exceptions.cpp b/edjexx/src/Exceptions.cpp
index 571f673..dd6b5e1 100644
--- a/edjexx/src/Exceptions.cpp
+++ b/edjexx/src/Exceptions.cpp
@@ -9,7 +9,7 @@ namespace Edjexx {
 const char* LoadException::what () const throw ()
 {
   static std::ostringstream os;
-  os  EdjeObject file load error: filename: '
+  os  File load error: filename: '
   mFilename
   ' groupname: '
   mGroupname
@@ -22,7 +22,25 @@ const char* LoadException::what () const throw ()
 const char* PartNotExistingException::what () const throw ()
 {
   std

[EGIT] [bindings/cxx/eflxx] master 109/314: a define on Debug is bad!

2013-12-30 Thread Andreas Volz
tasn pushed a commit to branch master.

http://git.enlightenment.org/bindings/cxx/eflxx.git/commit/?id=16bc1d82b0a5af182e441c27d0528772aba0b1c3

commit 16bc1d82b0a5af182e441c27d0528772aba0b1c3
Author: Andreas Volz li...@brachttal.net
Date:   Thu Jan 7 22:19:02 2010 +

a define on Debug is bad!


SVN revision: 44963
---
 eflxx/include/eflxx/DebugInternal.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/eflxx/include/eflxx/DebugInternal.h 
b/eflxx/include/eflxx/DebugInternal.h
index b8d2660..fee1554 100644
--- a/eflxx/include/eflxx/DebugInternal.h
+++ b/eflxx/include/eflxx/DebugInternal.h
@@ -14,7 +14,7 @@
 #define AllocTag2(p, desc)
 #define AllocTag_dynamic_description(p, data)
 #define AllocTag(p, data)
-#define Debug(STATEMENT...)
+//#define Debug(STATEMENT...)
 #define Dout(cntrl, data)
 #define DoutFatal(cntrl, data) LibcwDoutFatal(, , cntrl, data)
 #define ForAllDebugChannels(STATEMENT...)

-- 




[EGIT] [bindings/cxx/eflxx] master 298/314: homogeneous

2013-12-30 Thread Andreas Volz
tasn pushed a commit to branch master.

http://git.enlightenment.org/bindings/cxx/eflxx.git/commit/?id=cd4ad54299ff0a5bf279d7ff110c196020a9ffe0

commit cd4ad54299ff0a5bf279d7ff110c196020a9ffe0
Author: Andreas Volz li...@brachttal.net
Date:   Wed Nov 21 22:19:29 2012 +

homogeneous

SVN revision: 79527
---
 elementaryxx/include/elementaryxx/Box.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/elementaryxx/include/elementaryxx/Box.h 
b/elementaryxx/include/elementaryxx/Box.h
index d63c166..feeffb2 100644
--- a/elementaryxx/include/elementaryxx/Box.h
+++ b/elementaryxx/include/elementaryxx/Box.h
@@ -32,7 +32,7 @@ public:
 
   void setOrientation (Box::Orientation orient);
   
-  void setHomogeneous (bool homogeneous);
+  void setHomogeneous (bool homogenous);
 
   void packStart (const Evasxx::Object subobj);
   

-- 




[EGIT] [bindings/cxx/eflxx] master 33/314: explicit show() needed

2013-12-30 Thread Andreas Volz
tasn pushed a commit to branch master.

http://git.enlightenment.org/bindings/cxx/eflxx.git/commit/?id=c73073a079871b2d259abb1130d2f605fd2f51f1

commit c73073a079871b2d259abb1130d2f605fd2f51f1
Author: Andreas Volz li...@brachttal.net
Date:   Sat Apr 18 21:30:50 2009 +

explicit show() needed


SVN revision: 40189
---
 examples/ecore/stars/main.cpp | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/examples/ecore/stars/main.cpp b/examples/ecore/stars/main.cpp
index c07b767..9e3ec79 100644
--- a/examples/ecore/stars/main.cpp
+++ b/examples/ecore/stars/main.cpp
@@ -63,6 +63,8 @@ int main( int argc, const char **argv )
 
 ( new EcoreTimer( 0.08 ) )-timeout.connect( sigc::ptr_fun( advance ) );
 
+mw-show ();
+
 /* Enter the application main loop */
 app-exec();
 

-- 




[EGIT] [bindings/cxx/eflxx] master 73/314: ElmRadio example code

2013-12-30 Thread Andreas Volz
tasn pushed a commit to branch master.

http://git.enlightenment.org/bindings/cxx/eflxx.git/commit/?id=f3125c9b989b98509c17a3dd899c296b3aeee7ff

commit f3125c9b989b98509c17a3dd899c296b3aeee7ff
Author: Andreas Volz li...@brachttal.net
Date:   Sun Nov 1 17:05:43 2009 +

ElmRadio example code


SVN revision: 43396
---
 eflxx_examples/src/elementaryxx/full/Makefile.am   |  3 +-
 eflxx_examples/src/elementaryxx/full/main.cpp  |  5 +-
 .../src/elementaryxx/full/test_radio.cpp   | 89 ++
 3 files changed, 94 insertions(+), 3 deletions(-)

diff --git a/eflxx_examples/src/elementaryxx/full/Makefile.am 
b/eflxx_examples/src/elementaryxx/full/Makefile.am
index f322753..ded8de5 100644
--- a/eflxx_examples/src/elementaryxx/full/Makefile.am
+++ b/eflxx_examples/src/elementaryxx/full/Makefile.am
@@ -17,7 +17,8 @@ elementaryxx_example_full_SOURCES = \
test_table.cpp   \
test_toggle.cpp   \
test_slider.cpp   \
-   test_check.cpp
+   test_check.cpp   \
+   test_radio.cpp
 
 elementaryxx_example_full_LDADD = \
$(ELEMENTARYXX_LIBS) \
diff --git a/eflxx_examples/src/elementaryxx/full/main.cpp 
b/eflxx_examples/src/elementaryxx/full/main.cpp
index fd5e2c5..ecb0517 100644
--- a/eflxx_examples/src/elementaryxx/full/main.cpp
+++ b/eflxx_examples/src/elementaryxx/full/main.cpp
@@ -27,6 +27,7 @@ void test_notepad (void *data, Evas_Object *obj, void 
*event_info);
 // ...
 void test_slider (void *data, Evas_Object *obj, void *event_info);
 void test_check (void *data, Evas_Object *obj, void *event_info);
+void test_radio (void *data, Evas_Object *obj, void *event_info);
 //
 
 ElmApplication *elmApp;
@@ -151,8 +152,8 @@ int main (int argc, char **argv)
   li.append(Genlist 3, NULL, NULL, my_bt_31, NULL);
   li.append(Genlist 4, NULL, NULL, my_bt_32, NULL);*/
   li-append(Checks, test_check, NULL);
-  /*li.append(Radios, NULL, NULL, my_bt_34, NULL);
-  li.append(Pager, NULL, NULL, my_bt_35, NULL);
+  li-append(Radios, test_radio, NULL);
+  /*li.append(Pager, NULL, NULL, my_bt_35, NULL);
   li.append(Genlist Tree, NULL, NULL, my_bt_36, NULL);
   li.append(Genlist 5, NULL, NULL, my_bt_37, NULL);
   li.append(Window States, NULL, NULL, my_bt_38, NULL);*/
diff --git a/eflxx_examples/src/elementaryxx/full/test_radio.cpp 
b/eflxx_examples/src/elementaryxx/full/test_radio.cpp
new file mode 100644
index 000..39a9df3
--- /dev/null
+++ b/eflxx_examples/src/elementaryxx/full/test_radio.cpp
@@ -0,0 +1,89 @@
+#include test.h
+
+void test_radio (void *data, Evas_Object *obj, void *event_info)
+{
+  ElmRadio *rd = NULL;
+  ElmRadio *rdg = NULL;
+  ElmIcon *ic = NULL;
+  
+  ElmWindow *win = ElmWindow::factory (radio, ELM_WIN_BASIC);
+  win-setTitle (Radios);
+  win-setAutoDel (true);
+  
+  ElmBackground *bg = ElmBackground::factory (*win);
+  win-addObjectResize (*bg);
+  bg-setWeightHintSize (EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+  bg-show ();
+  
+  ElmBox *bx = ElmBox::factory (*win);
+  win-addObjectResize (*bx);
+  bx-setWeightHintSize (EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+  bx-show ();
+  
+  ic = ElmIcon::factory (*win);
+  ic-setFile (searchPixmapFile (elementaryxx/logo_small.png));
+  ic-setAspectHintSize (EVAS_ASPECT_CONTROL_VERTICAL, Size (1, 1));
+  rd = ElmRadio::factory (*win);
+  rd-setWeightHintSize (EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+  rd-setAlignHintSize (EVAS_HINT_FILL, 0.5);
+  rd-setLabel (Icon sized to radio);
+  rd-setIcon (*ic);
+  bx-packEnd (*rd);
+  rd-show ();
+  ic-show ();
+  rdg = rd;
+
+  ic = ElmIcon::factory (*win);
+  ic-setFile (searchPixmapFile (elementaryxx/logo_small.png));
+  ic-setScale (false, false);
+  rd = ElmRadio::factory (*win);
+  rd-setStateValue (1);
+  rd-addGroup (*rdg);
+  rd-setLabel (Icon no scale);
+  rd-setIcon (*ic);
+  bx-packEnd (*rd);
+  rd-show ();
+  ic-show ();
+
+  rd = ElmRadio::factory (*win);
+  rd-setStateValue (2);
+  rd-addGroup (*rdg);
+  rd-setLabel (Label Only);
+  bx-packEnd (*rd);
+  rd-show ();
+
+  rd = ElmRadio::factory (*win);
+  rd-setStateValue (3);
+  rd-addGroup (*rdg);
+  rd-setLabel (Disabled);
+  rd-setDisabled (true);
+  bx-packEnd (*rd);
+  rd-show ();
+
+  ic = ElmIcon::factory (*win);
+  ic-setFile (searchPixmapFile (elementaryxx/logo_small.png));
+  ic-setScale (false, false);
+  rd = ElmRadio::factory (*win);
+  rd-setStateValue (4);
+  rd-addGroup (*rdg);
+  rd-setIcon (*ic);
+  bx-packEnd (*rd);
+  rd-show ();
+  ic-show ();
+
+  ic = ElmIcon::factory (*win);
+  ic-setFile (searchPixmapFile (elementaryxx/logo_small.png));
+  ic-setScale (false, false);
+  rd = ElmRadio::factory (*win);
+  rd-setStateValue (5);
+  rd-addGroup (*rdg);
+  rd-setIcon (*ic);
+  rd-setDisabled (true);
+  bx-packEnd (*rd);
+  rd-show ();
+  ic-show ();
+  
+  rdg-setValue (2);
+
+  win-show ();
+}

-- 




[EGIT] [bindings/cxx/eflxx] master 97/314: new emotionxx API

2013-12-30 Thread Andreas Volz
tasn pushed a commit to branch master.

http://git.enlightenment.org/bindings/cxx/eflxx.git/commit/?id=c97f9972df511c4a1a17b4881afa2d7805edcb4a

commit c97f9972df511c4a1a17b4881afa2d7805edcb4a
Author: Andreas Volz li...@brachttal.net
Date:   Mon Nov 30 22:07:43 2009 +

new emotionxx API


SVN revision: 44073
---
 emotionxx/include/emotionxx/Emotionxx.h   | 13 +
 emotionxx/include/emotionxx/EvasEmotion.h | 45 -
 emotionxx/include/emotionxx/Makefile.am   |  2 +-
 emotionxx/include/emotionxx/Object.h  | 45 +
 emotionxx/src/EvasEmotion.cpp | 82 ---
 emotionxx/src/Makefile.am |  2 +-
 emotionxx/src/Object.cpp  | 78 +
 7 files changed, 138 insertions(+), 129 deletions(-)

diff --git a/emotionxx/include/emotionxx/Emotionxx.h 
b/emotionxx/include/emotionxx/Emotionxx.h
new file mode 100644
index 000..5de5ada
--- /dev/null
+++ b/emotionxx/include/emotionxx/Emotionxx.h
@@ -0,0 +1,13 @@
+#ifndef EMOTIONXX_H
+#define EMOTIONXX_H
+
+/* This is the main include header for Emotionxx. You should include it in your
+ * application. you could also use a combination of some headers and forward
+ * declarations to speed up compiling. But the default way is to simply 
+ * #include Emotionxx.h.
+ */
+
+#include Object.h
+
+#endif // EMOTIONXX_H
+
diff --git a/emotionxx/include/emotionxx/EvasEmotion.h 
b/emotionxx/include/emotionxx/EvasEmotion.h
deleted file mode 100644
index 34e4e10..000
--- a/emotionxx/include/emotionxx/EvasEmotion.h
+++ /dev/null
@@ -1,45 +0,0 @@
-#ifndef EVAS_EMOTION_H
-#define EVAS_EMOTION_H
-
-
-/* EFL++ */
-#include eflxx/eflpp_common.h
-#include evasxx/EvasCanvas.h
-#include evasxx/EvasObject.h
-
-/* STD */
-#include iostream
-using namespace std;
-
-/**
- * C++ Wrapper for the Enlightenment Emotion Library (EMOTION)
- *
- * @author Michael 'Mickey' Lauer mic...@vanille.de
- */
-
-namespace efl {
-
-class EvasEmotion : public EvasObject
-{
-public:
-  EvasEmotion( EvasCanvas canvas, const std::string module_filename );
-  EvasEmotion( EvasCanvas canvas, const std::string filename, const 
std::string module_filename );
-  EvasEmotion( EvasCanvas canvas, const Point pos, const std::string 
filename, const std::string module_filename );
-  EvasEmotion( EvasCanvas canvas, const Rect rect, const std::string 
filename, const std::string module_filename );
-  ~EvasEmotion();
-
-  /**
-  * Initialize video engine to either use xine or gstreamer
-  *
-  * @param module_filename name of viedo engine to be used
-  */
-  void engineInit(const std::string module_filename);
-
-  void setFile( const std::string filename );
-  void setPlay( bool b );
-  void setSmoothScale( bool b );
-};
-
-}
-
-#endif // EVAS_EMOTION_H
diff --git a/emotionxx/include/emotionxx/Makefile.am 
b/emotionxx/include/emotionxx/Makefile.am
index 7a2693b..c18fe8a 100644
--- a/emotionxx/include/emotionxx/Makefile.am
+++ b/emotionxx/include/emotionxx/Makefile.am
@@ -1,6 +1,6 @@
 
 libemotionxx_HEADERS = \
-   EvasEmotion.h
+   Object.h
 
 libemotionxxdir = \
$(pkgincludedir)
diff --git a/emotionxx/include/emotionxx/Object.h 
b/emotionxx/include/emotionxx/Object.h
new file mode 100644
index 000..71b4b47
--- /dev/null
+++ b/emotionxx/include/emotionxx/Object.h
@@ -0,0 +1,45 @@
+#ifndef EMOTIONXX_OBJECT_H
+#define EMOTIONXX_OBJECT_H
+
+
+/* EFL++ */
+#include eflxx/Common.h
+#include evasxx/Canvas.h
+#include evasxx/Object.h
+
+/* STD */
+#include iostream
+using namespace std;
+
+/**
+ * C++ Wrapper for the Enlightenment Emotion Library (EMOTION)
+ *
+ * @author Michael 'Mickey' Lauer mic...@vanille.de
+ */
+
+namespace Emotionxx {
+
+class Object : public Evasxx::Object
+{
+public:
+  Object( Evasxx::Canvas canvas, const std::string module_filename );
+  Object( Evasxx::Canvas canvas, const std::string filename, const 
std::string module_filename );
+  Object( Evasxx::Canvas canvas, const Eflxx::Point pos, const std::string 
filename, const std::string module_filename );
+  Object( Evasxx::Canvas canvas, const Eflxx::Rect rect, const std::string 
filename, const std::string module_filename );
+  ~Object();
+
+  /**
+  * Initialize video engine to either use xine or gstreamer
+  *
+  * @param module_filename name of viedo engine to be used
+  */
+  void engineInit(const std::string module_filename);
+
+  void setFile( const std::string filename );
+  void setPlay( bool b );
+  void setSmoothScale( bool b );
+};
+
+} // end namespace Emotionxx
+
+#endif // EMOTIONXX_OBJECT_H
diff --git a/emotionxx/src/EvasEmotion.cpp b/emotionxx/src/EvasEmotion.cpp
deleted file mode 100644
index 400675f..000
--- a/emotionxx/src/EvasEmotion.cpp
+++ /dev/null
@@ -1,82 +0,0 @@
-#ifdef HAVE_CONFIG_H
-#include config.h
-#endif
-
-
-#include ../include/emotionxx/EvasEmotion.h
-
-extern C {
-#include Emotion.h
-}
-
-#include iostream
-#include assert.h
-
-using namespace std

[EGIT] [bindings/cxx/eflxx] master 75/314: renamed EvasEdje to EdjeObject

2013-12-30 Thread Andreas Volz
tasn pushed a commit to branch master.

http://git.enlightenment.org/bindings/cxx/eflxx.git/commit/?id=5176c30c6ff2a1a08922535c7a3923e71a39d986

commit 5176c30c6ff2a1a08922535c7a3923e71a39d986
Author: Andreas Volz li...@brachttal.net
Date:   Wed Nov 11 21:53:46 2009 +

renamed EvasEdje to EdjeObject


SVN revision: 43625
---
 edjexx/README  |  1 -
 edjexx/include/edjexx/{EvasEdje.h = EdjeObject.h} | 24 ++--
 edjexx/include/edjexx/EdjePart.h   |  8 ++--
 edjexx/include/edjexx/Edjexx.h |  2 +-
 edjexx/include/edjexx/Makefile.am  |  2 +-
 edjexx/src/EdjeExceptions.cpp  |  4 +-
 edjexx/src/{EvasEdje.cpp = EdjeObject.cpp}| 44 +++---
 edjexx/src/EdjePart.cpp|  4 +-
 edjexx/src/Makefile.am |  2 +-
 9 files changed, 45 insertions(+), 46 deletions(-)

diff --git a/edjexx/README b/edjexx/README
index e996088..ad42487 100644
--- a/edjexx/README
+++ b/edjexx/README
@@ -1,3 +1,2 @@
 TODO
 -
-rename EvasEdje to EdjeObject
diff --git a/edjexx/include/edjexx/EvasEdje.h 
b/edjexx/include/edjexx/EdjeObject.h
similarity index 83%
rename from edjexx/include/edjexx/EvasEdje.h
rename to edjexx/include/edjexx/EdjeObject.h
index 439ce11..4d176bc 100644
--- a/edjexx/include/edjexx/EvasEdje.h
+++ b/edjexx/include/edjexx/EdjeObject.h
@@ -22,14 +22,14 @@ namespace efl {
 typedef sigc::signalvoid, const char*, const char* EdjeSignalSignal;
 typedef sigc::slot2void, const char*, const char* EdjeSignalSlot;
   
-class EvasEdje : public EvasObject
+class EdjeObject : public EvasObject
 {
 public:
-  EvasEdje( EvasCanvas canvas );
-  EvasEdje( EvasCanvas canvas, const std::string filename, const std::string 
groupname );
-  EvasEdje( EvasCanvas canvas, const Point pos, const std::string filename, 
const std::string groupname );
+  EdjeObject( EvasCanvas canvas );
+  EdjeObject( EvasCanvas canvas, const std::string filename, const 
std::string groupname );
+  EdjeObject( EvasCanvas canvas, const Point pos, const std::string 
filename, const std::string groupname );
 
-  ~EvasEdje();
+  ~EdjeObject();
 
   /*
   EAPI void edje_object_signal_callback_add (Evas_Object *obj, const 
char *emission, const char *source, void (*func) (void *data, Evas_Object *obj, 
const char *emission, const char *source), void *data);
@@ -74,7 +74,7 @@ public:
   CountedPtr EdjePart operator[]( const std::string partname );
 
   /*!
-   * @param partname Access a EdjePart in the EvasEdje.
+   * @param partname Access a EdjePart in the EdjeObject.
* @throw EdjePartNotExistingException
*/
   CountedPtr EdjePart getPart( const std::string partname );
@@ -83,20 +83,20 @@ public:
   void connect( const std::string emission, const std::string source, const 
EdjeSignalSlot slot );
   void emit( const std::string emission, const std::string source );
 
-  static EvasEdje *wrap( Evas_Object* o );
+  static EdjeObject *wrap( Evas_Object* o );
 
 private:
   // TODO: wrap Edje_Message_Type to avoid include of C header
   static void _edje_message_handler_callback( void* data, Evas_Object *obj, 
Edje_Message_Type type, int id, void *msg );
   static void _edje_signal_handler_callback( void *data, Evas_Object *obj, 
const char *emission, const char *source );
 
-  EvasEdje();
-  EvasEdje( const EvasEdje );
+  EdjeObject();
+  EdjeObject( const EdjeObject );
 
-  EvasEdje( Evas_Object* object );
+  EdjeObject( Evas_Object* object );
 
-  bool operator=( const EvasEdje );
-  bool operator==( const EvasEdje );
+  bool operator=( const EdjeObject );
+  bool operator==( const EdjeObject );
 };
 
 
diff --git a/edjexx/include/edjexx/EdjePart.h b/edjexx/include/edjexx/EdjePart.h
index bba0238..48bb6ca 100644
--- a/edjexx/include/edjexx/EdjePart.h
+++ b/edjexx/include/edjexx/EdjePart.h
@@ -14,14 +14,14 @@ using std::string;
 
 namespace efl {
 
-class EvasEdje;
+class EdjeObject;
 
 class EdjePart
 {
-  friend class EvasEdje;
+  friend class EdjeObject;
 
 private:
-  EdjePart( EvasEdje* parent, const std::string partname );
+  EdjePart( EdjeObject* parent, const std::string partname );
 
 public:
   ~EdjePart();
@@ -39,7 +39,7 @@ public:
   //const EvasObject* getObject ( const char* name );
 
 private:
-  EvasEdje* _parent;
+  EdjeObject* _parent;
   const std::string _partname;
 
   /* State?
diff --git a/edjexx/include/edjexx/Edjexx.h b/edjexx/include/edjexx/Edjexx.h
index 53e4d76..aed4b61 100644
--- a/edjexx/include/edjexx/Edjexx.h
+++ b/edjexx/include/edjexx/Edjexx.h
@@ -10,7 +10,7 @@
 #include EdjeBase.h
 #include EdjeExceptions.h
 #include EdjePart.h
-#include EvasEdje.h
+#include EdjeObject.h
 
 #endif // EDJEXX_H
 
diff --git a/edjexx/include/edjexx/Makefile.am 
b/edjexx/include/edjexx/Makefile.am
index bc9ff09..8c11601 100644
--- a/edjexx/include/edjexx/Makefile.am
+++ b/edjexx/include/edjexx/Makefile.am
@@ -2,7 +2,7 @@
 libedjexx_HEADERS

[EGIT] [bindings/cxx/eflxx] master 96/314: new API in esmartxx

2013-12-30 Thread Andreas Volz
tasn pushed a commit to branch master.

http://git.enlightenment.org/bindings/cxx/eflxx.git/commit/?id=bad07b7aa91bdde191847182d2853ee529ea5d2b

commit bad07b7aa91bdde191847182d2853ee529ea5d2b
Author: Andreas Volz li...@brachttal.net
Date:   Mon Nov 30 21:56:07 2009 +

new API in esmartxx


SVN revision: 44072
---
 .../{EvasSmartContainer.cpp = Container.cpp}  |  76 +--
 .../{EvasSmartContainer.h = Container.h}  |  34 ++---
 esmartxx/src/container/Makefile.am |   4 +-
 esmartxx/src/group/EvasSmartGroup.cpp  | 151 -
 esmartxx/src/group/EvasSmartGroup.h|  41 --
 esmartxx/src/group/Group.cpp   | 151 +
 esmartxx/src/group/Group.h |  41 ++
 esmartxx/src/group/Makefile.am |   4 +-
 esmartxx/src/textentry/Makefile.am |   4 +-
 .../{EvasSmartTextEntry.cpp = TextEntry.cpp}  |  30 ++--
 .../{EvasSmartTextEntry.h = TextEntry.h}  |  28 ++--
 11 files changed, 282 insertions(+), 282 deletions(-)

diff --git a/esmartxx/src/container/EvasSmartContainer.cpp 
b/esmartxx/src/container/Container.cpp
similarity index 50%
rename from esmartxx/src/container/EvasSmartContainer.cpp
rename to esmartxx/src/container/Container.cpp
index 64e2253..5d9267d 100644
--- a/esmartxx/src/container/EvasSmartContainer.cpp
+++ b/esmartxx/src/container/Container.cpp
@@ -2,22 +2,22 @@
 #include config.h
 #endif
 
-#include EvasSmartContainer.h
+#include Container.h
 
 #include iostream
 #include assert.h
 
 using namespace std;
 
-namespace efl {
+namespace Esmartxx {
 
-EvasSmartContainer::EvasSmartContainer( EvasCanvas canvas)
+Container::Container( Evasxx::Canvas canvas)
 {
   o = esmart_container_new( canvas.obj() );
   init();
 }
 
-EvasSmartContainer::EvasSmartContainer( EvasCanvas canvas, Direction dir)
+Container::Container( Evasxx::Canvas canvas, Direction dir)
 {
   o = esmart_container_new( canvas.obj() );
   init();
@@ -25,7 +25,7 @@ EvasSmartContainer::EvasSmartContainer( EvasCanvas canvas, 
Direction dir)
   setDirection( dir );
 }
 
-EvasSmartContainer::EvasSmartContainer( EvasCanvas canvas, const Point pos, 
Direction dir)
+Container::Container( Evasxx::Canvas canvas, const Eflxx::Point pos, 
Direction dir)
 {
   o = esmart_container_new( canvas.obj() );
 
@@ -35,7 +35,7 @@ EvasSmartContainer::EvasSmartContainer( EvasCanvas canvas, 
const Point pos, Di
   move( pos );
 }
 
-EvasSmartContainer::EvasSmartContainer( EvasCanvas canvas, const Rect rect, 
Direction dir)
+Container::Container( Evasxx::Canvas canvas, const Eflxx::Rect rect, 
Direction dir)
 {
   o = esmart_container_new( canvas.obj() );
   init();
@@ -44,26 +44,26 @@ EvasSmartContainer::EvasSmartContainer( EvasCanvas canvas, 
const Rect rect, Di
   setGeometry (rect);
 }
 
-EvasSmartContainer::~EvasSmartContainer()
+Container::~Container()
 {
   evas_object_del( o );
 }
 
-void EvasSmartContainer::setDirection( Direction dir )
+void Container::setDirection( Direction dir )
 {
   esmart_container_direction_set( o, static_castContainer_Direction( dir ) );
 }
 
-EvasSmartContainer::Direction EvasSmartContainer::direction() const
+Container::Direction Container::direction() const
 {
-  return static_castEvasSmartContainer::Direction( 
esmart_container_direction_get( o ) );
+  return static_castContainer::Direction( esmart_container_direction_get( o 
) );
 }
 
-void EvasSmartContainer::setPadding( double l, double r, double t, double b )
+void Container::setPadding( double l, double r, double t, double b )
 {
   esmart_container_padding_set( o, l, r, t, b );
 }
-/* Padding EvasSmartContainer::padding() const;
+/* Padding Container::padding() const;
 {
 double l;
 double r;
@@ -73,52 +73,52 @@ void EvasSmartContainer::setPadding( double l, double r, 
double t, double b )
 return Padding( l, r, t, b );
 }*/
 
-void EvasSmartContainer::setFillPolicy( FillPolicy fill )
+void Container::setFillPolicy( FillPolicy fill )
 {
   esmart_container_fill_policy_set( o, static_castContainer_Fill_Policy( 
fill ) );
 }
 
-EvasSmartContainer::FillPolicy EvasSmartContainer::getFillPolicy() const
+Container::FillPolicy Container::getFillPolicy() const
 {
-  return static_castEvasSmartContainer::FillPolicy( 
esmart_container_fill_policy_get( o ) );
+  return static_castContainer::FillPolicy( esmart_container_fill_policy_get( 
o ) );
 }
 
-void EvasSmartContainer::setAlignment( Alignment align )
+void Container::setAlignment( Alignment align )
 {
   esmart_container_alignment_set( o, static_castContainer_Alignment( align ) 
);
 }
 
-EvasSmartContainer::Alignment EvasSmartContainer::getAlignment() const
+Container::Alignment Container::getAlignment() const
 {
-  return static_castEvasSmartContainer::Alignment( 
esmart_container_alignment_get( o ) );
+  return static_castContainer::Alignment( esmart_container_alignment_get( o 
) );
 }
 
-void EvasSmartContainer

[EGIT] [bindings/cxx/eflxx] master 20/314: start to have one header and one cpp file for each class.

2013-12-30 Thread Andreas Volz
tasn pushed a commit to branch master.

http://git.enlightenment.org/bindings/cxx/eflxx.git/commit/?id=aef9a46f42779f880c51b779e3c025fd7d00f0ae

commit aef9a46f42779f880c51b779e3c025fd7d00f0ae
Author: Andreas Volz li...@brachttal.net
Date:   Tue Dec 30 21:56:17 2008 +

start to have one header and one cpp file for each class.

SVN revision: 38361
---
 TODO   |   2 +
 examples/etk/embed/main.cpp|   2 +-
 examples/etk/simple/main.cpp   |   2 +-
 src/etk/Makefile.am|  12 +-
 src/etk/eflpp_etk.cpp  | 297 -
 src/etk/eflpp_etk.h| 323 +
 src/etk/eflpp_etkcontainer.cpp |  73 ++
 src/etk/eflpp_etkcontainer.h   | 109 ++
 src/etk/eflpp_etkimage.cpp | 147 +++
 src/etk/eflpp_etkimage.h   | 210 +++
 src/etk/eflpp_etkobject.cpp|  61 
 src/etk/eflpp_etkobject.h  |  44 ++
 src/etk/eflpp_etkwidget.cpp|  47 ++
 src/etk/eflpp_etkwidget.h  |  34 +
 14 files changed, 742 insertions(+), 621 deletions(-)

diff --git a/TODO b/TODO
index 5cf4470..c64c38e 100644
--- a/TODO
+++ b/TODO
@@ -5,3 +5,5 @@
 * split eflpp into seperate libs (e.g. eflpp-edje, eflpp-evas, ...)
 * replace char* with string
 * create a wrap() function for all classes
+* use PImpl implementation to avoid include of EFL headers direct in 
applications
+* one header and cpp file for each class
diff --git a/examples/etk/embed/main.cpp b/examples/etk/embed/main.cpp
index 289031e..ea50627 100644
--- a/examples/etk/embed/main.cpp
+++ b/examples/etk/embed/main.cpp
@@ -56,7 +56,7 @@ int main( int argc, const char **argv )
 embed-show();
 
 EtkButton* button = new EtkButton( Hello World! );
-embed-appendChild( button );
+embed-add( button );
 button-show();
 embed-show();
 
diff --git a/examples/etk/simple/main.cpp b/examples/etk/simple/main.cpp
index ff67150..885de84 100644
--- a/examples/etk/simple/main.cpp
+++ b/examples/etk/simple/main.cpp
@@ -18,7 +18,7 @@ int main( int argc, const char **argv )
 EtkButton* button = new EtkButton( Hello World );
 button-setFromStock( ETK_STOCK_BOOKMARK_NEW );
 button-setStockSize( ETK_STOCK_BIG );
-mainWindow-appendChild( button );
+mainWindow-add( button );
 mainWindow-showAll();
 
 cout  calling main now  endl;
diff --git a/src/etk/Makefile.am b/src/etk/Makefile.am
index 153b925..540de58 100644
--- a/src/etk/Makefile.am
+++ b/src/etk/Makefile.am
@@ -9,11 +9,19 @@ AM_CXXFLAGS = @PACKAGE_CFLAGS@ \
 noinst_LTLIBRARIES = libeflpp_etk.la
 
 libeflpp_etk_la_SOURCES = \
-   eflpp_etk.cpp
+   eflpp_etk.cpp \
+   eflpp_etkimage.cpp \
+   eflpp_etkcontainer.cpp \
+   eflpp_etkwidget.cpp \
+   eflpp_etkobject.cpp
 
 libeflpp_includedir = $(pkgincludedir)
 
 libeflpp_include_DATA = \
-   eflpp_etk.h
+   eflpp_etk.h \
+   eflpp_etkimage.h \
+   eflpp_etkcontainer.h \
+   eflpp_etkwidget.h \
+   eflpp_etkobject.h
 
 EXTRA_DIST = $(libeflpp_include_DATA)
diff --git a/src/etk/eflpp_etk.cpp b/src/etk/eflpp_etk.cpp
index 07a961f..6c19ecd 100644
--- a/src/etk/eflpp_etk.cpp
+++ b/src/etk/eflpp_etk.cpp
@@ -15,161 +15,6 @@ namespace efl {
 EtkApplication* EtkApplication::_instance = 0;
 
 //==//
-// EwlObject
-//==//
-
-EtkObject::EtkObject( EtkObject* parent, const char* type, const char* name )
-  :_o( 0 )
-{
-cout  EtkObject::EtkObject - generating object '  ( name ? name : 
unknown )  ' (  type  )  endl;
-if ( strcmp( type, TopLevelWidget ) == 0 )
-{
-assert( not implemented );
-//_o = ETK_OBJECT( etk_widget_new() );
-}
-else if ( strcmp( type, Embed ) == 0 )
-{
-// already created
-}
-else if ( strcmp( type, Window ) == 0 )
-{
-_o = ETK_OBJECT( etk_window_new() );
-}
-else if ( strcmp( type, Button ) == 0 )
-{
-_o = ETK_OBJECT( etk_button_new() );
-}
-else
-assert( not a known widget );
-}
-
-EtkObject::~EtkObject()
-{
-}
-
-void EtkObject::resize( const Size size )
-{
-etk_widget_size_request_set( ETK_WIDGET(_o), size.width(), size.height() );
-}
-
-void EtkObject::setFillPolicy( )
-{
-}
-
-void EtkObject::setAlignment( )
-{
-}
-
-void EtkObject::init( )
-{
-  _managed = true;
-}
-
-//==//
-// EtkWidget
-//==//
-
-EtkWidget::EtkWidget( EtkObject* parent, const char* type, const char* name )
-:EtkObject( parent, type, name )
-{
-init( );
-}
-
-EtkWidget::~EtkWidget()
-{
-}
-
-void EtkWidget::show()
-{
-etk_widget_show( ETK_WIDGET(_o) );
-}
-
-void EtkWidget::showAll

[EGIT] [bindings/cxx/eflxx] master 38/314: explicit show() needed

2013-12-30 Thread Andreas Volz
tasn pushed a commit to branch master.

http://git.enlightenment.org/bindings/cxx/eflxx.git/commit/?id=6cb886af50fb8ad074dc2db70197ace36e4b60f1

commit 6cb886af50fb8ad074dc2db70197ace36e4b60f1
Author: Andreas Volz li...@brachttal.net
Date:   Sat Apr 18 21:42:15 2009 +

explicit show() needed


SVN revision: 40194
---
 examples/ecore/3dstars/main.cpp | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/examples/ecore/3dstars/main.cpp b/examples/ecore/3dstars/main.cpp
index d86b837..2157922 100644
--- a/examples/ecore/3dstars/main.cpp
+++ b/examples/ecore/3dstars/main.cpp
@@ -105,6 +105,8 @@ int main( int argc, const char **argv )
 
 ( new EcoreTimer( 0.05 ) )-timeout.connect( sigc::ptr_fun( advance ) );
 
+mw-show();
+
 /* Enter the application main loop */
 app-exec();
 

-- 




[EGIT] [bindings/cxx/eflxx] master 31/314: ECORE_EVAS_ENGINE_SOFTWARE_SDL fix

2013-12-30 Thread Andreas Volz
tasn pushed a commit to branch master.

http://git.enlightenment.org/bindings/cxx/eflxx.git/commit/?id=d5557adc3fb6efa6deeddacce0ec8ebe9be7d94e

commit d5557adc3fb6efa6deeddacce0ec8ebe9be7d94e
Author: Andreas Volz li...@brachttal.net
Date:   Mon Apr 6 20:17:22 2009 +

ECORE_EVAS_ENGINE_SOFTWARE_SDL fix


SVN revision: 39882
---
 src/ecore/eflpp_ecore_window.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/ecore/eflpp_ecore_window.h b/src/ecore/eflpp_ecore_window.h
index 72069bc..d22d1d9 100644
--- a/src/ecore/eflpp_ecore_window.h
+++ b/src/ecore/eflpp_ecore_window.h
@@ -29,7 +29,7 @@ class EcoreEvasWindow : public Trackable
   XRenderX11 = ECORE_EVAS_ENGINE_XRENDER_X11,
   DirectFB = ECORE_EVAS_ENGINE_DIRECTFB,
   SoftwareX11_16 = ECORE_EVAS_ENGINE_SOFTWARE_16_X11,
-  SDL = ECORE_EVAS_ENGINE_SDL
+  SDL = ECORE_EVAS_ENGINE_SOFTWARE_SDL
 };
   
   public:

-- 




[EGIT] [bindings/cxx/eflxx] master 79/314: added ElmSpinner

2013-12-30 Thread Andreas Volz
tasn pushed a commit to branch master.

http://git.enlightenment.org/bindings/cxx/eflxx.git/commit/?id=443c0036f38a8a8e619c0661895cff235feca4e9

commit 443c0036f38a8a8e619c0661895cff235feca4e9
Author: Andreas Volz li...@brachttal.net
Date:   Thu Nov 12 21:46:00 2009 +

added ElmSpinner


SVN revision: 43648
---
 elementaryxx/include/elementaryxx/ElmSpinner.h | 39 
 elementaryxx/include/elementaryxx/Makefile.am  |  3 +-
 elementaryxx/src/ElmSpinner.cpp| 61 ++
 elementaryxx/src/Makefile.am   |  3 +-
 4 files changed, 104 insertions(+), 2 deletions(-)

diff --git a/elementaryxx/include/elementaryxx/ElmSpinner.h 
b/elementaryxx/include/elementaryxx/ElmSpinner.h
new file mode 100644
index 000..f78b9e6
--- /dev/null
+++ b/elementaryxx/include/elementaryxx/ElmSpinner.h
@@ -0,0 +1,39 @@
+#ifndef ELM_SPINNER_H
+#define ELM_SPINNER_H
+
+/* STL */
+#include string
+
+/* ELFxx */
+#include ElmObject.h
+
+namespace efl {
+
+/*!
+ * smart callbacks called:
+ * changed - when the spinner value changes
+ * delay,changed - when the spinner value changed, but a small time after a 
change (use this if you only want to respond to a change once the spinner is 
held still for a short while).
+ */
+class ElmSpinner : public ElmObject
+{
+public:
+  static ElmSpinner *factory (EvasObject parent);
+
+private:
+  ElmSpinner (); // forbid standard constructor
+  ElmSpinner (const ElmSpinner); // forbid copy constructor
+  ElmSpinner (EvasObject parent); // private construction - use factory ()
+  ~ElmSpinner (); // forbid direct delete - use ElmWidget::destroy()
+
+  void setLabelFormat (const std::string format);
+  const string getLabelFormat ();
+  void setMinMax (double min, double max);
+  void setStep (double step);
+  void setValue (double val);
+  double getValue ();
+  void setWrap (bool wrap);
+};
+
+} // end namespace efl
+
+#endif // ELM_SPINNER_H
diff --git a/elementaryxx/include/elementaryxx/Makefile.am 
b/elementaryxx/include/elementaryxx/Makefile.am
index 13fa714..f85ddfc 100644
--- a/elementaryxx/include/elementaryxx/Makefile.am
+++ b/elementaryxx/include/elementaryxx/Makefile.am
@@ -26,7 +26,8 @@ libelementaryxx_HEADERS = \
ElmHover.h \
ElmNotepad.h \
ElmAnchorblock.h \
-   ElmAnchorview.h
+   ElmAnchorview.h \
+   ElmSpinner.h
 
 libelementaryxxdir = \
$(pkgincludedir)
diff --git a/elementaryxx/src/ElmSpinner.cpp b/elementaryxx/src/ElmSpinner.cpp
new file mode 100644
index 000..c3979b1
--- /dev/null
+++ b/elementaryxx/src/ElmSpinner.cpp
@@ -0,0 +1,61 @@
+#ifdef HAVE_CONFIG_H
+  #include config.h
+#endif
+
+#include ../include/elementaryxx/ElmSpinner.h
+
+using namespace std;
+
+namespace efl {
+
+ElmSpinner::ElmSpinner (EvasObject parent)
+{
+  o = elm_spinner_add (parent.obj ());
+  
+  elmInit ();
+}
+
+ElmSpinner::~ElmSpinner () {}
+
+ElmSpinner *ElmSpinner::factory (EvasObject parent)
+{
+  return new ElmSpinner (parent);
+}
+
+void ElmSpinner::setLabelFormat (const std::string format)
+{
+  elm_spinner_label_format_set (o, format.c_str ());
+}
+
+const string ElmSpinner::getLabelFormat ()
+{
+  return elm_spinner_label_format_get (o);
+}
+
+void ElmSpinner::setMinMax (double min, double max)
+{
+  elm_spinner_min_max_set (o, min, max);
+}
+
+void ElmSpinner::setStep (double step)
+{
+  elm_spinner_step_set (o, step);
+}
+
+void ElmSpinner::setValue (double val)
+{
+  elm_spinner_value_set (o, val);
+}
+
+double ElmSpinner::getValue ()
+{
+  return elm_spinner_value_get (o);
+}
+
+void ElmSpinner::setWrap (bool wrap)
+{
+
+  elm_spinner_wrap_set (o, wrap);
+}
+
+} // end namespace efl
diff --git a/elementaryxx/src/Makefile.am b/elementaryxx/src/Makefile.am
index 57995cb..8798076 100644
--- a/elementaryxx/src/Makefile.am
+++ b/elementaryxx/src/Makefile.am
@@ -42,5 +42,6 @@ libelementaryxx_la_SOURCES = \
ElmHover.cpp  \
ElmNotepad.cpp  \
ElmAnchorblock.cpp  \
-   ElmAnchorview.cpp
+   ElmAnchorview.cpp  \
+   ElmSpinner.cpp
 

-- 




[EGIT] [bindings/cxx/eflxx] master 163/314: compiles again

2013-12-30 Thread Andreas Volz
tasn pushed a commit to branch master.

http://git.enlightenment.org/bindings/cxx/eflxx.git/commit/?id=70eae1544b9c5e89f46791c60615132c81cd4b44

commit 70eae1544b9c5e89f46791c60615132c81cd4b44
Author: Andreas Volz li...@brachttal.net
Date:   Sun Jul 4 19:57:57 2010 +

compiles again

SVN revision: 50030
---
 ecorexx/include/ecorexx/Animator.h | 2 +-
 ecorexx/include/ecorexx/Timer.h| 2 +-
 ecorexx/src/Animator.cpp   | 2 +-
 ecorexx/src/EvasWindow.cpp | 8 
 ecorexx/src/Timer.cpp  | 2 +-
 5 files changed, 8 insertions(+), 8 deletions(-)

diff --git a/ecorexx/include/ecorexx/Animator.h 
b/ecorexx/include/ecorexx/Animator.h
index 7e86540..58c42c4 100644
--- a/ecorexx/include/ecorexx/Animator.h
+++ b/ecorexx/include/ecorexx/Animator.h
@@ -19,7 +19,7 @@ public:
 private:
   Ecore_Animator* _ea;
 
-  static int __dispatcher( void* data );
+  static Eina_Bool __dispatcher( void* data );
 };
 
 } // end namespace Ecorexx
diff --git a/ecorexx/include/ecorexx/Timer.h b/ecorexx/include/ecorexx/Timer.h
index af8899d..301bac3 100644
--- a/ecorexx/include/ecorexx/Timer.h
+++ b/ecorexx/include/ecorexx/Timer.h
@@ -50,7 +50,7 @@ private:
   Ecore_Timer* _et;
   bool _ss;
 
-  static int __dispatcher( void* data );
+  static Eina_Bool __dispatcher( void* data );
 };
 
 } // end namespace Ecorexx
diff --git a/ecorexx/src/Animator.cpp b/ecorexx/src/Animator.cpp
index 96f6fba..b7d6f5b 100644
--- a/ecorexx/src/Animator.cpp
+++ b/ecorexx/src/Animator.cpp
@@ -34,7 +34,7 @@ bool Animator::tick()
   return true;
 }
 
-int Animator::__dispatcher( void* data )
+Eina_Bool Animator::__dispatcher( void* data )
 {
   Animator* object = reinterpret_castAnimator*( data );
   int result = object-tick();
diff --git a/ecorexx/src/EvasWindow.cpp b/ecorexx/src/EvasWindow.cpp
index 1588f18..cc4c2b0 100644
--- a/ecorexx/src/EvasWindow.cpp
+++ b/ecorexx/src/EvasWindow.cpp
@@ -462,7 +462,7 @@ EvasWindowSoftwareX11::EvasWindowSoftwareX11( const 
Eflxx::Size size, const cha
   ecore_evas_title_set( _ee, Application::getInstance()-getName().c_str() );
   ecore_evas_borderless_set( _ee, 0 );
 
-  _canvas = new Evasxx::Canvas( ecore_evas_get( _ee ) );
+  _canvas = Evasxx::Canvas::wrap ( ecore_evas_get( _ee ) );
 
   /* Set up magic object back link */
   ecore_evas_data_set( _ee, obj_c++, this );
@@ -501,7 +501,7 @@ EvasWindowGLX11::EvasWindowGLX11( const Eflxx::Size size, 
const char* display )
   ecore_evas_title_set( _ee, Application::getInstance()-getName().c_str() );
   ecore_evas_borderless_set( _ee, 0 );
 
-  _canvas = new Evasxx::Canvas( ecore_evas_get( _ee ) );
+  _canvas = Evasxx::Canvas::wrap (ecore_evas_get( _ee ));
 
   /* Set up magic object back link */
   ecore_evas_data_set( _ee, obj_c++, this );
@@ -541,7 +541,7 @@ EvasWindowXRenderX11::EvasWindowXRenderX11( const 
Eflxx::Size size, const char*
   ecore_evas_title_set( _ee, Application::getInstance()-getName().c_str() );
   ecore_evas_borderless_set( _ee, 0 );
 
-  _canvas = new Evasxx::Canvas( ecore_evas_get( _ee ) );
+  _canvas = Evasxx::Canvas::wrap (ecore_evas_get( _ee ));
 
   /* Set up magic object back link */
   ecore_evas_data_set( _ee, obj_c++, this );
@@ -622,7 +622,7 @@ EvasWindowFB::EvasWindowFB( const Eflxx::Size size, const 
char* display, int ro
   ecore_evas_title_set( _ee, Application::getInstance()-getName().c_str() );
   ecore_evas_borderless_set( _ee, 0 );
 
-  _canvas = new Evasxx::Canvas( ecore_evas_get( _ee ) );
+  _canvas = Evasxx::Canvas::wrap (ecore_evas_get( _ee ));
 
   /* Set up magic object back link */
   ecore_evas_data_set( _ee, obj_c++, this );
diff --git a/ecorexx/src/Timer.cpp b/ecorexx/src/Timer.cpp
index 6691ea0..e4a788b 100644
--- a/ecorexx/src/Timer.cpp
+++ b/ecorexx/src/Timer.cpp
@@ -81,7 +81,7 @@ void Timer::setPrecision (double precision)
   Dout( dc::notice, Timer[   this   ]::tick() );
 }*/
 
-int Timer::__dispatcher( void* data )
+Eina_Bool Timer::__dispatcher( void* data )
 {
   Timer* object = reinterpret_castTimer*( data );
   assert( object );

-- 




[EGIT] [bindings/cxx/eflxx] master 170/314: implemented test_genlist4()

2013-12-30 Thread Andreas Volz
tasn pushed a commit to branch master.

http://git.enlightenment.org/bindings/cxx/eflxx.git/commit/?id=ed1295f579206cf552f51690ca67bd3f1f4d8a86

commit ed1295f579206cf552f51690ca67bd3f1f4d8a86
Author: Andreas Volz li...@brachttal.net
Date:   Fri Jul 9 21:24:20 2010 +

implemented test_genlist4()

SVN revision: 50167
---
 .../src/elementaryxx/full/test_genlist.cpp | 184 ++---
 1 file changed, 85 insertions(+), 99 deletions(-)

diff --git a/eflxx_examples/src/elementaryxx/full/test_genlist.cpp 
b/eflxx_examples/src/elementaryxx/full/test_genlist.cpp
index 688b33f..4ba0fc6 100644
--- a/eflxx_examples/src/elementaryxx/full/test_genlist.cpp
+++ b/eflxx_examples/src/elementaryxx/full/test_genlist.cpp
@@ -743,83 +743,81 @@ void test_genlist3(void *data, Evas_Object *obj, void 
*event_info)
   win-resize (size320x320);
   win-show ();
 }
-#if 0
+
 /*/
 
-static void
-my_gl_item_check_changed(void *data, Evas_Object *obj, void *event_info)
+static void my_gl_item_check_changed (Evasxx::Object obj, void *event_info, 
TestItem *tit)
 {
-   Testitem *tit = data;
-   tit-onoff = elm_check_state_get(obj);
-   printf(item %p onoff = %i\n, tit, tit-onoff);
+  Check *check = static_cast Check* (obj);
+  
+  tit-onoff = check-getState ();
+  printf(item %p onoff = %i\n, tit, tit-onoff);
 }
 
-static Elm_Genlist_Item_Class itc3;
-char *gl3_label_get(const void *data, Evas_Object *obj, const char *part)
-{
-   const Testitem *tit = data;
-   char buf[256];
-   snprintf(buf, sizeof(buf), Item mode %i, tit-mode);
-   return strdup(buf);
-}
-Evas_Object *gl3_icon_get(const void *data, Evas_Object *obj, const char *part)
-{
-   const Testitem *tit = data;
-   char buf[PATH_MAX];
-   if (!strcmp(part, elm.swallow.icon))
- {
-Evas_Object *lb;
-
-lb = elm_label_add(obj);
-elm_label_line_wrap_set(lb, 1);
-elm_label_wrap_width_set(lb, 201);
-elm_label_label_set(lb, ashj ascjscjh n asjkl hcjlh ls hzshnn zjh sh 
zxjcjsnd h dfw sdv edev efe fwefvv vsd cvs ws wf  fvwf wd fwe f  we wef we wfe 
rfwewef wfv wswf wefg sdfws w wsdcfwcf wsc vdv  sdsd sdcd cv wsc sdcv wsc d 
sdcdcsd sdcdsc wdvd sdcsd wscxcv wssvd sd);
-evas_object_show(lb);
-return lb;
-
-   Evas_Object *bx = elm_box_add(obj);
-   Evas_Object *ic;
-   ic = elm_icon_add(obj);
-   snprintf(buf, sizeof(buf), %s/images/logo_small.png, 
PACKAGE_DATA_DIR);
-   elm_icon_file_set(ic, buf, NULL);
-   elm_icon_scale_set(ic, 0, 0);
-   evas_object_show(ic);
-   elm_box_pack_end(bx, ic);
-   ic = elm_icon_add(obj);
-   elm_icon_file_set(ic, buf, NULL);
-   elm_icon_scale_set(ic, 0, 0);
-   evas_object_show(ic);
-   elm_box_pack_end(bx, ic);
-elm_box_horizontal_set(bx, 1);
-   evas_object_show(bx);
-   return bx;
- }
-   else if (!strcmp(part, elm.swallow.end))
- {
-   Evas_Object *ck;
-   ck = elm_check_add(obj);
-   evas_object_propagate_events_set(ck, 0);
-   elm_check_state_set(ck, tit-onoff);
-   evas_object_smart_callback_add(ck, changed, my_gl_item_check_changed, 
data);
-   evas_object_show(ck);
-   return ck;
- }
-   return NULL;
-}
-Eina_Bool gl3_state_get(const void *data, Evas_Object *obj, const char *part)
-{
-   return EINA_FALSE;
-}
-void gl3_del(const void *data, Evas_Object *obj)
+
+class GenListDataModel4 : public GenListDataModel
 {
-}
-#endif
-void
-test_genlist4(void *data, Evas_Object *obj, void *event_info)
+public:
+  GenListDataModel4 (const std::string style) :
+GenListDataModel (style) {}
+
+  ~GenListDataModel4 () {}
+
+  std::string getLabel (GenListColumnConstructor *construction, Evasxx::Object 
obj, const std::string part) const
+  { 
+GenListColumnConstructor3 *construct1 = static_cast 
GenListColumnConstructor3* (construction);
+cout  GenListDataModel::getLabel  endl;
+
+return Item mode  + toString int (construct1-getTestItem ()-mode);
+  }
+
+  Elmxx::Object *getIcon (GenListColumnConstructor *construction, 
Evasxx::Object obj, const std::string part)
+  {
+GenListColumnConstructor3 *construct1 = static_cast 
GenListColumnConstructor3* (construction);
+TestItem *tit = construct1-getTestItem ();
+
+Window *win = static_cast Window* (obj);
+
+
+if (part == elm.swallow.icon)
+{
+  Label *lb = Label::factory (*win);
+
+  lb-setLineWrap (true);  
+  lb-setWrapWidth (201);
+  lb-setLabel (ashj ascjscjh n asjkl hcjlh ls hzshnn zjh sh zxjcjsnd h 
dfw sdv edev efe fwefvv vsd cvs ws wf  fvwf wd fwe f  we wef we wfe rfwewef wfv 
wswf wefg sdfws w wsdcfwcf wsc vdv  sdsd sdcd cv wsc sdcv wsc d sdcdcsd sdcdsc 
wdvd sdcsd wscxcv wssvd sd);
+  lb-show ();
+
+  return lb;
+}
+else if (part == elm.swallow.end)
+{
+  Check *ck = Check::factory (*win);
+  
+  ck-setEventsPropagate (false);
+   ck-setState (tit-onoff);
+  ck

[EGIT] [bindings/cxx/eflxx] master 99/314: API change left over

2013-12-30 Thread Andreas Volz
tasn pushed a commit to branch master.

http://git.enlightenment.org/bindings/cxx/eflxx.git/commit/?id=e72e6c9c8f3cdc55d8482981c90adb5022caa1f7

commit e72e6c9c8f3cdc55d8482981c90adb5022caa1f7
Author: Andreas Volz li...@brachttal.net
Date:   Tue Dec 1 19:14:12 2009 +

API change left over


SVN revision: 44105
---
 eflxx/include/eflxx/{eflpp_sys.h = System.h} | 0
 evasxx/include/evasxx/Utils.h | 2 +-
 2 files changed, 1 insertion(+), 1 deletion(-)

diff --git a/eflxx/include/eflxx/eflpp_sys.h b/eflxx/include/eflxx/System.h
similarity index 100%
rename from eflxx/include/eflxx/eflpp_sys.h
rename to eflxx/include/eflxx/System.h
diff --git a/evasxx/include/evasxx/Utils.h b/evasxx/include/evasxx/Utils.h
index d05e4f5..457d269 100644
--- a/evasxx/include/evasxx/Utils.h
+++ b/evasxx/include/evasxx/Utils.h
@@ -2,7 +2,7 @@
 #define EVAS_UTILS_H
 
 /* EFL++ */
-#include eflxx/eflpp_sys.h
+#include eflxx/Eflxx.h
 
 /* EFL */
 #include Evas.h

-- 




[EGIT] [bindings/cxx/eflxx] master 86/314: test for progressbar added

2013-12-30 Thread Andreas Volz
tasn pushed a commit to branch master.

http://git.enlightenment.org/bindings/cxx/eflxx.git/commit/?id=457cc83cbb5897b38834b025b363822433465fff

commit 457cc83cbb5897b38834b025b363822433465fff
Author: Andreas Volz li...@brachttal.net
Date:   Sun Nov 15 21:54:31 2009 +

test for progressbar added


SVN revision: 43719
---
 eflxx_examples/src/elementaryxx/full/Makefile.am   |   9 +-
 eflxx_examples/src/elementaryxx/full/main.cpp  |   8 +-
 .../src/elementaryxx/full/test_progressbar.cpp | 214 +
 3 files changed, 225 insertions(+), 6 deletions(-)

diff --git a/eflxx_examples/src/elementaryxx/full/Makefile.am 
b/eflxx_examples/src/elementaryxx/full/Makefile.am
index 46a06a2..36f2c80 100644
--- a/eflxx_examples/src/elementaryxx/full/Makefile.am
+++ b/eflxx_examples/src/elementaryxx/full/Makefile.am
@@ -20,17 +20,20 @@ elementaryxx_example_full_SOURCES = \
test_check.cpp   \
test_radio.cpp   \
test_spinner.cpp   \
-   test_panel.cpp
+   test_panel.cpp   \
+   test_progressbar.cpp
 
 elementaryxx_example_full_LDADD = \
$(ELEMENTARYXX_LIBS) \
-   $(PACKAGE_SOURCE_DIR)/src/common/libeflxx_example_common.la
+   $(PACKAGE_SOURCE_DIR)/src/common/libeflxx_example_common.la \
+   $(ECOREXX_LIBS)
 
 elementaryxx_example_full_DEPENDENCIES = \
$(PACKAGE_SOURCE_DIR)/src/common/libeflxx_example_common.la
 
 AM_CPPFLAGS = \
-   $(ELEMENTARYXX_CFLAGS)
+   $(ELEMENTARYXX_CFLAGS)\
+   $(ECOREXX_CFLAGS)
 
 ## File created by the gnome-build tools
 
diff --git a/eflxx_examples/src/elementaryxx/full/main.cpp 
b/eflxx_examples/src/elementaryxx/full/main.cpp
index 4d352fd..ed9ee68 100644
--- a/eflxx_examples/src/elementaryxx/full/main.cpp
+++ b/eflxx_examples/src/elementaryxx/full/main.cpp
@@ -49,8 +49,9 @@ void test_genlist6(void *data, Evas_Object *obj, void 
*event_info);*/
 void test_table(void *data, Evas_Object *obj, void *event_info);
 /*void test_pager(void *data, Evas_Object *obj, void *event_info);
 void test_win_state(void *data, Evas_Object *obj, void *event_info);
+*/
 void test_progressbar(void *data, Evas_Object *obj, void *event_info);
-void test_fileselector(void *data, Evas_Object *obj, void *event_info);
+/*void test_fileselector(void *data, Evas_Object *obj, void *event_info);
 void test_separator(void *data, Evas_Object *obj, void *event_info);*/
 void test_scroller(void *data, Evas_Object *obj, void *event_info);
 void test_spinner(void *data, Evas_Object *obj, void *event_info);
@@ -191,8 +192,9 @@ int main (int argc, char **argv)
   li.append(Genlist Tree, NULL, NULL, my_bt_36, NULL);
   li.append(Genlist 5, NULL, NULL, my_bt_37, NULL);
   li.append(Window States, NULL, NULL, my_bt_38, NULL);
-   
-  elm_list_item_append(li, Progressbar, NULL, NULL, test_progressbar, NULL);
+  */
+  li-append (Progressbar, test_progressbar, NULL);
+  /*
   elm_list_item_append(li, File Selector, NULL, NULL, test_fileselector, 
NULL);
   elm_list_item_append(li, Separator, NULL, NULL, test_separator, NULL);
   elm_list_item_append(li, Scroller, NULL, NULL, test_scroller, NULL);
diff --git a/eflxx_examples/src/elementaryxx/full/test_progressbar.cpp 
b/eflxx_examples/src/elementaryxx/full/test_progressbar.cpp
new file mode 100644
index 000..c4af483
--- /dev/null
+++ b/eflxx_examples/src/elementaryxx/full/test_progressbar.cpp
@@ -0,0 +1,214 @@
+#include test.h
+
+#include ecorexx/Ecorexx.h
+
+typedef struct Progressbar
+{
+  ElmProgressbar *pb1;
+  ElmProgressbar *pb2;
+  ElmProgressbar *pb3;
+  ElmProgressbar *pb4;
+  ElmProgressbar *pb5;
+  ElmProgressbar *pb6;
+  ElmProgressbar *pb7;
+  bool run;
+  Ecore_Timer *timer; // TODO: port to EcoreTimer
+} Progressbar;
+
+static Progressbar _test_progressbar;
+
+static int _my_progressbar_value_set (void *data)
+{
+  double progress;
+
+  progress = _test_progressbar.pb1-getValue ();
+  
+  if (progress  1.0)
+  {
+progress += 0.0123;
+  }
+  else 
+  {
+progress = 0.0;
+  }
+  
+  
+  _test_progressbar.pb1-setValue (progress);
+  _test_progressbar.pb4-setValue (progress);
+  _test_progressbar.pb3-setValue (progress);
+  _test_progressbar.pb6-setValue (progress);
+  
+  if (progress  1.0)
+  {
+return ECORE_CALLBACK_RENEW;
+  }
+  
+  _test_progressbar.run = false;
+
+  return ECORE_CALLBACK_CANCEL;
+}
+
+static void my_progressbar_test_start (Evas_Object *obj, void *event_info)
+{
+  _test_progressbar.pb2-pulse (true);
+  _test_progressbar.pb5-pulse (true);
+  _test_progressbar.pb7-pulse (true);
+  
+  if (!_test_progressbar.run)
+  {
+_test_progressbar.timer = ecore_timer_add (0.1, _my_progressbar_value_set, 
NULL);
+_test_progressbar.run = true;
+  }
+}
+
+static void my_progressbar_test_stop (Evas_Object *obj, void *event_info)
+{
+  _test_progressbar.pb2-pulse (false);
+  _test_progressbar.pb5-pulse (false);
+  _test_progressbar.pb7-pulse (false

[EGIT] [bindings/cxx/eflxx] master 151/314: use C++ version of signal prototype

2013-12-30 Thread Andreas Volz
tasn pushed a commit to branch master.

http://git.enlightenment.org/bindings/cxx/eflxx.git/commit/?id=fc3106464a2ed8eda09bc57f009b54e86fdcebcb

commit fc3106464a2ed8eda09bc57f009b54e86fdcebcb
Author: Andreas Volz li...@brachttal.net
Date:   Mon May 31 21:35:16 2010 +

use C++ version of signal prototype

SVN revision: 49362
---
 eflxx_examples/src/elementaryxx/full/main.cpp  |  4 +-
 .../src/elementaryxx/full/test_entry.cpp   |  8 +--
 .../src/elementaryxx/full/test_genlist.cpp | 70 ++
 .../src/elementaryxx/full/test_hover.cpp   |  2 +-
 eflxx_examples/src/elementaryxx/full/test_icon.cpp |  2 +-
 .../src/elementaryxx/full/test_notepad.cpp |  6 +-
 .../src/elementaryxx/full/test_progressbar.cpp | 15 +++--
 eflxx_examples/src/elementaryxx/simple/main.cpp|  4 +-
 8 files changed, 69 insertions(+), 42 deletions(-)

diff --git a/eflxx_examples/src/elementaryxx/full/main.cpp 
b/eflxx_examples/src/elementaryxx/full/main.cpp
index 18a2214..1472377 100644
--- a/eflxx_examples/src/elementaryxx/full/main.cpp
+++ b/eflxx_examples/src/elementaryxx/full/main.cpp
@@ -7,7 +7,7 @@
 
 
 #ifndef ELM_LIB_QUICKLAUNCH
-static void my_win_del(Evas_Object *obj, void *event_info);
+static void my_win_del(Evasxx::Object obj, void *event_info);
 static void my_win_main(void);
 
 //
@@ -71,7 +71,7 @@ Application *elmApp;
 
 
 static void
-my_win_del(Evas_Object *obj, void *event_info)
+my_win_del (Evasxx::Object obj, void *event_info)
 {
   // TODO
   /* called when my_win_main is requested to be deleted */
diff --git a/eflxx_examples/src/elementaryxx/full/test_entry.cpp 
b/eflxx_examples/src/elementaryxx/full/test_entry.cpp
index b6f2e6b..4f94f72 100644
--- a/eflxx_examples/src/elementaryxx/full/test_entry.cpp
+++ b/eflxx_examples/src/elementaryxx/full/test_entry.cpp
@@ -1,23 +1,23 @@
 #include test.h
 
-static void my_entry_bt_1 (Evas_Object *obj, void *event_info, Entry *en)
+static void my_entry_bt_1 (Evasxx::Object obj, void *event_info, Entry *en)
 {
   en-setText ();
 }
 
-static void my_entry_bt_2 (Evas_Object *obj, void *event_info, Entry *en)
+static void my_entry_bt_2 (Evasxx::Object obj, void *event_info, Entry *en)
 {
   const string s = en-getText ();
   cout  ENTRY:   s  endl;
 }
 
-static void my_entry_bt_3 (Evas_Object *obj, void *event_info, Entry *en)
+static void my_entry_bt_3 (Evasxx::Object obj, void *event_info, Entry *en)
 {
   const string s = en-getSelection ();
   cout  SELECTION:   s  endl;
 }
 
-static void my_entry_bt_4 (Evas_Object *obj, void *event_info, Entry *en)
+static void my_entry_bt_4 (Evasxx::Object obj, void *event_info, Entry *en)
 {
   en-insertText (Insert some bBOLD/ text);
 }
diff --git a/eflxx_examples/src/elementaryxx/full/test_genlist.cpp 
b/eflxx_examples/src/elementaryxx/full/test_genlist.cpp
index 830bfc0..c4359a5 100644
--- a/eflxx_examples/src/elementaryxx/full/test_genlist.cpp
+++ b/eflxx_examples/src/elementaryxx/full/test_genlist.cpp
@@ -15,7 +15,7 @@ public:
   {}
   
   void setItemNum (int num) {mItemNum = num;}
-  int getItemNum () {return mItemNum;}
+  int getItemNum () const {return mItemNum;}
   
 private:
   int mItemNum;
@@ -60,6 +60,16 @@ public:
   }
 };
 
+class GenListColumnSelector1 : public GenListColumnSelector
+{
+public:
+  void setItemNum (int num) {mItemNum = num;}
+  int getItemNum () const {return mItemNum;}
+  
+private:
+  int mItemNum;
+};
+
 static GenListDataModel1 model (default);
 static GenListDataModel1 model2 (default);
 static GenListDataModel1 model3 (default);
@@ -70,9 +80,17 @@ static GenListDataModel1 model3 (default);
  */
 std::vector GenListColumnConstructor1* constructList1;
 
-void glSelected (const Evasxx::Object obj, void *event_info)
+/*
+ * Hint: 'selectList1' isn't cleaned up at exit. Normal applications should do 
this.
+ *   This could be done at the GenList or Window destructor. For this 
example it's ok...
+ */
+std::vector GenListColumnSelector1* selectList1; 
+
+void glSelected (GenListColumnSelector selection, const Evasxx::Object obj, 
void *event_info)
 {
-  cout  glSelected  endl;
+  GenListColumnSelector1 *selection1 = static_cast GenListColumnSelector1* 
(selection);
+  
+  cout  glSelected:   selection1-getItemNum ()  endl;
 }
 
 void _move (const Evasxx::MouseMoveEvent ev, GenList *gl)
@@ -94,39 +112,33 @@ _move(void *data, Evas *evas, Evas_Object *obj, void 
*event_info)
else
  printf(over none, where %i\n, where);
 }
-
-static void
-_bt50_cb(void *data, Evas_Object *obj, void *event_info)
+#endif // 0
+static void _bt50_cb (Evasxx::Object obj, void *event_info)
 {
-elm_genlist_item_bring_in(data);
+  //elm_genlist_item_bring_in(data);
 }
 
-static void
-_bt1500_cb(void *data, Evas_Object *obj, void *event_info)
+static void _bt1500_cb (Evasxx::Object obj, void *event_info)
 {
-elm_genlist_item_middle_bring_in(data);
+  //elm_genlist_item_middle_bring_in(data);
 }
-#endif // 0
-static void
-_gl_selected (Evas_Object

[EGIT] [bindings/cxx/eflxx] master 84/314: wrap EdjeEdit group API

2013-12-30 Thread Andreas Volz
tasn pushed a commit to branch master.

http://git.enlightenment.org/bindings/cxx/eflxx.git/commit/?id=f56daeae2792815a498475c3e29e59db3fc907d0

commit f56daeae2792815a498475c3e29e59db3fc907d0
Author: Andreas Volz li...@brachttal.net
Date:   Sun Nov 15 14:24:55 2009 +

wrap EdjeEdit group API


SVN revision: 43709
---
 edjexx/include/edjexx/EdjeEdit.h | 167 +--
 edjexx/src/EdjeEdit.cpp  |  60 ++
 2 files changed, 148 insertions(+), 79 deletions(-)

diff --git a/edjexx/include/edjexx/EdjeEdit.h b/edjexx/include/edjexx/EdjeEdit.h
index 416acca..7e35230 100644
--- a/edjexx/include/edjexx/EdjeEdit.h
+++ b/edjexx/include/edjexx/EdjeEdit.h
@@ -123,90 +123,99 @@ edje_edit_string_free(
   /** @name Groups API
  *  Functions to deal with groups property (see @ref edcref).
  */ //@{
-
-  #if 0
   
-/**Create a new empty group in the given edje.
- * If a group with the same name exist none is created.
- */
-EAPI Eina_Bool ///@return 1 on success, 0 on failure
-edje_edit_group_add(
-   Evas_Object *obj,   /// The edje object
-   const char  *name   /// The name for the new empty group
-);
+  /*!
+   * Create a new empty group in the given edje.
+   * If a group with the same name exist none is created.
+   *
+   * @param name The name for the new empty group
+   * @return true on success, false on failure
+   */
+  bool addGroup (const std::string name);
+ 
+  /*!
+   * Delete the current group from the given edje.
+   * You can only delete the currently loaded group.
+   * All the parts and the programs inside the group will be deleted as well,
+   * but not image or font embedded in the edje.
+   *
+   * @return true on success, false on failure
+   */
+  bool delGroup ();
 
-/**Delete the current group from the given edje.
- * You can only delete the currently loaded group.
- * All the parts and the programs inside the group will be deleted as well,
- * but not image or font embedded in the edje.
- */
-EAPI Eina_Bool ///@return 1 on success, 0 on failure
-edje_edit_group_del(
-   Evas_Object *obj/// The edje object
-);
+  /*!
+   * Check if a group with the given name exist in the edje.
+   *
+   * @return true on success, false on failure
+   */
+  bool hasGroup (const std::string group);
 
-/**Check if a group with the given name exist in the edje.
- */
-EAPI Eina_Bool /// 1 if the group exist, 0 otherwise.
-edje_edit_group_exist(
-   Evas_Object *obj,   /// The edje object
-   const char *group   /// The name of the group
-);
+  /*!
+   * Set a new name for the current open group.
+   * You can only rename a group that is currently loaded
+   * Note that the relative getter function don't exist as it don't make sense 
;)
+   *
+   * @return true on success, false on failure
+   */
+  bool setGroupName (const std::string newName);
 
-/**Set a new name for the current open group.
- * You can only rename a group that is currently loaded
- * Note that the relative getter function don't exist as it don't make sense ;)
- */
-EAPI Eina_Bool ///@return 1 on success, 0 on failure
-edje_edit_group_name_set(
-   Evas_Object *obj,   /// The edje object
-   const char  *new_name   /// The new name for the group
-);
-/**Get the group min width*/
-EAPI int  ///@return The minw value or -1 on errors
-edje_edit_group_min_w_get(
-   Evas_Object *obj   /// The edje object
-);
-/**Set the group min width*/
-EAPI void
-edje_edit_group_min_w_set(
-   Evas_Object *obj,   /// The edje object
-   int w   /// The new group minimum width in pixel
-);
-/**Get the group min height*/
-EAPI int  ///@return The minh value or -1 on errors
-edje_edit_group_min_h_get(
-   Evas_Object *obj   /// The edje object
-);
-/**Set the group min height*/
-EAPI void
-edje_edit_group_min_h_set(
-   Evas_Object *obj,   /// The edje object
-   int h   /// The new group minimum height in pixel
-);
-/**Get the group max width*/
-EAPI int  ///@return The maxw value or -1 on errors
-edje_edit_group_max_w_get(
-   Evas_Object *obj   /// The edje object
-);
-/**Set the group max width*/
-EAPI void
-edje_edit_group_max_w_set(
-   Evas_Object *obj,   /// The edje object
-   int w   /// The new group maximum width in pixel
-);
-/**Get the group max height*/
-EAPI int  ///@return The maxh value or -1 on errors
-edje_edit_group_max_h_get(
-   Evas_Object *obj   /// The edje object
-);
-/**Set the group max height*/
-EAPI void
-edje_edit_group_max_h_set(
-   Evas_Object *obj,   /// The edje object
-   int h   /// The new group maximum height in pixel
-);
+  /*!
+   * Get the group min width
+   *
+   * @return min width on success, -1 on errors
+   */
+  int getGroupMinWidth ();
+
+  /*!
+   * Set the group min width
+   *
+   * @param width The new group min width in pixel

[EGIT] [bindings/cxx/eflxx] master 195/314: - wrap elmxx type access functions - change example to demonstrate type save and type unsave External access (now commited from my second system...)

2013-12-30 Thread Andreas Volz
tasn pushed a commit to branch master.

http://git.enlightenment.org/bindings/cxx/eflxx.git/commit/?id=1182a56653ca37242f48ed85ad7bdb09297c6b61

commit 1182a56653ca37242f48ed85ad7bdb09297c6b61
Author: Andreas Volz li...@brachttal.net
Date:   Mon Dec 27 12:00:52 2010 +

- wrap elmxx type access functions
- change example to demonstrate type save and type unsave External access
(now commited from my second system...)


SVN revision: 55761
---
 compile.sh|  2 +-
 eflxx_examples/src/elementaryxx/external/main.cpp | 23 +++
 elementaryxx/include/elementaryxx/Object.h| 20 
 elementaryxx/src/Object.cpp   | 28 +++
 4 files changed, 68 insertions(+), 5 deletions(-)

diff --git a/compile.sh b/compile.sh
index 739a2c9..f566cf5 100755
--- a/compile.sh
+++ b/compile.sh
@@ -1,5 +1,5 @@
 #!/bin/bash
-#test
+
 PKG=eflxx
  einaxx
  evasxx
diff --git a/eflxx_examples/src/elementaryxx/external/main.cpp 
b/eflxx_examples/src/elementaryxx/external/main.cpp
index 3834f91..3dcd9a8 100644
--- a/eflxx_examples/src/elementaryxx/external/main.cpp
+++ b/eflxx_examples/src/elementaryxx/external/main.cpp
@@ -47,10 +47,12 @@ int main (int argc, char **argv)
   edje-setLayer (0);
   edje-show ();
 
+  // This access is type unsafe as a cast is done without checking prior the 
type!
   Eflxx::CountedPtr Evasxx::Object ext_eo (edje-getPart 
(Button01)-getExternalObject ());
   Elmxx::Button *button = static_cast Elmxx::Button* ((*ext_eo));
   button-setLabel (This is a changed button);
 
+  // This access is type unsafe as a cast is done without checking prior the 
type!
   Eflxx::CountedPtr Evasxx::Object ext_eo2 (edje-getPart 
(List01)-getExternalObject ());
   Elmxx::List *list = static_cast Elmxx::List* ((*ext_eo2));
   assert (list-append (1. Line, NULL, NULL));
@@ -59,11 +61,24 @@ int main (int argc, char **argv)
   assert (list-append (4. Line, NULL, NULL));
   list-go ();
 
+  // The code below accesses a Edje External widget (here: Elementary 
Progressbar) in a type save way
   Eflxx::CountedPtr Evasxx::Object ext_eo3 (edje-getPart 
(Progressbar01)-getExternalObject ());
-  Elmxx::Progressbar *progressbar = static_cast Elmxx::Progressbar* 
((*ext_eo3));
-  progressbar-setLabel (This is the status);
-  progressbar-setValue (0.5);
-
+  cout  Edje Widget type:   ext_eo3-getType ()  endl;
+  if (ext_eo3-getType () == elm_widget)
+  {
+Elmxx::Object *elm_object = static_cast Elmxx::Object* ((*ext_eo3));
+
+cout  Elm Widget type:   elm_object-getWidgetType ()  endl;
+if (elm_object-getWidgetType () == progressbar)
+{
+  Elmxx::Progressbar *progressbar = static_cast Elmxx::Progressbar* 
(elm_object);
+  progressbar-setLabel (This is the status);
+  progressbar-setValue (0.5);
+  progressbar-obj();
+}
+  }
+
+  // This External access is save as it only calls the ExternalParam interface
   Eflxx::CountedPtr Edjexx::Part part (edje-getPart (Slider01));
 
   Edjexx::ExternalParam param (value, 5.0f);
diff --git a/elementaryxx/include/elementaryxx/Object.h 
b/elementaryxx/include/elementaryxx/Object.h
index 4be5887..093ee14 100644
--- a/elementaryxx/include/elementaryxx/Object.h
+++ b/elementaryxx/include/elementaryxx/Object.h
@@ -24,6 +24,26 @@ public:
   
   virtual void focus ();
 
+  /*!
+   * Check if the given Evas Object is an Elementary widget.
+   */
+  bool checkWidget ();
+ 
+  /*!
+   * Get the first parent of the given object that is an Elementary widget.
+   */
+   Eflxx::CountedPtr Evasxx::Object getParentWidget ();
+
+  /*!
+   * Get the top level parent of an Elementary widget.
+   */
+   Eflxx::CountedPtr Evasxx::Object getTopWidget ();
+
+  /*!
+   * Get the string that represents this Elementary widget. 
+   */
+  const std::string getWidgetType ();  
+
   /*void elm_object_scroll_hold_push(Evas_Object *obj);
   void elm_object_scroll_hold_pop(Evas_Object *obj);
   void elm_object_scroll_freeze_push(Evas_Object *obj);
diff --git a/elementaryxx/src/Object.cpp b/elementaryxx/src/Object.cpp
index 62731de..920fc9b 100644
--- a/elementaryxx/src/Object.cpp
+++ b/elementaryxx/src/Object.cpp
@@ -79,4 +79,32 @@ void Object::focus ()
   elm_object_focus (o); 
 }
 
+bool Object::checkWidget ()
+{
+  return elm_object_widget_check (o);
+}
+
+Eflxx::CountedPtr Evasxx::Object Object::getParentWidget ()
+{
+  Evas_Object *eo = elm_object_parent_widget_get (o);
+ 
+  Evasxx::Object *ret_o = Evasxx::Object::wrap (eo);
+
+  return Eflxx::CountedPtr Evasxx::Object (ret_o);
+}
+
+Eflxx::CountedPtr Evasxx::Object Object::getTopWidget ()
+{
+  Evas_Object *eo = elm_object_top_widget_get (o);
+ 
+  Evasxx::Object *ret_o = Evasxx::Object::wrap (eo);
+
+  return Eflxx::CountedPtr Evasxx::Object (ret_o);
+}
+
+const std::string Object::getWidgetType ()
+{
+  return elm_object_widget_type_get (o);
+}
+
 } // end namespace

[EGIT] [bindings/cxx/eflxx] master 95/314: remove ewlxx and etkxx examples

2013-12-30 Thread Andreas Volz
tasn pushed a commit to branch master.

http://git.enlightenment.org/bindings/cxx/eflxx.git/commit/?id=f3bbeeccc558bb1143d9b783a887d2a426ff37de

commit f3bbeeccc558bb1143d9b783a887d2a426ff37de
Author: Andreas Volz li...@brachttal.net
Date:   Mon Nov 30 21:38:39 2009 +

remove ewlxx and etkxx examples


SVN revision: 44070
---
 eflxx_examples/src/etkxx/Makefile.am|  7 ---
 eflxx_examples/src/etkxx/embed/Makefile.am  | 25 -
 eflxx_examples/src/etkxx/embed/main.cpp | 72 --
 eflxx_examples/src/etkxx/simple/Makefile.am | 23 -
 eflxx_examples/src/etkxx/simple/main.cpp| 36 -
 eflxx_examples/src/ewlxx/Makefile.am|  7 ---
 eflxx_examples/src/ewlxx/embed/Makefile.am  | 26 --
 eflxx_examples/src/ewlxx/embed/main.cpp | 78 -
 eflxx_examples/src/ewlxx/simple/Makefile.am | 26 --
 eflxx_examples/src/ewlxx/simple/main.cpp| 34 -
 10 files changed, 334 deletions(-)

diff --git a/eflxx_examples/src/etkxx/Makefile.am 
b/eflxx_examples/src/etkxx/Makefile.am
deleted file mode 100644
index 677e36f..000
--- a/eflxx_examples/src/etkxx/Makefile.am
+++ /dev/null
@@ -1,7 +0,0 @@
-
-SUBDIRS = \
-   embed\
-   simple
-
-## File created by the gnome-build tools
-
diff --git a/eflxx_examples/src/etkxx/embed/Makefile.am 
b/eflxx_examples/src/etkxx/embed/Makefile.am
deleted file mode 100644
index 38f1f96..000
--- a/eflxx_examples/src/etkxx/embed/Makefile.am
+++ /dev/null
@@ -1,25 +0,0 @@
-
-bin_PROGRAMS = \
-   etkxx_example_embed
-
-etkxx_example_embed_SOURCES = \
-   main.cpp
-
-etkxx_example_embed_LDADD = \
-   $(ETKXX_LIBS) \
-   $(EFL_LIBS) \
-   $(EDJEXX_LIBS) \
-   $(ECOREXX_LIBS) \
-   $(PACKAGE_SOURCE_DIR)/src/common/libeflxx_example_common.la
-
-etkxx_example_embed_DEPENDENCIES = \
-   $(PACKAGE_SOURCE_DIR)/src/common/libeflxx_example_common.la
-
-AM_CPPFLAGS = \
-   $(ETKXX_CFLAGS) \
-   $(EFL_CFLAGS) \
-   $(EDJEXX_CFLAGS) \
-   $(ECOREXX_CFLAGS)
-
-## File created by the gnome-build tools
-
diff --git a/eflxx_examples/src/etkxx/embed/main.cpp 
b/eflxx_examples/src/etkxx/embed/main.cpp
deleted file mode 100644
index 849ff6d..000
--- a/eflxx_examples/src/etkxx/embed/main.cpp
+++ /dev/null
@@ -1,72 +0,0 @@
-#include eflxx/eflpp_sys.h
-#include evasxx/Evasxx.h
-#include ecorexx/EcoreApplication.h
-#include edjexx/Edjexx.h
-#include etkxx/Etkxx.h
-#include ../../common/searchFile.h
-
-#define WIDTH 240
-#define HEIGHT 320
-
-#include iostream
-
-#if HAVE___ATTRIBUTE__
-#define __UNUSED__ __attribute__((unused))
-#else
-#define __UNUSED__
-#endif
-
-using namespace efl;
-using namespace std;
-
-int main( int argc, const char **argv )
-{
-  /* Create the application object */
-  EcoreApplication app ( argc, argv, Simple Ecore Test );
-
-  const Size size (WIDTH, HEIGHT);
-
-  /* Create the main window, a window with an embedded canvas */
-  EcoreEvasWindowSoftwareX11 mw ( size );
-
-  EvasCanvas evas = mw.getCanvas();
-
-  evas.appendFontPath( searchDataDir () + /fonts );
-
-  /* Add some objects to the canvas */
-#if 1
-  EdjeObject edje ( evas, searchEdjeFile (angstrom-bootmanager.edj), 
background );
-  edje.resize( size );
-  Size s = edje.getMinimalSize();
-  edje.setLayer( 1 );
-  edje.show();
-#else
-  EvasRectangle b ( evas, Rect (50, 50, 100, 100) );
-  b.show();
-#endif
-
-  EtkEmbed embed ( evas );
-  EvasEtk evasetk ( embed, evasetk );
-
-  embed.setFocus( true );
-  evasetk.move( Point (5, 5) );
-  evasetk.resize( Size (20, 20) );
-  evasetk.setLayer( 2 );
-  evasetk.show();
-  embed.show();
-
-  EtkButton button ( Hello World! );
-  embed.add( button );
-  button.show();
-  embed.show();
-
-  //ewl_callback_append(EWL_WIDGET( embed-obj() ), EWL_CALLBACK_CONFIGURE, 
move_embed_contents_cb, vbox-obj());
-
-  mw.show();
-
-  /* Enter the application main loop */
-  app.exec();
-
-  return 0;
-}
-
diff --git a/eflxx_examples/src/etkxx/simple/Makefile.am 
b/eflxx_examples/src/etkxx/simple/Makefile.am
deleted file mode 100644
index 13d87c2..000
--- a/eflxx_examples/src/etkxx/simple/Makefile.am
+++ /dev/null
@@ -1,23 +0,0 @@
-
-bin_PROGRAMS = \
-   etkxx_example_simple
-
-etkxx_example_simple_SOURCES = \
-   main.cpp
-
-etkxx_example_simple_LDADD = \
-   $(ETKXX_LIBS) \
-   $(EFL_LIBS) \
-   $(ECOREXX_LIBS) \
-   $(PACKAGE_SOURCE_DIR)/src/common/libeflxx_example_common.la
-
-etkxx_example_simple_DEPENDENCIES = \
-   $(PACKAGE_SOURCE_DIR)/src/common/libeflxx_example_common.la
-
-AM_CPPFLAGS = \
-   $(ETKXX_CFLAGS) \
-   $(EFL_CFLAGS) \
-   $(ECOREXX_CFLAGS)
-
-## File created by the gnome-build tools
-
diff --git a/eflxx_examples/src/etkxx/simple/main.cpp 
b/eflxx_examples/src/etkxx/simple/main.cpp
deleted file mode 100644
index b8fd81f..000
--- a/eflxx_examples/src/etkxx/simple/main.cpp
+++ /dev/null
@@ -1,36 +0,0 @@
-#include eflxx/eflpp_sys.h
-#include

[EGIT] [bindings/cxx/eflxx] master 148/314: usage of current API and Item numbers working

2013-12-30 Thread Andreas Volz
tasn pushed a commit to branch master.

http://git.enlightenment.org/bindings/cxx/eflxx.git/commit/?id=7a1a2b580ec9cbf8ada4d60c37b4b2ea7cec48b9

commit 7a1a2b580ec9cbf8ada4d60c37b4b2ea7cec48b9
Author: Andreas Volz li...@brachttal.net
Date:   Sun May 30 22:28:25 2010 +

usage of current API and Item numbers working

SVN revision: 49339
---
 eflxx_examples/src/common/Makefile.am  |  4 +-
 eflxx_examples/src/common/stringUtil.cpp   |  6 ++
 eflxx_examples/src/common/stringUtil.h | 25 ++
 eflxx_examples/src/elementaryxx/full/test.h|  1 +
 .../src/elementaryxx/full/test_genlist.cpp | 96 ++
 5 files changed, 99 insertions(+), 33 deletions(-)

diff --git a/eflxx_examples/src/common/Makefile.am 
b/eflxx_examples/src/common/Makefile.am
index f483b73..a4fe2a2 100644
--- a/eflxx_examples/src/common/Makefile.am
+++ b/eflxx_examples/src/common/Makefile.am
@@ -4,7 +4,9 @@ noinst_LTLIBRARIES = \
 
 libeflxx_example_common_la_SOURCES = \
searchFile.cpp  \
-   searchFile.h
+   searchFile.h  \
+   stringUtil.h  \
+   stringUtil.cpp
 
 ## File created by the gnome-build tools
 
diff --git a/eflxx_examples/src/common/stringUtil.cpp 
b/eflxx_examples/src/common/stringUtil.cpp
new file mode 100644
index 000..740d1a0
--- /dev/null
+++ b/eflxx_examples/src/common/stringUtil.cpp
@@ -0,0 +1,6 @@
+#include cctype
+#include algorithm
+
+#include stringUtil.h
+
+using namespace std;
diff --git a/eflxx_examples/src/common/stringUtil.h 
b/eflxx_examples/src/common/stringUtil.h
new file mode 100644
index 000..df40479
--- /dev/null
+++ b/eflxx_examples/src/common/stringUtil.h
@@ -0,0 +1,25 @@
+#ifndef STRING_UTIL_H
+#define STRING_UTIL_H
+
+#ifdef HAVE_CONFIG_H
+  #include config.h
+#endif
+
+/* STD */
+#include cstdlib
+#include string 
+#include sstream
+#include iomanip
+#include vector
+#include iostream
+
+/// create std::string from any number
+template typename T
+std::string toString (const T thing, int w = 0, int p = 0)
+{
+  std::ostringstream os;
+  os  std::setw(w)  std::setprecision(p)  thing;
+  return os.str();
+}
+
+#endif // STRING_UTIL_H
diff --git a/eflxx_examples/src/elementaryxx/full/test.h 
b/eflxx_examples/src/elementaryxx/full/test.h
index 31c70c5..2d4a031 100644
--- a/eflxx_examples/src/elementaryxx/full/test.h
+++ b/eflxx_examples/src/elementaryxx/full/test.h
@@ -4,6 +4,7 @@
 #include evasxx/Evasxx.h
 #include elementaryxx/Elementaryxx.h
 #include ../../common/searchFile.h
+#include ../../common/stringUtil.h
 
 using namespace std;
 using namespace Eflxx;
diff --git a/eflxx_examples/src/elementaryxx/full/test_genlist.cpp 
b/eflxx_examples/src/elementaryxx/full/test_genlist.cpp
index d45a27d..830bfc0 100644
--- a/eflxx_examples/src/elementaryxx/full/test_genlist.cpp
+++ b/eflxx_examples/src/elementaryxx/full/test_genlist.cpp
@@ -7,39 +7,68 @@ typedef struct _Testitem
int onoff;
 } Testitem;
 
-static GenListDataModel model (default);
-static GenListDataModel model2 (default);
-static GenListDataModel model3 (default);
-
-char *gl_label_get(const void *data, Evas_Object *obj, const char *part)
+class GenListColumnConstructor1 : public GenListColumnConstructor
 {
-   char buf[256];
-   snprintf(buf, sizeof(buf), Item # %i, (int)data);
-   return strdup(buf);
-}
+public:
+  GenListColumnConstructor1 () :
+mItemNum (0)
+  {}
+  
+  void setItemNum (int num) {mItemNum = num;}
+  int getItemNum () {return mItemNum;}
+  
+private:
+  int mItemNum;
+};
 
-Evas_Object *gl_icon_get(const void *data, Evas_Object *obj, const char *part)
-{
-   char buf[PATH_MAX];
-   Evas_Object *ic = elm_icon_add(obj);
-   snprintf(buf, sizeof(buf), %s/images/logo_small.png, PACKAGE_DATA_DIR);
-   elm_icon_file_set(ic, buf, NULL);
-   evas_object_size_hint_aspect_set(ic, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1);
-   return ic;
-}
-Eina_Bool gl_state_get(const void *data, Evas_Object *obj, const char *part)
-{ 
-   return EINA_FALSE;
-}
-void gl_del(const void *data, Evas_Object *obj)
+class GenListDataModel1 : public GenListDataModel
 {
-}
+public:
+  GenListDataModel1 (const std::string style) :
+GenListDataModel (style) {}
 
-static void
-gl_sel(void *data, Evas_Object *obj, void *event_info)
-{
-   printf(sel item data [%p] on genlist obj [%p], item pointer [%p]\n, data, 
obj, event_info);
-}
+  ~GenListDataModel1 () {}
+
+  std::string getLabel (GenListColumnConstructor *construction, Evasxx::Object 
obj, const std::string part) const
+  { 
+GenListColumnConstructor1 *construct1 = static_cast 
GenListColumnConstructor1* (construction);
+cout  GenListDataModel::getLabel  endl;
+
+return Item  + toString int (construct1-getItemNum ());
+  }
+
+  Elmxx::Object *getIcon (GenListColumnConstructor *construction, 
Evasxx::Object obj, const std::string part)
+  {
+Window *win = static_cast Window* (obj);
+Icon *ic = Icon::factory (*win);
+ic-setFile

[EGIT] [bindings/cxx/eflxx] master 16/314: minor

2013-12-30 Thread Andreas Volz
tasn pushed a commit to branch master.

http://git.enlightenment.org/bindings/cxx/eflxx.git/commit/?id=78f32ba1323e04a2b19d716df8a98b031ddd36ab

commit 78f32ba1323e04a2b19d716df8a98b031ddd36ab
Author: Andreas Volz li...@brachttal.net
Date:   Wed Dec 17 22:17:08 2008 +

minor

SVN revision: 38194
---
 TODO|  1 -
 src/emotion/eflpp_emotion.h | 14 +++---
 2 files changed, 7 insertions(+), 8 deletions(-)

diff --git a/TODO b/TODO
index ef09821..1d07c31 100644
--- a/TODO
+++ b/TODO
@@ -1,6 +1,5 @@
 * memory handling, it leaks like hell
 * parent/child chaining
-* callback handling needs more thinking
 * wrap evas_color_* functions (e.g. evas_color_argb_premul)
 * move all #include config.h from *.h to *.cpp
 * write signal example for evas
diff --git a/src/emotion/eflpp_emotion.h b/src/emotion/eflpp_emotion.h
index 9525eb8..ecfa015 100644
--- a/src/emotion/eflpp_emotion.h
+++ b/src/emotion/eflpp_emotion.h
@@ -31,13 +31,13 @@ class EvasEmotion : public EvasObject
const char * module_filename, EvasCanvas* 
canvas, const char* name = 0 );
 //EvasEmotion( Evas_Object* object, EvasCanvas* canvas, const char* name = 
0 );
 ~EvasEmotion();
-   
-   /**
-   * Initialize video engine to either use xine or gstreamer 
-   *
-   * @param module_filenamename of viedo engine to be used
-   */
-   void engineInit(const char * module_filename);
+
+/**
+* Initialize video engine to either use xine or gstreamer 
+*
+* @param module_filename   name of viedo engine to be used
+*/
+void engineInit(const char * module_filename);

 void setFile( const char* filename );
 void setPlay( bool b );

-- 




[EGIT] [bindings/cxx/eflxx] master 157/314: raw working GenList C++ wrapper implementation, but data isn't yet complete deleted at the end...

2013-12-30 Thread Andreas Volz
tasn pushed a commit to branch master.

http://git.enlightenment.org/bindings/cxx/eflxx.git/commit/?id=adc3bd0b3ad72d8afd631d2efdb6634a8b61aa74

commit adc3bd0b3ad72d8afd631d2efdb6634a8b61aa74
Author: Andreas Volz li...@brachttal.net
Date:   Wed Jun 9 21:33:57 2010 +

raw working GenList C++ wrapper implementation, but data isn't yet complete 
deleted at the end...

SVN revision: 49598
---
 elementaryxx/include/elementaryxx/GenList.h| 37 +---
 .../elementaryxx/GenListColumnConstructor.h|  4 ++
 .../include/elementaryxx/GenListDataModel.h|  2 -
 elementaryxx/include/elementaryxx/GenListItem.h|  5 ++-
 elementaryxx/src/GenList.cpp   | 50 +-
 elementaryxx/src/GenListColumnConstructor.cpp  | 12 +-
 elementaryxx/src/GenListDataModel.cpp  |  5 +--
 elementaryxx/src/GenListItem.cpp   | 15 +--
 8 files changed, 110 insertions(+), 20 deletions(-)

diff --git a/elementaryxx/include/elementaryxx/GenList.h 
b/elementaryxx/include/elementaryxx/GenList.h
index 5538914..347c8bf 100644
--- a/elementaryxx/include/elementaryxx/GenList.h
+++ b/elementaryxx/include/elementaryxx/GenList.h
@@ -299,6 +299,7 @@ public:
   
   /*!
* Append item to the end of the genlist
+   * TODO: C++ comment!
*
* This appends the given item to the end of the list or the end of the
* children if the parent is given.
@@ -313,8 +314,35 @@ public:
* @return A handle to the item added or NULL if not possible
*
*/
-
   GenListItem *append (GenListColumnConstructor *construction, const 
GenListItem *parent, Elm_Genlist_Item_Flags flags, GenListColumnSelector 
*selection);
+
+  GenListItem *getItemSelected () const;
+
+  /*!
+   * Get the item that is at the x, y canvas coords
+   * TODO: C++ comment!
+   *
+   * This returns the item at the given coordinates (which are canvas relative
+   * not object-relative). If an item is at that coordinate, that item handle
+   * is returned, and if @p posret is not NULL, the integer pointed to is set
+   * to a value of -1, 0 or 1, depending if the coordinate is on the upper
+   * portion of that item (-1), on the middle section (0) or on the lower part
+   * (1). If NULL is returned as an item (no item found there), then posret
+   * may indicate -1 or 1 based if the coordinate is above or below all items
+   * respectively in the genlist.
+   *
+   * @param it The item
+   * @param x The input x coordinate
+   * @param y The input y coordinate
+   * @param posret The position relative to the item returned here
+   * @return The item at the coordinates or NULL if none
+   *
+   */
+  GenListItem *getItemAtXY (const Eflxx::Point pos, int posret) const;
+
+  GenListItem *getItemFirst () const;
+
+  GenListItem *getItemLast () const;
   
   // TODO: which type is event_info here instead of void*?
   sigc::signal void, GenListColumnSelector, const Evasxx::Object, void* 
signalSelect;
@@ -341,12 +369,11 @@ private:
EAPI Elm_Genlist_Item *elm_genlist_item_insert_before(Evas_Object *obj, 
const Elm_Genlist_Item_Class *itc, const void *data, Elm_Genlist_Item *before, 
Elm_Genlist_Item_Flags flags, Evas_Smart_Cb func, const void *func_data);
EAPI Elm_Genlist_Item *elm_genlist_item_insert_after(Evas_Object *obj, 
const Elm_Genlist_Item_Class *itc, const void *data, Elm_Genlist_Item *after, 
Elm_Genlist_Item_Flags flags, Evas_Smart_Cb func, const void *func_data);
/* operations to retrieve existing items */
-   EAPI Elm_Genlist_Item *elm_genlist_selected_item_get(const Evas_Object 
*obj);
+
+
EAPI const Eina_List  *elm_genlist_selected_items_get(const Evas_Object 
*obj);
EAPI Eina_List*elm_genlist_realized_items_get(const Evas_Object 
*obj);
-   EAPI Elm_Genlist_Item *elm_genlist_at_xy_item_get(const Evas_Object *obj, 
Evas_Coord x, Evas_Coord y, int *posret);
-   EAPI Elm_Genlist_Item *elm_genlist_first_item_get(const Evas_Object *obj);
-   EAPI Elm_Genlist_Item *elm_genlist_last_item_get(const Evas_Object *obj);
+
/* available item styles:
 * default
 * default_style - The text part is a textblock
diff --git a/elementaryxx/include/elementaryxx/GenListColumnConstructor.h 
b/elementaryxx/include/elementaryxx/GenListColumnConstructor.h
index 71fbb45..5f8899f 100644
--- a/elementaryxx/include/elementaryxx/GenListColumnConstructor.h
+++ b/elementaryxx/include/elementaryxx/GenListColumnConstructor.h
@@ -9,15 +9,19 @@ namespace Elmxx {
 /* forward declarations */
 class GenList;
 class GenListDataModel;
+class GenListItem;
   
 class GenListColumnConstructor
 {
 public:
   friend class GenList;
   friend class GenListDataModel;
+
+  GenListColumnConstructor ();
   
 private:
   GenListDataModel *mDataModel;
+  GenListItem *mGenListItem;
 };
 
 } // end namespace Elmxx
diff --git a/elementaryxx/include/elementaryxx/GenListDataModel.h 
b/elementaryxx/include/elementaryxx/GenListDataModel.h
index 9a0c524..b754e84 100644

[EGIT] [bindings/cxx/eflxx] master 227/314: - some namespace problems - commit a workaround that prevents to delete(this) an object; need to do more debugging with this design. Something is wrong!

2013-12-30 Thread Andreas Volz
tasn pushed a commit to branch master.

http://git.enlightenment.org/bindings/cxx/eflxx.git/commit/?id=319fec89d18533027a37748a87b1b17b1c04eff4

commit 319fec89d18533027a37748a87b1b17b1c04eff4
Author: Andreas Volz li...@brachttal.net
Date:   Mon Dec 5 23:44:56 2011 +

- some namespace problems
- commit a workaround that prevents to delete(this) an object; need to do 
more debugging with this design. Something is wrong!


SVN revision: 65926
---
 eflxx/include/eflxx/Common.h   | 8 
 elementaryxx/src/Object.cpp| 4 ++--
 evasxx/include/evasxx/Canvas.h | 2 +-
 evasxx/include/evasxx/Object.h | 2 +-
 4 files changed, 8 insertions(+), 8 deletions(-)

diff --git a/eflxx/include/eflxx/Common.h b/eflxx/include/eflxx/Common.h
index b72f255..4b9cbcf 100644
--- a/eflxx/include/eflxx/Common.h
+++ b/eflxx/include/eflxx/Common.h
@@ -134,19 +134,19 @@ class Color
 int _a;
 };
 
-inline std::ostream operator( ostream s, const Color color )
+inline std::ostream operator( std::ostream s, const Color color )
 {
 return s  (RGBA   color.red()  ,  color.green()  ,  
color.blue()  ,  color.alpha()  );
 }
-inline std::ostream operator( ostream s, const Point point )
+inline std::ostream operator( std::ostream s, const Point point )
 {
 return s  (  point.x()  ,  point.y()  );
 }
-inline std::ostream operator( ostream s, const Size size )
+inline std::ostream operator( std::ostream s, const Size size )
 {
 return s  (  size.width()  *  size.height()  );
 }
-inline std::ostream operator( ostream s, const Rect rect )
+inline std::ostream operator( std::ostream s, const Rect rect )
 {
 return s  (  rect.x()  ,  rect.y()  *  rect.width()  
,  rect.height()  );
 }
diff --git a/elementaryxx/src/Object.cpp b/elementaryxx/src/Object.cpp
index aabd7af..a8c9292 100644
--- a/elementaryxx/src/Object.cpp
+++ b/elementaryxx/src/Object.cpp
@@ -31,12 +31,12 @@ void Object::destroy ()
 
   // do a suicide as the delete operator isn't public available
   // the reason is that the C design below is a suicide design :-(
-  delete (this);
+  //delete (this); // TODO: why does this make problems sometimes???
 }
 
 void Object::freeSignalHandler ()
 {
-  //cout  freeSignalHandler()  endl;
+  cout  freeSignalHandler()  endl;
   delete (this);
   // !!!ATTENTION!!!
   // suicide for a C++ object is dangerous, but allowed
diff --git a/evasxx/include/evasxx/Canvas.h b/evasxx/include/evasxx/Canvas.h
index f5d3585..098e23b 100644
--- a/evasxx/include/evasxx/Canvas.h
+++ b/evasxx/include/evasxx/Canvas.h
@@ -100,7 +100,7 @@ private:
   bool mFree;
 };
 
-inline ostream operator( ostream s, const Canvas canvas )
+inline std::ostream operator( std::ostream s, const Canvas canvas )
 {
   return s  (Canvas);
 }
diff --git a/evasxx/include/evasxx/Object.h b/evasxx/include/evasxx/Object.h
index 44195e1..dcf7a68 100644
--- a/evasxx/include/evasxx/Object.h
+++ b/evasxx/include/evasxx/Object.h
@@ -246,7 +246,7 @@ private:
   bool operator=(const Object ); // disable assignment operator
 };
 
-inline ostream operator( ostream s, const Object obj )
+inline std::ostream operator( std::ostream s, const Object obj )
 {
   return s Object '  obj.getName()  ' @   
obj.getGeometry()  ;
 }

-- 




[EGIT] [bindings/cxx/eflxx] master 40/314: explicit show() needed

2013-12-30 Thread Andreas Volz
tasn pushed a commit to branch master.

http://git.enlightenment.org/bindings/cxx/eflxx.git/commit/?id=b7b1588794c6bae3805620699096c17a00b342f7

commit b7b1588794c6bae3805620699096c17a00b342f7
Author: Andreas Volz li...@brachttal.net
Date:   Sat Apr 18 21:43:58 2009 +

explicit show() needed


SVN revision: 40196
---
 examples/edje/simple/main.cpp | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/examples/edje/simple/main.cpp b/examples/edje/simple/main.cpp
index 562163e..4744a13 100644
--- a/examples/edje/simple/main.cpp
+++ b/examples/edje/simple/main.cpp
@@ -30,6 +30,8 @@ int main( int argc, const char **argv )
 edje-setLayer( 0 );
 edje-show();
 
+mw-show();
+
 /* Enter the application main loop */
 app-exec();
 

-- 




[EGIT] [bindings/cxx/eflxx] master 103/314: added esmart cairo wrapper

2013-12-30 Thread Andreas Volz
tasn pushed a commit to branch master.

http://git.enlightenment.org/bindings/cxx/eflxx.git/commit/?id=d90a7ce8205f344caed35afc997cfa46e3e0502c

commit d90a7ce8205f344caed35afc997cfa46e3e0502c
Author: Andreas Volz li...@brachttal.net
Date:   Sat Dec 19 22:54:41 2009 +

added esmart cairo wrapper


SVN revision: 44583
---
 esmartxx/configure.ac  | 10 ++--
 esmartxx/esmartxx_cairo-uninstalled.pc.in  | 12 +
 esmartxx/esmartxx_cairo.pc.in  | 13 ++
 esmartxx/src/Makefile.am   |  7 +--
 esmartxx/src/esmartxx_cairo/Cairo.cpp  | 54 ++
 esmartxx/src/esmartxx_cairo/Cairo.h| 41 
 esmartxx/src/esmartxx_cairo/Makefile.am| 27 +++
 .../Container.cpp  |  0
 .../{container = esmartxx_container}/Container.h  |  0
 .../{container = esmartxx_container}/Makefile.am  |  0
 esmartxx/src/{group = esmartxx_group}/Group.cpp   |  0
 esmartxx/src/{group = esmartxx_group}/Group.h |  0
 esmartxx/src/{group = esmartxx_group}/Makefile.am |  0
 .../{textentry = esmartxx_textentry}/Makefile.am  |  0
 .../TextEntry.cpp  |  0
 .../{textentry = esmartxx_textentry}/TextEntry.h  |  0
 16 files changed, 158 insertions(+), 6 deletions(-)

diff --git a/esmartxx/configure.ac b/esmartxx/configure.ac
index 584b922..981276f 100644
--- a/esmartxx/configure.ac
+++ b/esmartxx/configure.ac
@@ -28,7 +28,10 @@ AM_PROG_LIBTOOL
 PKG_CHECK_MODULES(EFL, eflxx evasxx edjexx)
 PKG_CHECK_MODULES(ESMART_TEXTENTRY, esmart_text_entry)
 PKG_CHECK_MODULES(ESMART_CONTAINER, esmart_container)
+PKG_CHECK_MODULES(ESMART_CAIRO, esmart_cairo)
 AC_OUTPUT([
+esmartxx_cairo.pc
+esmartxx_cairo-uninstalled.pc
 esmartxx_container.pc
 esmartxx_container-uninstalled.pc
 esmartxx_group.pc
@@ -37,7 +40,8 @@ esmartxx_textentry.pc
 esmartxx_textentry-uninstalled.pc
 Makefile
 src/Makefile
-src/container/Makefile
-src/group/Makefile
-src/textentry/Makefile
+src/esmartxx_container/Makefile
+src/esmartxx_cairo/Makefile
+src/esmartxx_group/Makefile
+src/esmartxx_textentry/Makefile
 ])
diff --git a/esmartxx/esmartxx_cairo-uninstalled.pc.in 
b/esmartxx/esmartxx_cairo-uninstalled.pc.in
new file mode 100644
index 000..35be47c
--- /dev/null
+++ b/esmartxx/esmartxx_cairo-uninstalled.pc.in
@@ -0,0 +1,12 @@
+prefix=
+exec_prefix=
+libdir=src/container
+includedir=src
+
+Name: @PACKAGE@
+Description: Esmart_Cairo (EFL) C++ Wrapper, Not installed
+Version: @VERSION@
+Requires: sigc++-2.0 evasxx
+Conflicts: 
+Libs: ${pcfiledir}/${libdir}/libesmartxx_cairo.la
+Cflags: -I${pcfiledir}/${includedir} 
diff --git a/esmartxx/esmartxx_cairo.pc.in b/esmartxx/esmartxx_cairo.pc.in
new file mode 100644
index 000..a65cf45
--- /dev/null
+++ b/esmartxx/esmartxx_cairo.pc.in
@@ -0,0 +1,13 @@
+prefix=@prefix@
+exec_prefix=@prefix@
+libdir=@exec_prefix@/lib
+includedir=@prefix@/include
+
+Name: @PACKAGE@
+Description: Esmart_Cairo (EFL) C++ Wrapper
+Version: @VERSION@
+Requires: sigc++-2.0 evasxx
+Conflicts: 
+Libs: -L${libdir} -lesmartxx_cairo
+Cflags: -I${includedir}
+
diff --git a/esmartxx/src/Makefile.am b/esmartxx/src/Makefile.am
index 666c159..d6927d3 100644
--- a/esmartxx/src/Makefile.am
+++ b/esmartxx/src/Makefile.am
@@ -12,7 +12,8 @@ AM_CFLAGS =\
 -g
 
 SUBDIRS = \
-   container\
-   group\
-   textentry
+   esmartxx_container\
+   esmartxx_group\
+   esmartxx_textentry \
+   esmartxx_cairo
 
diff --git a/esmartxx/src/esmartxx_cairo/Cairo.cpp 
b/esmartxx/src/esmartxx_cairo/Cairo.cpp
new file mode 100644
index 000..3c94c11
--- /dev/null
+++ b/esmartxx/src/esmartxx_cairo/Cairo.cpp
@@ -0,0 +1,54 @@
+#ifdef HAVE_CONFIG_H
+#include config.h
+#endif
+
+#include Cairo.h
+
+#include iostream
+#include assert.h
+
+using namespace std;
+
+namespace Esmartxx {
+  
+Cairo::Cairo( Evasxx::Canvas canvas, const Eflxx::Size size, bool alpha)
+{
+  o = esmart_image_cairo_new( canvas.obj(), size.width (), size.height (), 
alpha );
+  init();
+}
+
+Cairo::Cairo( Evasxx::Canvas canvas, const Eflxx::Point pos, const 
Eflxx::Size size, bool alpha)
+{
+  o = esmart_image_cairo_new( canvas.obj(), size.width (), size.height (), 
alpha );
+  init();
+
+  move( pos );
+}
+
+Cairo::Cairo( Evasxx::Canvas canvas, cairo_surface_t *cairo_surface)
+{
+  o = esmart_image_cairo_new_from_surface( canvas.obj(), cairo_surface );
+  init();
+}
+
+Cairo::~Cairo()
+{
+  evas_object_del( o );
+}
+
+cairo_surface_t* Cairo::getSurface ()
+{
+  return esmart_image_cairo_surface_get (o);
+}
+
+bool Cairo::setSurface (cairo_surface_t *cairo_surface)
+{
+  return esmart_image_cairo_surface_set (o, mCairoSurface);
+}
+
+void Cairo::setAutoFill (bool enable)
+{
+  esmart_image_cairo_fill_auto_set (o, enable);
+}
+
+} // end namespace Esmartxx
diff --git a/esmartxx/src/esmartxx_cairo/Cairo.h 
b/esmartxx/src/esmartxx_cairo/Cairo.h
new file mode 100644
index

[EGIT] [bindings/cxx/eflxx] master 149/314: wrap Evasxx::Object in signals direct as C++ version

2013-12-30 Thread Andreas Volz
tasn pushed a commit to branch master.

http://git.enlightenment.org/bindings/cxx/eflxx.git/commit/?id=5138714ef215b2dcfeca2b1a4b936032b04e8462

commit 5138714ef215b2dcfeca2b1a4b936032b04e8462
Author: Andreas Volz li...@brachttal.net
Date:   Mon May 31 21:33:50 2010 +

wrap Evasxx::Object in signals direct as C++ version

SVN revision: 49360
---
 evasxx/include/evasxx/Smart.h |  4 ++--
 evasxx/src/Smart.cpp  | 11 +++
 2 files changed, 9 insertions(+), 6 deletions(-)

diff --git a/evasxx/include/evasxx/Smart.h b/evasxx/include/evasxx/Smart.h
index e764d0a..1bbd519 100644
--- a/evasxx/include/evasxx/Smart.h
+++ b/evasxx/include/evasxx/Smart.h
@@ -22,7 +22,7 @@ class Smart;
 struct CustomEventWrap
 {
   Smart *es;
-  sigc::signal void, Evas_Object*, void* *customSignal; // TODO: C++ style!
+  sigc::signal void, Object, void* *customSignal; // TODO: C++ style!
   string event;
 };
 
@@ -101,7 +101,7 @@ public:
   
   void delEventSignal (const std::string event);
   
-  sigc::signal void, Evas_Object*, void* *getEventSignal (const std::string 
event);
+  sigc::signal void, Object, void* *getEventSignal (const std::string 
event);
   
   void callEventSignal (const std::string event, void *event_info);
   
diff --git a/evasxx/src/Smart.cpp b/evasxx/src/Smart.cpp
index d6725a7..4211a03 100644
--- a/evasxx/src/Smart.cpp
+++ b/evasxx/src/Smart.cpp
@@ -109,7 +109,7 @@ void Smart::addEventSignal (const std::string event)
   if (!cew)
   {
 cew = new CustomEventWrap ();
-sigc::signal void, Evas_Object*, void* *ptrSig = new sigc::signal void, 
Evas_Object*, void* ();
+sigc::signal void, Object, void* *ptrSig = new sigc::signal void, 
Object, void* ();
 
 cew-es = this;
 cew-customSignal = ptrSig;
@@ -135,7 +135,7 @@ void Smart::delEventSignal (const std::string event)
   mCustomSignalMap.erase (event);
 }
 
-sigc::signal void, Evas_Object*, void* *Smart::getEventSignal (const 
std::string event)
+sigc::signal void, Object, void* *Smart::getEventSignal (const std::string 
event)
 {
   // implicit add a event signal while get
   addEventSignal (event);
@@ -179,8 +179,11 @@ void Smart::wrapCustomEvent (void *data, Evas_Object *obj, 
void *event_info)
   
   Smart *es = cew-es;
 
-  sigc::signal void, Evas_Object*, void* *ptrSig = es-getEventSignal 
(cew-event);
-  ptrSig-emit (obj, event_info);
+  Evasxx::Object *eo = Evasxx::Object::objectLink (obj);
+  assert (eo);
+
+  sigc::signal void, Object, void* *ptrSig = es-getEventSignal 
(cew-event);
+  ptrSig-emit (*eo, event_info);
 }
 
 void Smart::wrap_add( Evas_Object *o ) 

-- 




  1   2   3   4   5   6   7   8   >