Dear All, Hi~

Please review the attached patch and give any feedbacks. Thanks.

Sincerely,
Shinwoo Kim.
Index: src/bin/test.c
===================================================================
--- src/bin/test.c	(revision 68250)
+++ src/bin/test.c	(working copy)
@@ -43,6 +43,7 @@ void test_entry3(void *data, Evas_Object *obj, voi
 void test_entry4(void *data, Evas_Object *obj, void *event_info);
 void test_entry5(void *data, Evas_Object *obj, void *event_info);
 void test_entry6(void *data, Evas_Object *obj, void *event_info);
+void test_entry7(void *data, Evas_Object *obj, void *event_info);
 void test_entry_notepad(void *data, Evas_Object *obj, void *event_info);
 void test_multibuttonentry(void *data, Evas_Object *obj, void *event_info);
 void test_anchorview(void *data, Evas_Object *obj, void *event_info);
@@ -364,6 +365,7 @@ add_tests:
    ADD_TEST(NULL, "Entries", "Entry 4", test_entry4);
    ADD_TEST(NULL, "Entries", "Entry 5", test_entry5);
    ADD_TEST(NULL, "Entries", "Entry 6", test_entry6);
+   ADD_TEST(NULL, "Entries", "Entry 7", test_entry7);
    ADD_TEST(NULL, "Entries", "Entry Notepad", test_entry_notepad);
    ADD_TEST(NULL, "Entries", "Multibuttonentry", test_multibuttonentry);
 
Index: src/bin/test_entry.c
===================================================================
--- src/bin/test_entry.c	(revision 68250)
+++ src/bin/test_entry.c	(working copy)
@@ -1692,6 +1692,242 @@ test_entry6(void *data __UNUSED__, Evas_Object *ob
 }
 
 static void
+changed_cb(void *data, Evas_Object *obj, void *event_info __UNUSED__)
+{
+	Evas_Object *en;
+	en = (Evas_Object*)data;
+
+	elm_entry_editable_set(en, elm_check_state_get(obj));
+}
+
+static void
+en_changed_cb(void *data, Evas_Object *obj, void *event_info __UNUSED__)
+{
+   Evas_Object *sp, *en;
+   sp = (Evas_Object *)data;
+   en = (Evas_Object *)obj;
+   elm_spinner_min_max_set(sp, 0, strlen(elm_object_text_get(en)));
+}
+
+static void
+sp_changed_cb(void *data, Evas_Object *obj, void *event_info __UNUSED__)
+{
+   Evas_Object *en, *sp;
+   en = (Evas_Object *)data;
+   sp = (Evas_Object *)obj;
+   elm_entry_cursor_pos_set(en, elm_spinner_value_get(sp));
+   elm_object_focus_set(en, EINA_TRUE);
+}
+
+static void
+add_bt_clicked(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
+{
+   Evas_Object *en;
+   en = (Evas_Object *)data;
+
+   elm_entry_context_menu_item_add(en, "item", NULL, ELM_ICON_NONE, NULL, NULL);
+}
+
+static void
+clear_bt_clicked(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
+{
+   Evas_Object *en;
+   en = (Evas_Object *)data;
+
+   elm_entry_context_menu_clear(en);
+}
+
+static Evas_Object *
+item_provider(void *images __UNUSED__, Evas_Object *en, const char *item)
+{
+   Evas_Object *o = NULL;;
+   char buf[1024];
+
+   if(!strcmp(item, "itemprovider"))
+     {
+        snprintf(buf, sizeof(buf), "%s/images/icon_00.png",
+                 elm_app_data_dir_get());
+        o = evas_object_image_filled_add(evas_object_evas_get(en));
+        evas_object_image_file_set(o, buf, NULL);
+     }
+
+   return o;
+}
+
+static Evas_Object *
+prepend_item_provider(void *images __UNUSED__, Evas_Object *en, const char *item)
+{
+   Evas_Object *o = NULL;;
+   char buf[1024];
+
+   if(!strcmp(item, "itemprovider"))
+     {
+        snprintf(buf, sizeof(buf), "%s/images/icon_10.png",
+                 elm_app_data_dir_get());
+        o = evas_object_image_filled_add(evas_object_evas_get(en));
+        evas_object_image_file_set(o, buf, NULL);
+     }
+
+   return o;
+}
+
+static void
+prepend_bt_clicked(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
+{
+   Evas_Object *en;
+   en = (Evas_Object *)data;
+
+   elm_entry_item_provider_prepend(en, prepend_item_provider, NULL);
+   elm_object_text_set(en,
+                       "Item Provider"
+                       "<item size=50x50 vsize=full href=itemprovider></item>"
+                      );
+}
+
+static void
+remove_bt_clicked(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
+{
+   Evas_Object *en;
+   en = (Evas_Object *)data;
+
+   elm_entry_item_provider_remove(en, item_provider, NULL);
+   elm_entry_item_provider_remove(en, prepend_item_provider, NULL);
+   elm_object_text_set(en,
+                       "Item Provider"
+                       "<item size=50x50 vsize=full href=itemprovider></item>"
+                      );
+}
+
+static void
+enable_changed_cb(void *data, Evas_Object *obj, void *event_info __UNUSED__)
+{
+	Evas_Object *en;
+	en = (Evas_Object*)data;
+
+	elm_entry_context_menu_disabled_set(en, elm_check_state_get(obj));
+}
+
+void
+test_entry7(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
+{
+   Evas_Object *win, *gd, *rect, *en, *sc, *tg, *lb, *sp;
+   Evas_Object *bt, *en2, *sc2;
+   win = elm_win_util_standard_add("entry7", "Entry 7");
+   elm_win_autodel_set(win, EINA_TRUE);
+
+   gd = elm_grid_add(win);
+   elm_grid_size_set(gd, 100, 100);
+   elm_win_resize_object_add(win, gd);
+   evas_object_size_hint_weight_set(gd, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+   evas_object_show(gd);
+
+   rect = evas_object_rectangle_add(evas_object_evas_get(win));
+   elm_grid_pack(gd, rect, 10, 10, 60, 30);
+   evas_object_color_set(rect, 255, 0, 0, 255);
+   evas_object_show(rect);
+
+   en = elm_entry_add(win);
+   evas_object_size_hint_weight_set(en, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+   evas_object_size_hint_align_set(en, EVAS_HINT_FILL, EVAS_HINT_FILL);
+   elm_object_text_set(en, "Editable, Cursor Positioin");
+
+   sc = elm_scroller_add(win);
+   evas_object_size_hint_weight_set(sc, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+   elm_win_resize_object_add(win, sc);
+   elm_object_content_set(sc, en);
+   evas_object_show(en);
+   elm_grid_pack(gd, sc, 10, 10, 60, 30);
+   evas_object_show(sc);
+
+   tg = elm_check_add(win);
+   evas_object_size_hint_weight_set(tg, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+   evas_object_size_hint_align_set(tg, EVAS_HINT_FILL, EVAS_HINT_FILL);
+   elm_object_text_set(tg, "Editable");
+   elm_check_state_set(tg, EINA_TRUE);
+   evas_object_smart_callback_add(tg, "changed", changed_cb, en);
+   elm_grid_pack(gd, tg, 70, 10, 22, 10);
+   evas_object_show(tg);
+
+   lb = elm_label_add(win);
+   elm_object_text_set(lb, "Cursor position:");
+   evas_object_size_hint_weight_set(lb, 0.0, 0.0);
+   evas_object_size_hint_align_set(lb, EVAS_HINT_FILL, EVAS_HINT_FILL);
+   elm_grid_pack(gd, lb, 70, 25, 25, 5);
+   evas_object_show(lb);
+
+   sp = elm_spinner_add(win);
+   elm_spinner_label_format_set(sp, "%1.0f");
+   elm_spinner_step_set(sp, 1);
+   elm_spinner_wrap_set(sp, ELM_WRAP_CHAR);
+   elm_spinner_min_max_set(sp, 0, strlen(elm_object_text_get(en)));
+   evas_object_size_hint_align_set(sp, EVAS_HINT_FILL, EVAS_HINT_FILL);
+   evas_object_size_hint_weight_set(sp, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+   elm_grid_pack(gd, sp, 70, 30, 25, 10);
+   evas_object_smart_callback_add(en, "changed", en_changed_cb, sp);
+   evas_object_smart_callback_add(sp, "delay,changed", sp_changed_cb, en);
+   evas_object_show(sp);
+
+   rect = evas_object_rectangle_add(evas_object_evas_get(win));
+   elm_grid_pack(gd, rect, 10, 50, 45, 30);
+   evas_object_color_set(rect, 0, 255, 0, 255);
+   evas_object_show(rect);
+
+   en2 = elm_entry_add(win);
+   evas_object_size_hint_weight_set(en2, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+   evas_object_size_hint_align_set(en2, EVAS_HINT_FILL, EVAS_HINT_FILL);
+   elm_object_text_set(en2,
+                       "Item Provider"
+                       "<item size=50x50 vsize=full href=itemprovider></item>"
+                      );
+   elm_entry_item_provider_append(en2, item_provider, NULL);
+   elm_entry_context_menu_disabled_set(en, EINA_TRUE);
+
+   sc2 = elm_scroller_add(win);
+   evas_object_size_hint_weight_set(sc2, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+   elm_win_resize_object_add(win, sc2);
+   elm_object_content_set(sc2, en2);
+   evas_object_show(en2);
+   elm_grid_pack(gd, sc2, 10, 50, 45, 30);
+   evas_object_show(sc2);
+
+   tg = elm_check_add(win);
+   evas_object_size_hint_weight_set(tg, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+   evas_object_size_hint_align_set(tg, EVAS_HINT_FILL, EVAS_HINT_FILL);
+   elm_object_text_set(tg, "Disable Context Menu");
+   elm_check_state_set(tg, EINA_TRUE);
+   evas_object_smart_callback_add(tg, "changed", enable_changed_cb, en2);
+   elm_grid_pack(gd, tg, 55, 50, 40, 10);
+   evas_object_show(tg);
+
+   bt = elm_button_add(win);
+   elm_object_text_set(bt, "Add Context Menu");
+   elm_grid_pack(gd, bt, 55, 60, 40, 10);
+   evas_object_smart_callback_add(bt, "clicked", add_bt_clicked, en2);
+   evas_object_show(bt);
+
+   bt = elm_button_add(win);
+   elm_object_text_set(bt, "Clear Context Menu");
+   elm_grid_pack(gd, bt, 55, 70, 40, 10);
+   evas_object_smart_callback_add(bt, "clicked", clear_bt_clicked, en2);
+   evas_object_show(bt);
+
+   bt = elm_button_add(win);
+   elm_object_text_set(bt, "Prepend Item Provider");
+   elm_grid_pack(gd, bt, 10, 80, 45, 10);
+   evas_object_smart_callback_add(bt, "clicked", prepend_bt_clicked, en2);
+   evas_object_show(bt);
+
+   bt = elm_button_add(win);
+   elm_object_text_set(bt, "Remove Item Provider");
+   elm_grid_pack(gd, bt, 55, 80, 40, 10);
+   evas_object_smart_callback_add(bt, "clicked", remove_bt_clicked, en2);
+   evas_object_show(bt);
+
+   evas_object_resize(win, 320, 320);
+   evas_object_show(win);
+}
+
+static void
 _scrolled_entry_clear(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
 {
    Evas_Object *en = data;
------------------------------------------------------------------------------
Virtualization & Cloud Management Using Capacity Planning
Cloud computing makes use of virtualization - but cloud computing 
also focuses on allowing computing to be delivered as a service.
http://www.accelacomm.com/jaw/sfnl/114/51521223/
_______________________________________________
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

Reply via email to