seoz pushed a commit to branch master.

http://git.enlightenment.org/core/elementary.git/commit/?id=ce886262415222847543365991425365099f306b

commit ce886262415222847543365991425365099f306b
Author: Daniel Juyung Seo <[email protected]>
Date:   Sun Mar 23 01:35:00 2014 +0900

    test_list: Added focus move policy set example to test_list.
---
 src/bin/test_list.c | 49 ++++++++++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 48 insertions(+), 1 deletion(-)

diff --git a/src/bin/test_list.c b/src/bin/test_list.c
index 5a101ce..224b36b 100644
--- a/src/bin/test_list.c
+++ b/src/bin/test_list.c
@@ -1297,6 +1297,19 @@ test_list_focus_focus_animate_check_changed(void *data, 
Evas_Object *obj,
 }
 
 static void
+test_list_focus_focus_move_policy_changed(void *data EINA_UNUSED,
+                                          Evas_Object *obj,
+                                          void *event_info EINA_UNUSED)
+{
+   int val = elm_radio_value_get(obj);
+
+   if (val == 0)
+     elm_config_focus_move_policy_set(ELM_FOCUS_MOVE_POLICY_CLICK);
+   else if (val == 1)
+     elm_config_focus_move_policy_set(ELM_FOCUS_MOVE_POLICY_IN);
+}
+
+static void
 _item_cb(void *data, Evas_Object *obj EINA_UNUSED, void *event_info)
 {
    printf("%s: %p\n", (char *)data, event_info);
@@ -1365,7 +1378,7 @@ static void
 _test_list_focus(const char *name, const char *title, Eina_Bool horiz)
 {
    Evas_Object *win, *li, *btn, *bx, *bx2, *fr, *bx_opt, *chk, *bx_btn;
-   Evas_Object *btn_focus, *btn_sel;
+   Evas_Object *btn_focus, *btn_sel, *bx_mv, *rd, *rdg;
    unsigned int lhand, rhand, idx;
    char buf[256];
    Elm_Object_Item *it = NULL, *it_3 = NULL;
@@ -1477,6 +1490,40 @@ _test_list_focus(const char *name, const char *title, 
Eina_Bool horiz)
 
    test_list_focus_focus_on_selection_set(li, chk, EINA_FALSE);
 
+   // Focus Movement Policy
+   fr = elm_frame_add(bx);
+   elm_object_text_set(fr, "Focus Movement Policy");
+   evas_object_size_hint_weight_set(fr, EVAS_HINT_EXPAND, 0.0);
+   evas_object_size_hint_align_set(fr, EVAS_HINT_FILL, EVAS_HINT_FILL);
+   elm_box_pack_end(bx, fr);
+   evas_object_show(fr);
+
+   bx_mv = elm_box_add(fr);
+   elm_box_horizontal_set(bx_mv, EINA_TRUE);
+   elm_object_content_set(fr, bx_mv);
+   evas_object_show(bx_mv);
+
+   rdg = rd = elm_radio_add(bx_mv);
+   elm_object_text_set(rd, "Focus Move by Click");
+   elm_radio_state_value_set(rd, 0);
+   evas_object_size_hint_weight_set(rd, EVAS_HINT_EXPAND, 0.0);
+   evas_object_smart_callback_add(rd, "changed",
+                                  test_list_focus_focus_move_policy_changed,
+                                  NULL);
+   elm_box_pack_end(bx_mv, rd);
+   evas_object_show(rd);
+
+   rd = elm_radio_add(bx_mv);
+   elm_object_text_set(rd, "Focus Move by Mouse-In");
+   elm_radio_group_add(rd, rdg);
+   elm_radio_state_value_set(rd, 1);
+   evas_object_size_hint_weight_set(rd, EVAS_HINT_EXPAND, 0.0);
+   evas_object_smart_callback_add(rd, "changed",
+                                  test_list_focus_focus_move_policy_changed,
+                                  NULL);
+   elm_box_pack_end(bx_mv, rd);
+   evas_object_show(rd);
+
    // Focus/Selection
    fr = elm_frame_add(bx);
    elm_object_text_set(fr, "Focus/Selection");

-- 


Reply via email to