seoz pushed a commit to branch master.

http://git.enlightenment.org/tools/elm-theme-viewer.git/commit/?id=57250153aa0fc4296ed062dfc9d63a98a93864ca

commit 57250153aa0fc4296ed062dfc9d63a98a93864ca
Author: Daniel Juyung Seo <[email protected]>
Date:   Sat May 3 00:29:59 2014 +0900

    widget: focus_highlight test is now working well.
---
 src/bin/widget.c | 79 +++++++++++++++++++++++++++++++++-----------------------
 1 file changed, 47 insertions(+), 32 deletions(-)

diff --git a/src/bin/widget.c b/src/bin/widget.c
index 63fb65c..988118b 100644
--- a/src/bin/widget.c
+++ b/src/bin/widget.c
@@ -917,60 +917,75 @@ _widget_flipselector_create(Evas_Object *parent, const 
char *style)
 }
 
 // focus highlight
-static Evas_Object *
-_widget_focus_highlight_create(Evas_Object *parent, const char *orig_style)
+static void
+_widget_focus_highlight_win_create(void *data, Evas_Object *obj EINA_UNUSED,
+                                   void *event_info EINA_UNUSED)
 {
-   Evas_Object *box, *box2, *o;
+   Evas_Object *fwin = NULL, *box0 = NULL, *box = NULL, *o;
    char style[PATH_MAX] = {0, };
 
-   _trim_end_default(orig_style, style);
-   // FIXME: elm focus highlight has a bug!
-   //elm_win_focus_highlight_style_set(win, style);
-   elm_win_focus_highlight_enabled_set(gd->win, EINA_TRUE);
+   // create a window
+   fwin =  elm_win_util_standard_add("focus-window", "Focus Window");
+   elm_win_autodel_set(fwin, EINA_TRUE);
 
-   box = o = elm_box_add(parent);
-   EXPAND(o); FILL(o);
-   elm_box_horizontal_set(o, EINA_TRUE);
-   evas_object_show(o);
+   strncpy(style, data + 4, strlen(data) - 3); // "top/"
+   elm_object_theme_set(fwin, th);
+   elm_win_focus_highlight_enabled_set(fwin, EINA_TRUE);
 
-   o = elm_bg_add(box);
-   EXPAND(o); FILL(o);
-   elm_box_pack_end(box, o);
-   evas_object_show(o);
-
-   // box 2 start
-   box2 = o = elm_box_add(box);
-   EXPAND(o); FILL(o);
-   elm_box_pack_end(box, box2);
+   box0 = o = elm_box_add(fwin);
+   EXPAND(o);
+   elm_win_resize_object_add(fwin, o);
+   elm_box_padding_set(o, 100, 100);
    evas_object_show(o);
 
-   o = elm_bg_add(box2);
+   box = o = elm_box_add(box0);
    EXPAND(o); FILL(o);
-   elm_box_pack_end(box2, o);
+   elm_box_pack_end(box0, o);
    evas_object_show(o);
 
-   o = elm_button_add(box2);
+   /*
+   o = elm_bg_add(box);
    EXPAND(o); FILL(o);
-   elm_box_pack_end(box2, o);
+   elm_box_pack_end(box, o);
    evas_object_show(o);
+   */
 
-   o = elm_button_add(box2);
-   EXPAND(o); FILL(o);
-   elm_box_pack_end(box2, o);
+   o = elm_button_add(box);
+   elm_object_focus_highlight_style_set(o, style);
+   elm_object_text_set(o, "button");
+   elm_box_pack_end(box, o);
    evas_object_show(o);
 
-   o = elm_bg_add(box2);
-   EXPAND(o); FILL(o);
-   elm_box_pack_end(box2, o);
+   o = elm_check_add(box);
+   elm_object_focus_highlight_style_set(o, style);
+   elm_object_text_set(o, "check");
+   elm_box_pack_end(box, o);
    evas_object_show(o);
-   // box 2 end
 
+   /*
    o = elm_bg_add(box);
    EXPAND(o); FILL(o);
    elm_box_pack_end(box, o);
    evas_object_show(o);
+   */
 
-   return box;
+   evas_object_resize(fwin, 400, 400);
+   evas_object_show(fwin);
+}
+
+static Evas_Object *
+_widget_focus_highlight_create(Evas_Object *parent, const char *orig_style)
+{
+   Evas_Object *o = NULL;
+   o = elm_button_add(parent);
+   WEIGHT(o, EVAS_HINT_EXPAND, 0.0); FILL(o);
+   elm_object_text_set(o, "Press");
+   evas_object_smart_callback_add(o, "clicked",
+                                  _widget_focus_highlight_win_create,
+                                  orig_style);
+   evas_object_show(o);
+
+   return o;
 }
 
 static void

-- 


Reply via email to