2012/9/11 Daniel Juyung Seo <seojuyu...@gmail.com>

> +1 here :)
> We need to test elementary edje_externals more.
>

no, really we need to USE edje_external more!! :)
IMHO they are the way to go to really separate the code
from the UI


>
> Daniel Juyung Seo (SeoZ)
>
> On Tue, Sep 11, 2012 at 1:02 PM, Cedric BAIL <cedric.b...@free.fr> wrote:
> > I think you deserve the title of hero for this new set of test ! AWESOME
> !
> >
> > On Tue, Sep 11, 2012 at 6:48 AM, Enlightenment SVN
> > <no-re...@enlightenment.org> wrote:
> >> Log:
> >> Another external test: progress bar.
> >>   This test also show how to access the external widgets from C code
> and also directly from embryo :)
> >>
> >> Author:       davemds
> >> Date:         2012-09-10 14:48:56 -0700 (Mon, 10 Sep 2012)
> >> New Revision: 76422
> >> Trac:         http://trac.enlightenment.org/e/changeset/76422
> >>
> >> Modified:
> >>   trunk/elementary/data/objects/test_external.edc
> trunk/elementary/src/bin/test.c trunk/elementary/src/bin/test_external.c
> >>
> >> Modified: trunk/elementary/data/objects/test_external.edc
> >> ===================================================================
> >> --- trunk/elementary/data/objects/test_external.edc     2012-09-10
> 19:21:56 UTC (rev 76421)
> >> +++ trunk/elementary/data/objects/test_external.edc     2012-09-10
> 21:48:56 UTC (rev 76422)
> >> @@ -545,4 +545,291 @@
> >>           }
> >>        }
> >>     }
> >> +   group { name: "external/pbar";
> >> +      parts {
> >> +         COMMON_EXTERNAL_UNDER
> >> +         part { name: "ext_label1";
> >> +            type: EXTERNAL;
> >> +            source: "elm/label";
> >> +            clip_to: "clip";
> >> +            description { state: "default" 0.0;
> >> +               max: 200 50;
> >> +               align: 0.5 0.0;
> >> +               params {
> >> +                  string: "label" "<b>All the Widgets are edje
> external</>\
> >> +<br>This test show how you can access external widgets from <br>\
> >> +embryo script and from C code.";
> >> +               }
> >> +            }
> >> +         }
> >> +
> >> +         part { name: "ext_pbar1";
> >> +            type: EXTERNAL;
> >> +            source: "elm/progressbar";
> >> +            clip_to: "clip";
> >> +            description { state: "default" 0.0;
> >> +               max: 999 40;
> >> +               align: 0.0 0.0;
> >> +               rel1.offset: 0 60;
> >> +               params {
> >> +                  string: "unit format" "%.0f %%";
> >> +                  double: "value" 0.5;
> >> +               }
> >> +            }
> >> +         }
> >> +         part { name: "ext_pbar2";
> >> +            type: EXTERNAL;
> >> +            source: "elm/progressbar";
> >> +            clip_to: "clip";
> >> +            description { state: "default" 0.0;
> >> +               max: 999 40;
> >> +               align: 0.0 0.0;
> >> +               rel1.offset: 0 100;
> >> +               params {
> >> +                  string: "label" "infinite bouce";
> >> +                  string: "unit format" "";
> >> +               }
> >> +            }
> >> +         }
> >> +         part { name: "ext_pbar3";
> >> +            type: EXTERNAL;
> >> +            source: "elm/progressbar";
> >> +            clip_to: "clip";
> >> +            description { state: "default" 0.0;
> >> +               max: 999 40;
> >> +               align: 0.0 0.0;
> >> +               rel1.offset: 0 140;
> >> +               params {
> >> +                  string: "label" "inverted";
> >> +                  string: "icon" "home";
> >> +                  bool: "inverted" 1;
> >> +                  string: "unit format" "%.3f units";
> >> +               }
> >> +            }
> >> +         }
> >> +         part { name: "ext_pbar4";
> >> +            type: EXTERNAL;
> >> +            source: "elm/progressbar";
> >> +            clip_to: "clip";
> >> +            description { state: "default" 0.0;
> >> +               max: 50 999;
> >> +               align: 0.1 0.0;
> >> +               rel1.offset: 0 180;
> >> +               rel2.offset: 0 -50;
> >> +               params {
> >> +                  string: "label" "percent";
> >> +                  bool: "horizontal" 0;
> >> +               }
> >> +            }
> >> +         }
> >> +         part { name: "ext_pbar5";
> >> +            type: EXTERNAL;
> >> +            source: "elm/progressbar";
> >> +            clip_to: "clip";
> >> +            description { state: "default" 0.0;
> >> +               max: 50 999;
> >> +               align: 0.5 0.0;
> >> +               rel1.offset: 0 180;
> >> +               rel2.offset: 0 -100;
> >> +               params {
> >> +                  string: "label" "infinite bouce";
> >> +                  bool: "horizontal" 0;
> >> +                  string: "unit format" "";
> >> +               }
> >> +            }
> >> +         }
> >> +         part { name: "ext_pbar6";
> >> +            type: EXTERNAL;
> >> +            source: "elm/progressbar";
> >> +            clip_to: "clip";
> >> +            description { state: "default" 0.0;
> >> +               max: 50 999;
> >> +               align: 0.9 0.0;
> >> +               rel1.offset: 0 180;
> >> +               rel2.offset: 0 -50;
> >> +               params {
> >> +                  string: "label" "inverted";
> >> +                  string: "icon" "home";
> >> +                  bool: "horizontal" 0;
> >> +                  bool: "inverted" 1;
> >> +                  bool: "disabled" 1;
> >> +               }
> >> +            }
> >> +         }
> >> +         part { name: "ext_pbar7";
> >> +            type: EXTERNAL;
> >> +            source: "elm/progressbar";
> >> +            clip_to: "clip";
> >> +            description { state: "default" 0.0;
> >> +               max: 50 999;
> >> +               align: 0.5 0.0;
> >> +               rel1.offset: 0 300;
> >> +               rel2.offset: 0 -50;
> >> +               params {
> >> +                  string: "style" "wheel";
> >> +               }
> >> +            }
> >> +         }
> >> +         part { name: "ext_button1";
> >> +            type: EXTERNAL;
> >> +            source: "elm/button";
> >> +            clip_to: "clip";
> >> +            description { state: "default" 0.0;
> >> +               max: 100 40;
> >> +               align: 0.0 1.0;
> >> +               rel1.offset: 0 0;
> >> +               rel2.offset: 0 -15;
> >> +               params {
> >> +                  string: "label" "anim with edje";
> >> +               }
> >> +            }
> >> +         }
> >> +         part { name: "ext_button2";
> >> +            type: EXTERNAL;
> >> +            source: "elm/button";
> >> +            clip_to: "clip";
> >> +            description { state: "default" 0.0;
> >> +               max: 100 40;
> >> +               align: 0.5 1.0;
> >> +               rel1.offset: 0 0;
> >> +               rel2.offset: 0 -15;
> >> +               params {
> >> +                  string: "label" "...with embryo ?";
> >> +               }
> >> +            }
> >> +         }
> >> +         part { name: "ext_button3";
> >> +            type: EXTERNAL;
> >> +            source: "elm/button";
> >> +            clip_to: "clip";
> >> +            description { state: "default" 0.0;
> >> +               max: 100 40;
> >> +               align: 1.0 1.0;
> >> +               rel1.offset: 0 0;
> >> +               rel2.offset: 0 -15;
> >> +               params {
> >> +                  string: "label" "...or from C";
> >> +               }
> >> +            }
> >> +         }
> >> +         COMMON_EXTERNAL_OVER
> >> +      }
> >> +      programs {
> >> +         COMMON_EXTERNAL_PROGRAM
> >> +         program { name: "anim_with_edje";
> >> +            signal: "clicked";
> >> +            source: "ext_button1";
> >> +            action: PARAM_SET "ext_pbar1" "value" 0.0;
> >> +            after: "disable_button1";
> >> +         }
> >> +         program { name: "disable_button1";
> >> +            action: PARAM_SET "ext_button1" "disabled" 1;
> >> +            after: "disable_button2";
> >> +         }
> >> +         program { name: "disable_button2";
> >> +            action: PARAM_SET "ext_button2" "disabled" 1;
> >> +            after: "disable_button3";
> >> +         }
> >> +         program { name: "disable_button3";
> >> +            action: PARAM_SET "ext_button3" "disabled" 1;
> >> +            after: "anim_0";
> >> +         }
> >> +         program { name: "anim_0";
> >> +            action: PARAM_SET "ext_pbar1" "value" 0.0;
> >> +            after: "anim_1";
> >> +         }
> >> +         program { name: "anim_1";
> >> +            in: 0.3 0.0;
> >> +            action: PARAM_SET "ext_pbar1" "value" 0.1;
> >> +            after: "anim_2";
> >> +         }
> >> +         program { name: "anim_2";
> >> +            in: 0.3 0.0;
> >> +            action: PARAM_SET "ext_pbar1" "value" 0.2;
> >> +            after: "anim_3";
> >> +         }
> >> +         program { name: "anim_3";
> >> +            in: 0.3 0.0;
> >> +            action: PARAM_SET "ext_pbar1" "value" 0.3;
> >> +            after: "anim_4";
> >> +         }
> >> +         program { name: "anim_4";
> >> +            in: 0.3 0.0;
> >> +            action: PARAM_SET "ext_pbar1" "value" 0.4;
> >> +            after: "anim_5";
> >> +         }
> >> +         program { name: "anim_5";
> >> +            in: 0.3 0.0;
> >> +            action: PARAM_SET "ext_pbar1" "value" 0.5;
> >> +            after: "anim_6";
> >> +         }
> >> +         program { name: "anim_6";
> >> +            in: 0.3 0.0;
> >> +            action: PARAM_SET "ext_pbar1" "value" 0.6;
> >> +            after: "anim_7";
> >> +         }
> >> +         program { name: "anim_7";
> >> +            in: 0.3 0.0;
> >> +            action: PARAM_SET "ext_pbar1" "value" 0.7;
> >> +            after: "anim_8";
> >> +         }
> >> +         program { name: "anim_8";
> >> +            in: 0.3 0.0;
> >> +            action: PARAM_SET "ext_pbar1" "value" 0.8;
> >> +            after: "anim_9";
> >> +         }
> >> +         program { name: "anim_9";
> >> +            in: 0.3 0.0;
> >> +            action: PARAM_SET "ext_pbar1" "value" 0.9;
> >> +            after: "anim_10";
> >> +         }
> >> +         program { name: "anim_10";
> >> +            in: 0.3 0.0;
> >> +            action: PARAM_SET "ext_pbar1" "value" 1.0;
> >> +            after: "reenable_button1";
> >> +         }
> >> +         program { name: "reenable_button1";
> >> +            action: PARAM_SET "ext_button1" "disabled" 0;
> >> +            after: "reenable_button2";
> >> +         }
> >> +         program { name: "reenable_button2";
> >> +            action: PARAM_SET "ext_button2" "disabled" 0;
> >> +            after: "reenable_button3";
> >> +         }
> >> +         program { name: "reenable_button3";
> >> +            action: PARAM_SET "ext_button3" "disabled" 0;
> >> +         }
> >> +         script {
> >> +            public my_value;
> >> +            public timer_cb(unused) {
> >> +               external_param_set_float(PART:"ext_pbar1", "value",
> get_float(my_value));
> >> +               external_param_set_float(PART:"ext_pbar3", "value",
> get_float(my_value));
> >> +               external_param_set_float(PART:"ext_pbar4", "value",
> get_float(my_value));
> >> +               external_param_set_float(PART:"ext_pbar6", "value",
> get_float(my_value));
> >> +               if (get_float(my_value) < 1.0)
> >> +               {
> >> +                  set_float(my_value, get_float(my_value) + 0.0123);
> >> +                  timer(0.1, "timer_cb", unused);
> >> +               }
> >> +               else
> >> +               {
> >> +                  external_param_set_bool(PART:"ext_button1",
> "disabled", 0);
> >> +                  external_param_set_bool(PART:"ext_button2",
> "disabled", 0);
> >> +                  external_param_set_bool(PART:"ext_button3",
> "disabled", 0);
> >> +               }
> >> +            }
> >> +         }
> >> +         program { name: "bt2_click";
> >> +            signal: "clicked";
> >> +            source: "ext_button2";
> >> +            script {
> >> +               set_float(my_value, 0.0);
> >> +               external_param_set_bool(PART:"ext_button1", "disabled",
> 1);
> >> +               external_param_set_bool(PART:"ext_button2", "disabled",
> 1);
> >> +               external_param_set_bool(PART:"ext_button3", "disabled",
> 1);
> >> +               timer_cb(0);
> >> +            }
> >> +         }
> >> +      }
> >> +   }
> >>  }
> >>
> >> Modified: trunk/elementary/src/bin/test.c
> >> ===================================================================
> >> --- trunk/elementary/src/bin/test.c     2012-09-10 19:21:56 UTC (rev
> 76421)
> >> +++ trunk/elementary/src/bin/test.c     2012-09-10 21:48:56 UTC (rev
> 76422)
> >> @@ -187,6 +187,7 @@
> >>  void test_external_button(void *data, Evas_Object *obj, void
> *event_info);
> >>  void test_external_slider(void *data, Evas_Object *obj, void
> *event_info);
> >>  void test_external_scroller(void *data, Evas_Object *obj, void
> *event_info);
> >> +void test_external_pbar(void *data, Evas_Object *obj, void
> *event_info);
> >>  #ifdef HAVE_EMOTION
> >>  void test_video(void *data, Evas_Object *obj, void *event_info);
> >>  #endif
> >> @@ -532,6 +533,7 @@
> >>
> >>     //------------------------------//
> >>     ADD_TEST(NULL, "Edje External", "ExtButton", test_external_button);
> >> +   ADD_TEST(NULL, "Edje External", "ExtProgressBar",
> test_external_pbar);
> >>     ADD_TEST(NULL, "Edje External", "ExtScroller",
> test_external_scroller);
> >>     ADD_TEST(NULL, "Edje External", "ExtSlider", test_external_slider);
> >>
> >>
> >> Modified: trunk/elementary/src/bin/test_external.c
> >> ===================================================================
> >> --- trunk/elementary/src/bin/test_external.c    2012-09-10 19:21:56 UTC
> (rev 76421)
> >> +++ trunk/elementary/src/bin/test_external.c    2012-09-10 21:48:56 UTC
> (rev 76422)
> >> @@ -70,4 +70,103 @@
> >>  }
> >>
> >>
> >> +static Eina_Bool
> >> +_timer_cb(void *data)
> >> +{
> >> +   Evas_Object *edje = data;
> >> +   Evas_Object *bt1, *bt2, *bt3, *pb1, *pb2, *pb3, *pb4, *pb5, *pb6,
> *pb7;
> >> +   double progress;
> >> +
> >> +   pb1 = edje_object_part_external_object_get(edje, "ext_pbar1");
> >> +   pb2 = edje_object_part_external_object_get(edje, "ext_pbar2");
> >> +   pb3 = edje_object_part_external_object_get(edje, "ext_pbar3");
> >> +   pb4 = edje_object_part_external_object_get(edje, "ext_pbar4");
> >> +   pb6 = edje_object_part_external_object_get(edje, "ext_pbar6");
> >> +   progress = elm_progressbar_value_get(pb1) + 0.0123;
> >> +
> >> +   elm_progressbar_value_set(pb1, progress);
> >> +   elm_progressbar_value_set(pb2, progress);
> >> +   elm_progressbar_value_set(pb3, progress);
> >> +   elm_progressbar_value_set(pb4, progress);
> >> +   elm_progressbar_value_set(pb6, progress);
> >> +
> >> +   if (progress < 1.0)
> >> +     return ECORE_CALLBACK_RENEW;
> >> +
> >> +   pb5 = edje_object_part_external_object_get(edje, "ext_pbar5");
> >> +   pb7 = edje_object_part_external_object_get(edje, "ext_pbar7");
> >> +   elm_progressbar_pulse(pb2, EINA_FALSE);
> >> +   elm_progressbar_pulse(pb5, EINA_FALSE);
> >> +   elm_progressbar_pulse(pb7, EINA_FALSE);
> >> +
> >> +   bt1 = edje_object_part_external_object_get(edje, "ext_button1");
> >> +   bt2 = edje_object_part_external_object_get(edje, "ext_button2");
> >> +   bt3 = edje_object_part_external_object_get(edje, "ext_button3");
> >> +   elm_object_disabled_set(bt1, EINA_FALSE);
> >> +   elm_object_disabled_set(bt2, EINA_FALSE);
> >> +   elm_object_disabled_set(bt3, EINA_FALSE);
> >> +
> >> +   return ECORE_CALLBACK_CANCEL;
> >> +}
> >> +
> >> +static void
> >> +_bt_clicked(void *data, Evas_Object *obj __UNUSED__, void *event_info
> __UNUSED__)
> >> +{
> >> +   Evas_Object *edje = data;
> >> +   Evas_Object *bt1, *bt2, *bt3, *pb1, *pb2, *pb3, *pb4, *pb5, *pb6,
> *pb7;
> >> +
> >> +   bt1 = edje_object_part_external_object_get(edje, "ext_button1");
> >> +   bt2 = edje_object_part_external_object_get(edje, "ext_button2");
> >> +   bt3 = edje_object_part_external_object_get(edje, "ext_button3");
> >> +   elm_object_disabled_set(bt1, EINA_TRUE);
> >> +   elm_object_disabled_set(bt2, EINA_TRUE);
> >> +   elm_object_disabled_set(bt3, EINA_TRUE);
> >> +
> >> +   pb1 = edje_object_part_external_object_get(edje, "ext_pbar1");
> >> +   pb1 = edje_object_part_external_object_get(edje, "ext_pbar1");
> >> +   pb2 = edje_object_part_external_object_get(edje, "ext_pbar2");
> >> +   pb3 = edje_object_part_external_object_get(edje, "ext_pbar3");
> >> +   pb4 = edje_object_part_external_object_get(edje, "ext_pbar4");
> >> +   pb5 = edje_object_part_external_object_get(edje, "ext_pbar5");
> >> +   pb6 = edje_object_part_external_object_get(edje, "ext_pbar6");
> >> +   pb7 = edje_object_part_external_object_get(edje, "ext_pbar7");
> >> +
> >> +   elm_progressbar_value_set(pb1, 0.0);
> >> +   elm_progressbar_value_set(pb3, 0.0);
> >> +   elm_progressbar_value_set(pb4, 0.0);
> >> +   elm_progressbar_value_set(pb6, 0.0);
> >> +
> >> +   elm_progressbar_pulse(pb2, EINA_TRUE);
> >> +   elm_progressbar_pulse(pb5, EINA_TRUE);
> >> +   elm_progressbar_pulse(pb7, EINA_TRUE);
> >> +
> >> +   ecore_timer_add(0.1, _timer_cb, edje);
> >> +}
> >> +
> >> +void
> >> +test_external_pbar(void *data __UNUSED__, Evas_Object *obj __UNUSED__,
> void *event_info __UNUSED__)
> >> +{
> >> +   Evas_Object *win, *ly, *edje, *bt;
> >> +   char buf[PATH_MAX];
> >> +
> >> +   win = elm_win_util_standard_add("ext_pbar", "Edje External
> ProgressBar");
> >> +   elm_win_autodel_set(win, EINA_TRUE);
> >> +
> >> +   ly = elm_layout_add(win);
> >> +   snprintf(buf, sizeof(buf), "%s/objects/test_external.edj",
> elm_app_data_dir_get());
> >> +   elm_layout_file_set(ly, buf, "external/pbar");
> >> +   evas_object_size_hint_weight_set(ly, EVAS_HINT_EXPAND,
> EVAS_HINT_EXPAND);
> >> +   evas_object_size_hint_align_set(ly, EVAS_HINT_FILL, EVAS_HINT_FILL);
> >> +   elm_win_resize_object_add(win, ly);
> >> +   evas_object_show(ly);
> >> +
> >> +   edje = elm_layout_edje_get(ly);
> >> +   bt = edje_object_part_external_object_get(edje, "ext_button3");
> >> +   evas_object_smart_callback_add(bt, "clicked", _bt_clicked, edje);
> >> +
> >> +   evas_object_resize(win, 320, 400);
> >> +   evas_object_show(win);
> >> +}
> >> +
> >> +
> >>  #endif
> >>
> >>
> >>
> ------------------------------------------------------------------------------
> >> Live Security Virtual Conference
> >> Exclusive live event will cover all the ways today's security and
> >> threat landscape has changed and how IT managers can respond.
> Discussions
> >> will include endpoint security, mobile security and the latest in
> malware
> >> threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
> >> _______________________________________________
> >> enlightenment-svn mailing list
> >> enlightenment-...@lists.sourceforge.net
> >> https://lists.sourceforge.net/lists/listinfo/enlightenment-svn
> >>
> >
> >
> >
> > --
> > Cedric BAIL
> >
> >
> ------------------------------------------------------------------------------
> > Live Security Virtual Conference
> > Exclusive live event will cover all the ways today's security and
> > threat landscape has changed and how IT managers can respond. Discussions
> > will include endpoint security, mobile security and the latest in malware
> > threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
> > _______________________________________________
> > enlightenment-devel mailing list
> > enlightenment-devel@lists.sourceforge.net
> > https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
>
>
> ------------------------------------------------------------------------------
> Live Security Virtual Conference
> Exclusive live event will cover all the ways today's security and
> threat landscape has changed and how IT managers can respond. Discussions
> will include endpoint security, mobile security and the latest in malware
> threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
> _______________________________________________
> enlightenment-devel mailing list
> enlightenment-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
>
------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
_______________________________________________
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

Reply via email to