2009/8/15 Diego Jacobi <[email protected]>

> 2009/8/15 Christopher Michael <[email protected]>:
> > Carsten Haitzler (The Rasterman) wrote:
> >>
> >> On Fri, 14 Aug 2009 15:26:24 +0200 Diego Jacobi <[email protected]>
> >> said:
> >>
> >> well edje really are "smart png's/svg's/swf's" it's some bastard
> >> combination of
> >> those features. you can define layout (a bit like html) but layout is
> >> relative,
> >> so it it can resize "better" than html can without needing javascript
> >> (generally). it has scripting (embryo) and the ability to change state
> and
> >> react to events. but that is within an edje object - the object itself
> is
> >> an
> >> island. it knows of nothing else outside of it, so you need to
> >> move/resize/show/hide it - but within the edje - it has its own world.
> the
> >> insides simple are loaded off disk from a section of a file. one .edj
> file
> >> can
> >> gold
> >
> > s/hold
> >
> >  many objects and you can have many instances of them. this puts off a
> lot
> >>
> >> of ui design, interaction and look into a data file that is replacable.
> >
> > it's not perfect. it has limits. these are not insurmountable and can
> > improve over
> >>
> >> time. but it's there and works.
> >>
> >>> Thank you people.
> >>> I just needed to make a program to run an edje ui made with
> >>> edje_editor. And then test it.
> >>>
> >>> I wanted to see the power talked on a "introduction to EFL" text in
> >>> the webpage about edje.
> >>>
> > Then by all means, experiment....eventually you will see it...just get
> > "comfortable" with EFL !!! Almost limitless.....
> >
> > dh
> >
> >>> But, i was seeing other goal for edje than what it seems to actually
> be.
> >>> Anyway, i think that the combination evas/edje is the best aproach for
> >>> a desktop that i have ever seen.
> >>>
> >>> Cheers.
> >>> Diego
> >>>
> >>>
> >>>
> >>> 2009/8/14 Carsten Haitzler <[email protected]>:
> >>>>
> >>>> On Mon, 10 Aug 2009 00:52:15 +0200 Diego Jacobi <
> [email protected]>
> >>>> said:
> >>>>
> >>>> actually u just want ECORE_EVAS_OBJECT_ASSOCIATE_BASE - even then
> >>>> associate
> >>>> is too much for you - it's intent is different. it can dowhat u want
> but
> >>>> it
> >>>> will do other things you may not want. the simple resize callback is
> >>>> really
> >>>> what you want. remember on window resize the canvas is resized - that
> >>>> doesnt mean objects are. they star where they are and at the size they
> >>>> are
> >>>> until you decide otherwise. thats very normal.
> >>>>
> >>>>> Thanks both.
> >>>>>
> >>>>> I can now resize.
> >>>>> Wasnt so hard, so sry for the noob question.
> >>>>>
> >>>>> I tryed now the "modern" way, and i noted something:
> >>>>>
> >>>>> The next code, doesnt finish the application if i close it. The
> >>>>> windows disappears but the process still alive.
> >>>>>
> >>>>>       edje = edje_object_add(evas);
> >>>>>       ecore_evas_object_associate( ee, edje,
> >>>>> ECORE_EVAS_OBJECT_ASSOCIATE_DEL | ECORE_EVAS_OBJECT_ASSOCIATE_LAYER
> >>>>>                                            |
> >>>>> ECORE_EVAS_OBJECT_ASSOCIATE_STACK |
> >>>>> ECORE_EVAS_OBJECT_ASSOCIATE_BASE );
> >>>>>
> >>>>> The next code, will resize too, but it will terminate the application
> >>>>> when closing it.
> >>>>>
> >>>>>   edje = edje_object_add(evas);
> >>>>>       ecore_evas_object_associate( ee, edje,
> >>>>> ECORE_EVAS_OBJECT_ASSOCIATE_LAYER
> >>>>>                                            |
> >>>>> ECORE_EVAS_OBJECT_ASSOCIATE_STACK |
> >>>>> ECORE_EVAS_OBJECT_ASSOCIATE_BASE );
> >>>>>
> >>>>>
> >>>>> So what is  " ECORE_EVAS_OBJECT_ASSOCIATE_DEL " for?
> >>>>> I was expecting something like "delete the asociated object with the
> >>>>> ee".
> >>>>>
> >>>>>
> >>>>> Cheers.
> >>>>> Diego
> >>>>>
> >>>>>
> >>>>> 2009/8/10 Gustavo Sverzut Barbieri <[email protected]>:
> >>>>>>
> >>>>>> On Sat, Aug 8, 2009 at 3:59 PM, Christopher
> >>>>>> Michael<[email protected]> wrote:
> >>>>>>>
> >>>>>>> Seems like you need to use ecore_evas_callback_resize_set. EG:
> >>>>>>>
> >>>>>>>  >    ee = ecore_evas_software_x11_new(NULL, 0,  0, 0, WIDTH,
> >>>>>>> HEIGHT);
> >>>>>>>  >         ecore_evas_title_set(ee, "EDJE example");
> >>>>>>>  >         ecore_evas_borderless_set(ee, 0);
> >>>>>>>  >         ecore_evas_shaped_set(ee, 0);
> >>>>>>> ecore_evas_callback_resize_set(ee, _my_resize_func);
> >>>>>>>  >         //ecore_evas_show(ee);
> >>>>>>>
> >>>>>>>
> >>>>>>>  >    edje = edje_object_add(evas);
> >>>>>>> evas_object_name_set(edje, "bg");
> >>>>>>>  >         edje_object_file_set(edje, "edje/XXX.edj", "test");
> >>>>>>>  >         evas_object_move(edje, 0, 0);
> >>>>>>>  >         edje_object_size_min_get(edje, &edje_w, &edje_h);
> >>>>>>>  >         if ( edje_w <= 10 )
> >>>>>>>  >             edje_w = WIDTH;
> >>>>>>>  >         if ( edje_h <= 10 )
> >>>>>>>  >             edje_h = HEIGHT;
> >>>>>>>  >         evas_object_resize(edje, edje_w, edje_h);
> >>>>>>>  >         evas_object_show(edje);
> >>>>>>>
> >>>>>>>
> >>>>>>> static void _my_resize_func(Ecore_Evas *ee)
> >>>>>>> {
> >>>>>>>   Evas_Object *o = NULL;
> >>>>>>>   int w = 0, h = 0;
> >>>>>>>
> >>>>>>>   if (!(o = evas_object_name_find(ecore_evas_get(ee), "bg")))
> return;
> >>>>>>>   ecore_evas_geometry_get(ee, NULL, NULL, &w, &h);
> >>>>>>>   evas_object_move(o, 0, 0);
> >>>>>>>   evas_object_resize(o, w, h);
> >>>>>>> }
> >>>>>>
> >>>>>> There are more "modern" ways to do it, namely:
> >>>>>>
> >>>>>>  - ecore_evas_object_associate(): maps window operations to objects,
> >>>>>> so resize object resizes the window, resizes the window resizes the
> >>>>>> associated object. Hide, show and others apply as well, depending on
> >>>>>> given flags, it can even delete the window and object depending on
> >>>>>> other deletion.
> >>>>>>
> >>>>>>  - elm_win_add():  uses ecore_evas_object_associate() and provides
> >>>>>> elm_win_resize_object_add(), that does exactly that: resizes objects
> >>>>>> when window is resized.
> >>>>>>
> >>>>>> If you have a single top-level edje (other things can be swallowed
> >>>>>> inside this edje, and resized by it), then ecore_evas is the way to
> >>>>>> go. You can associate an evas_object_box instead and have children
> to
> >>>>>> be laid out accordingly to size_hint flags. As an example, you might
> >>>>>> have an evas_object_box with STACK layout function and all children
> >>>>>> set size_hint_weight = (1.0, 1.0), that would layout all objects one
> >>>>>> on top of the other and resize children in both dimensions to fit
> the
> >>>>>> box size... if box size is associated with window, then you get what
> >>>>>> you want.
> >>>>>>
>
>
> Thanks.
> I see that the best of EFL is the kindness of its comunity of developers.
>
> I feel comfortable with EFL API, but because of my lack of skills in
> graphic design, it is yet harder for me alone to design a nice
> interface with edje than with C. But this is exactly what i dont want.
> I want to completelly separate the ui design from the code as edje
> aims.
> I will have to wait until it gets a bit more easy for the people like
> me who cant get a single pixel in a nice color.


I think you will have to wait a long time because today edje is simple and I
think we can't do something more simple.

To do what you want you have to define the list of signals sent by the theme
and by the application. Then you create the apps, catch the signals sent by
the theme and do what you want to do (signal play -> play the muisic) . And
in the theme you catch signals sent by the apps ( for example to show/hide a
play/pause button) and send signals (click on the play button -> send signal
play).

You can use only one group -> one evas_object in your apps and the themer
will have to defines all the designs inside (button, text, list of items
...). This is how calaos does. Then you can have 2 differents theme : one
with the play button to the left and one to the right. This ways allows the
designer to do exactly what he wants but ask him more jobs.

Maybe with lua you can create a complete and simple apps in an edc file, I
don't know.

>
>
> Also i was like expecting it to not be sort of a replace to glade.
> I was kinda expecting something like a plugable UI. I mean, a compiled
> plugin, loadable at run time, with all the required stuff in a UI
> which is able to emit signals or call functions in a C code, maybe in
> another process, and also coexist with other UI in the same
> application. Like a media player, with a compact and full UI.
> And also able to be runned with a double clic and self loaded with
> harmless example data, so somebody can see how an UI interacts with
> the user, without having it connected to the program it self, or
> without having the program at all.
> I can imagine sort of a theme downloader application, which lets you
> download themes for any application made with edje, even the ones that
> you dont have, but you can test the theme and if you like it, then
> download the application. And maybe, different applications use the
> same theme. Like a video player, there wont be a need to make an
> abstraction layer to use different engines. Different applications
> with the same theme could use xine or mplayer or gstreamer or
> anything. And the same for things like a browser, the startmenu,
> desktop, docker, etc.
>
> Cheers.
> Diego
>
>
> ------------------------------------------------------------------------------
> Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day
> trial. Simplify your report design, integration and deployment - and focus
> on
> what you do best, core application coding. Discover what's new with
> Crystal Reports now.  http://p.sf.net/sfu/bobj-july
> _______________________________________________
> enlightenment-devel mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
>



-- 
Regards.
------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
trial. Simplify your report design, integration and deployment - and focus on 
what you do best, core application coding. Discover what's new with 
Crystal Reports now.  http://p.sf.net/sfu/bobj-july
_______________________________________________
enlightenment-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

Reply via email to