en = evas_object_data_get(obj, "prof_desc_entry");
#ifdef ELM_EFREET
- if (desk) elm_scrolled_entry_entry_set(en, desk->comment);
+ if (desk) elm_entry_entry_set(en, desk->comment);
else
#endif
- elm_scrolled_entry_entry_set(en, "Unknown");
+ elm_entry_entry_set(en, "Unknown");
#ifdef ELM_EFREET
if (desk) efreet_desktop_free(desk);
evas_object_show(lb);
- en = elm_scrolled_entry_add(win);
- elm_scrolled_entry_editable_set(en, EINA_FALSE);
+ en = elm_entry_add(win);
+ elm_entry_scrollable_set(en, EINA_TRUE);
+ elm_entry_editable_set(en, EINA_FALSE);
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);
evas_object_show(en);
void test_win_inline(void *data, Evas_Object *obj, void *event_info);
void test_grid(void *data, Evas_Object *obj, void *event_info);
void test_glview(void *data, Evas_Object *obj, void *event_info);
+void test_3d(void *data, Evas_Object *obj, void *event_info);
#ifdef HAVE_EIO
void test_eio(void *data, Evas_Object *obj, void *event_info);
#endif
ADD_TEST("Window Inline", test_win_inline);
ADD_TEST("Grid", test_grid);
ADD_TEST("GLView", test_glview);
+ ADD_TEST("3D", test_3d);
#undef ADD_TEST
if (autorun)
evas_object_size_hint_weight_set(bx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
evas_object_size_hint_align_set(bx, EVAS_HINT_FILL, EVAS_HINT_FILL);
- en = elm_scrolled_entry_add(win);
- elm_scrolled_entry_single_line_set(en, 1);
- elm_scrolled_entry_bounce_set(en, 1, 0);
- elm_scrolled_entry_entry_set(en, "This is the top entry here");
+ en = elm_entry_add(win);
+ elm_entry_scrollable_set(en, EINA_TRUE);
+ elm_entry_single_line_set(en, 1);
+ elm_entry_bounce_set(en, 1, 0);
+ elm_entry_entry_set(en, "This is the top entry here");
evas_object_size_hint_weight_set(en, EVAS_HINT_EXPAND, 0.0);
evas_object_size_hint_align_set(en, EVAS_HINT_FILL, 0.5);
evas_object_show(en);
elm_box_pack_end(bx, btn);
evas_object_show(btn);
- en = elm_scrolled_entry_add(win);
- elm_scrolled_entry_single_line_set(en, 1);
- elm_scrolled_entry_bounce_set(en, 1, 0);
- elm_scrolled_entry_entry_set(en, "This is the middle entry here");
+ en = elm_entry_add(win);
+ elm_entry_scrollable_set(en, EINA_TRUE);
+ elm_entry_single_line_set(en, 1);
+ elm_entry_bounce_set(en, 1, 0);
+ elm_entry_entry_set(en, "This is the middle entry here");
evas_object_size_hint_weight_set(en, EVAS_HINT_EXPAND, 0.0);
evas_object_size_hint_align_set(en, EVAS_HINT_FILL, 0.5);
evas_object_show(en);
elm_box_pack_end(bx, btn);
evas_object_show(btn);
- en = elm_scrolled_entry_add(win);
- elm_scrolled_entry_bounce_set(en, 0, 1);
- elm_scrolled_entry_entry_set(en,
+ en = elm_entry_add(win);
+ elm_entry_scrollable_set(en, EINA_TRUE);
+ elm_entry_bounce_set(en, 0, 1);
+ elm_entry_entry_set(en,
"This is a multi-line entry at the bottom<br>"
"This can contain more than 1 line of text and be "
"scrolled around to allow for entering of lots of "
elm_win_resize_object_add(win, bx);
evas_object_show(bx);
- en = elm_scrolled_entry_add(win);
- elm_scrolled_entry_single_line_set(en, 1);
- elm_scrolled_entry_bounce_set(en, 1, 0);
- elm_scrolled_entry_entry_set(en, "This is the top entry here");
+ en = elm_entry_add(win);
+ elm_entry_scrollable_set(en, EINA_TRUE);
+ elm_entry_single_line_set(en, 1);
+ elm_entry_bounce_set(en, 1, 0);
+ elm_entry_entry_set(en, "This is the top entry here");
evas_object_size_hint_weight_set(en, EVAS_HINT_EXPAND, 0.0);
evas_object_size_hint_align_set(en, EVAS_HINT_FILL, 0.5);
elm_box_pack_end(bx, en);
evas_object_size_hint_weight_set(bx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
evas_object_size_hint_align_set(bx, EVAS_HINT_FILL, EVAS_HINT_FILL);
- en = elm_scrolled_entry_add(win);
- elm_scrolled_entry_bounce_set(en, 0, 1);
- elm_scrolled_entry_entry_set(en, "This entry and button below get deleted.");
+ en = elm_entry_add(win);
+ elm_entry_scrollable_set(en, EINA_TRUE);
+ elm_entry_bounce_set(en, 0, 1);
+ elm_entry_entry_set(en, "This entry and button below get deleted.");
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);
evas_object_show(en);
evas_object_size_hint_weight_set(bx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
evas_object_size_hint_align_set(bx, EVAS_HINT_FILL, EVAS_HINT_FILL);
- en = elm_scrolled_entry_add(win);
- elm_scrolled_entry_bounce_set(en, 0, 1);
- elm_scrolled_entry_entry_set(en, "This entry and button below get deleted.");
+ en = elm_entry_add(win);
+ elm_entry_scrollable_set(en, EINA_TRUE);
+ elm_entry_bounce_set(en, 0, 1);
+ elm_entry_entry_set(en, "This entry and button below get deleted.");
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);
evas_object_show(en);
elm_list_go(list);
evas_object_show(list);
- entry = elm_scrolled_entry_add(win);
- elm_scrolled_entry_entry_set(entry, "Xterm cursor");
- elm_scrolled_entry_single_line_set(entry, EINA_TRUE);
+ entry = elm_entry_add(win);
+ elm_entry_scrollable_set(entry, EINA_TRUE);
+ elm_entry_entry_set(entry, "Xterm cursor");
+ elm_entry_single_line_set(entry, EINA_TRUE);
evas_object_size_hint_weight_set(entry, EVAS_HINT_EXPAND, 0);
evas_object_size_hint_fill_set(entry, EVAS_HINT_FILL, EVAS_HINT_FILL);
elm_box_pack_end(bx, entry);
elm_entry_entry_insert(en, "Insert some <b>BOLD</> text");
}
+static void
+my_entry_bt_5(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
+{
+ Evas_Object *en = data;
+ elm_entry_scrollable_set(en, !elm_entry_scrollable_get(en));
+}
+
+static void
+my_entry_bt_6(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
+{
+ Evas_Object *en = data;
+ static Elm_Wrap_Type wr = ELM_WRAP_NONE;
+
+ wr++;
+ if (wr == ELM_WRAP_LAST) wr = ELM_WRAP_NONE;
+ printf("wr: %i\n", wr);
+ elm_entry_line_wrap_set(en, wr);
+}
+
void
test_entry(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
{
evas_object_size_hint_align_set(bx2, EVAS_HINT_FILL, EVAS_HINT_FILL);
bt = elm_button_add(win);
- elm_button_label_set(bt, "Clear");
+ elm_button_label_set(bt, "Clr");
evas_object_smart_callback_add(bt, "clicked", my_entry_bt_1, en);
evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, EVAS_HINT_FILL);
evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, 0.0);
evas_object_show(bt);
bt = elm_button_add(win);
- elm_button_label_set(bt, "Print");
+ elm_button_label_set(bt, "Prnt");
evas_object_smart_callback_add(bt, "clicked", my_entry_bt_2, en);
evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, EVAS_HINT_FILL);
evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, 0.0);
evas_object_show(bt);
bt = elm_button_add(win);
- elm_button_label_set(bt, "Selection");
+ elm_button_label_set(bt, "Sel");
evas_object_smart_callback_add(bt, "clicked", my_entry_bt_3, en);
evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, EVAS_HINT_FILL);
evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, 0.0);
evas_object_show(bt);
bt = elm_button_add(win);
- elm_button_label_set(bt, "Insert");
+ elm_button_label_set(bt, "Ins");
evas_object_smart_callback_add(bt, "clicked", my_entry_bt_4, en);
evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, EVAS_HINT_FILL);
evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, 0.0);
elm_object_focus_allow_set(bt, 0);
evas_object_show(bt);
+ bt = elm_button_add(win);
+ elm_button_label_set(bt, "Scrl");
+ evas_object_smart_callback_add(bt, "clicked", my_entry_bt_5, en);
+ evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, EVAS_HINT_FILL);
+ evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, 0.0);
+ elm_box_pack_end(bx2, bt);
+ evas_object_propagate_events_set(bt, 0);
+ elm_object_focus_allow_set(bt, 0);
+ evas_object_show(bt);
+
+ bt = elm_button_add(win);
+ elm_button_label_set(bt, "Wr");
+ evas_object_smart_callback_add(bt, "clicked", my_entry_bt_6, en);
+ evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, EVAS_HINT_FILL);
+ evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, 0.0);
+ elm_box_pack_end(bx2, bt);
+ evas_object_propagate_events_set(bt, 0);
+ elm_object_focus_allow_set(bt, 0);
+ evas_object_show(bt);
+
elm_box_pack_end(bx, bx2);
evas_object_show(bx2);
my_scrolled_entry_bt_1(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
{
Evas_Object *en = data;
- elm_scrolled_entry_entry_set(en, "");
+ elm_entry_entry_set(en, "");
}
static void
my_scrolled_entry_bt_2(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
{
Evas_Object *en = data;
- const char *s = elm_scrolled_entry_entry_get(en);
+ const char *s = elm_entry_entry_get(en);
printf("ENTRY:\n");
if (s) printf("%s\n", s);
printf("ENTRY PLAIN UTF8:\n");
my_scrolled_entry_bt_3(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
{
Evas_Object *en = data;
- const char *s = elm_scrolled_entry_selection_get(en);
+ const char *s = elm_entry_selection_get(en);
printf("SELECTION:\n");
if (s) printf("%s\n", s);
printf("SELECTION PLAIN UTF8:\n");
my_scrolled_entry_bt_4(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
{
Evas_Object *en = data;
- elm_scrolled_entry_entry_insert(en, "Insert some <b>BOLD</> text");
+ elm_entry_entry_insert(en, "Insert some <b>BOLD</> text");
}
static void
my_scrolled_entry_bt_5(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
{
Evas_Object *en = data;
- const char *s = elm_scrolled_entry_entry_get(en);
+ const char *s = elm_entry_entry_get(en);
printf("PASSWORD: '%s'\n", s ? s : "");
}
scrolled_anchor_test(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
{
Evas_Object *en = data;
- elm_scrolled_entry_entry_insert(en, "ANCHOR CLICKED");
+ elm_entry_entry_insert(en, "ANCHOR CLICKED");
}
void
evas_object_show(bx);
/* disabled entry */
- en = elm_scrolled_entry_add(win);
+ en = elm_entry_add(win);
+ elm_entry_scrollable_set(en, EINA_TRUE);
evas_object_size_hint_weight_set(en, EVAS_HINT_EXPAND, 0.0);
evas_object_size_hint_align_set(en, EVAS_HINT_FILL, 0.5);
- elm_scrolled_entry_scrollbar_policy_set(en, ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_OFF);
- elm_scrolled_entry_entry_set(en, "Disabled entry");
- elm_scrolled_entry_single_line_set(en, 1);
+ elm_entry_scrollbar_policy_set(en, ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_OFF);
+ elm_entry_entry_set(en, "Disabled entry");
+ elm_entry_single_line_set(en, 1);
elm_object_disabled_set(en, 1);
evas_object_show(en);
elm_box_pack_end(bx, en);
/* password entry */
- en = elm_scrolled_entry_add(win);
+ en = elm_entry_add(win);
+ elm_entry_scrollable_set(en, EINA_TRUE);
evas_object_size_hint_weight_set(en, EVAS_HINT_EXPAND, 0.0);
evas_object_size_hint_align_set(en, EVAS_HINT_FILL, 0.5);
- elm_scrolled_entry_scrollbar_policy_set(en, ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_OFF);
- elm_scrolled_entry_password_set(en, 1);
- elm_scrolled_entry_single_line_set(en, 1);
- elm_scrolled_entry_entry_set(en, "Access denied, give up!");
+ elm_entry_scrollbar_policy_set(en, ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_OFF);
+ elm_entry_password_set(en, 1);
+ elm_entry_single_line_set(en, 1);
+ elm_entry_entry_set(en, "Access denied, give up!");
elm_object_disabled_set(en, 1);
evas_object_show(en);
elm_box_pack_end(bx, en);
/* multi-line disable entry */
- en = elm_scrolled_entry_add(win);
+ en = elm_entry_add(win);
+ elm_entry_scrollable_set(en, EINA_TRUE);
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_scrolled_entry_scrollbar_policy_set(en, ELM_SCROLLER_POLICY_ON, ELM_SCROLLER_POLICY_ON);
+ elm_entry_scrollbar_policy_set(en, ELM_SCROLLER_POLICY_ON, ELM_SCROLLER_POLICY_ON);
elm_object_disabled_set(en, 1);
- elm_scrolled_entry_context_menu_item_add(en, "Hello", NULL, ELM_ICON_NONE, NULL, NULL);
- elm_scrolled_entry_context_menu_item_add(en, "World", NULL, ELM_ICON_NONE, NULL, NULL);
- elm_scrolled_entry_entry_set(en,
+ elm_entry_context_menu_item_add(en, "Hello", NULL, ELM_ICON_NONE, NULL, NULL);
+ elm_entry_context_menu_item_add(en, "World", NULL, ELM_ICON_NONE, NULL, NULL);
+ elm_entry_entry_set(en,
"Multi-line disabled entry widget :)<br>"
"We can use markup <b>like this</> for styling and<br>"
"formatting <em>like this</>, as well as<br>"
evas_object_show(sp);
/* Single line selected entry */
- en = elm_scrolled_entry_add(win);
+ en = elm_entry_add(win);
+ elm_entry_scrollable_set(en, EINA_TRUE);
evas_object_size_hint_weight_set(en, EVAS_HINT_EXPAND, 0.0);
evas_object_size_hint_align_set(en, EVAS_HINT_FILL, 0.5);
- elm_scrolled_entry_entry_set(en, "This is a single line");
- elm_scrolled_entry_scrollbar_policy_set(en, ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_OFF);
- elm_scrolled_entry_single_line_set(en, 1);
- elm_scrolled_entry_select_all(en);
+ elm_entry_entry_set(en, "This is a single line");
+ elm_entry_scrollbar_policy_set(en, ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_OFF);
+ elm_entry_single_line_set(en, 1);
+ elm_entry_select_all(en);
evas_object_show(en);
elm_box_pack_end(bx, en);
/* Only digits entry */
- en = elm_scrolled_entry_add(win);
+ en = elm_entry_add(win);
+ elm_entry_scrollable_set(en, EINA_TRUE);
evas_object_size_hint_weight_set(en, EVAS_HINT_EXPAND, 0.0);
evas_object_size_hint_align_set(en, EVAS_HINT_FILL, 0.5);
- elm_scrolled_entry_entry_set(en, "01234");
- elm_scrolled_entry_scrollbar_policy_set(en, ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_OFF);
- elm_scrolled_entry_single_line_set(en, 1);
+ elm_entry_entry_set(en, "01234");
+ elm_entry_scrollbar_policy_set(en, ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_OFF);
+ elm_entry_single_line_set(en, 1);
evas_object_show(en);
elm_box_pack_end(bx, en);
digits_filter_data.accepted = "0123456789";
digits_filter_data.rejected = NULL;
- elm_scrolled_entry_text_filter_append(en, elm_entry_filter_accept_set, &digits_filter_data);
+ elm_entry_text_filter_append(en, elm_entry_filter_accept_set, &digits_filter_data);
/* No digits entry */
- en = elm_scrolled_entry_add(win);
+ en = elm_entry_add(win);
+ elm_entry_scrollable_set(en, EINA_TRUE);
evas_object_size_hint_weight_set(en, EVAS_HINT_EXPAND, 0.0);
evas_object_size_hint_align_set(en, EVAS_HINT_FILL, 0.5);
- elm_scrolled_entry_entry_set(en, "No numbers here");
- elm_scrolled_entry_scrollbar_policy_set(en, ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_OFF);
- elm_scrolled_entry_single_line_set(en, 1);
+ elm_entry_entry_set(en, "No numbers here");
+ elm_entry_scrollbar_policy_set(en, ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_OFF);
+ elm_entry_single_line_set(en, 1);
evas_object_show(en);
elm_box_pack_end(bx, en);
digits_filter_data2.accepted = NULL;
digits_filter_data2.rejected = "0123456789";
- elm_scrolled_entry_text_filter_append(en, elm_entry_filter_accept_set, &digits_filter_data2);
+ elm_entry_text_filter_append(en, elm_entry_filter_accept_set, &digits_filter_data2);
/* Size limited entry */
- en = elm_scrolled_entry_add(win);
+ en = elm_entry_add(win);
+ elm_entry_scrollable_set(en, EINA_TRUE);
evas_object_size_hint_weight_set(en, EVAS_HINT_EXPAND, 0.0);
evas_object_size_hint_align_set(en, EVAS_HINT_FILL, 0.5);
- elm_scrolled_entry_entry_set(en, "Just 20 chars");
- elm_scrolled_entry_scrollbar_policy_set(en, ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_OFF);
- elm_scrolled_entry_single_line_set(en, 1);
+ elm_entry_entry_set(en, "Just 20 chars");
+ elm_entry_scrollbar_policy_set(en, ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_OFF);
+ elm_entry_single_line_set(en, 1);
evas_object_show(en);
elm_box_pack_end(bx, en);
limit_filter_data.max_char_count = 20;
limit_filter_data.max_byte_count = 0;
- elm_scrolled_entry_text_filter_append(en, elm_entry_filter_limit_size, &limit_filter_data);
+ elm_entry_text_filter_append(en, elm_entry_filter_limit_size, &limit_filter_data);
/* Byte size limited entry */
- en = elm_scrolled_entry_add(win);
+ en = elm_entry_add(win);
+ elm_entry_scrollable_set(en, EINA_TRUE);
evas_object_size_hint_weight_set(en, EVAS_HINT_EXPAND, 0.0);
evas_object_size_hint_align_set(en, EVAS_HINT_FILL, 0.5);
- elm_scrolled_entry_entry_set(en, "And now only 30 bytes");
- elm_scrolled_entry_scrollbar_policy_set(en, ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_OFF);
- elm_scrolled_entry_single_line_set(en, 1);
+ elm_entry_entry_set(en, "And now only 30 bytes");
+ elm_entry_scrollbar_policy_set(en, ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_OFF);
+ elm_entry_single_line_set(en, 1);
evas_object_show(en);
elm_box_pack_end(bx, en);
limit_filter_data2.max_char_count = 0;
limit_filter_data2.max_byte_count = 30;
- elm_scrolled_entry_text_filter_append(en, elm_entry_filter_limit_size, &limit_filter_data2);
+ elm_entry_text_filter_append(en, elm_entry_filter_limit_size, &limit_filter_data2);
/* Single line password entry */
- en_p = elm_scrolled_entry_add(win);
+ en_p = elm_entry_add(win);
+ elm_entry_scrollable_set(en_p, EINA_TRUE);
evas_object_size_hint_weight_set(en_p, EVAS_HINT_EXPAND, 0.0);
evas_object_size_hint_align_set(en_p, EVAS_HINT_FILL, 0.5);
- elm_scrolled_entry_scrollbar_policy_set(en_p, ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_OFF);
- elm_scrolled_entry_entry_set(en_p, "Password here");
- elm_scrolled_entry_single_line_set(en_p, 1);
- elm_scrolled_entry_password_set(en_p, 1);
+ elm_entry_scrollbar_policy_set(en_p, ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_OFF);
+ elm_entry_entry_set(en_p, "Password here");
+ elm_entry_single_line_set(en_p, 1);
+ elm_entry_password_set(en_p, 1);
evas_object_show(en_p);
elm_box_pack_end(bx, en_p);
/* scrolled entry with icon/end widgets*/
- en = elm_scrolled_entry_add(win);
- elm_scrolled_entry_scrollbar_policy_set(en, ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_OFF);
- elm_scrolled_entry_single_line_set(en, 1);
+ en = elm_entry_add(win);
+ elm_entry_scrollable_set(en, EINA_TRUE);
+ elm_entry_scrollbar_policy_set(en, ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_OFF);
+ elm_entry_single_line_set(en, 1);
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);
bt = elm_icon_add(win);
evas_object_size_hint_min_set(bt, 48, 48);
evas_object_color_set(bt, 255, 0, 0, 128);
evas_object_show(bt);
- elm_scrolled_entry_icon_set(en, bt);
+ elm_entry_icon_set(en, bt);
bt = elm_icon_add(win);
elm_icon_standard_set(bt, "delete");
evas_object_color_set(bt, 255, 0, 0, 128);
evas_object_size_hint_min_set(bt, 48, 48);
evas_object_show(bt);
- elm_scrolled_entry_end_set(en, bt);
- elm_scrolled_entry_entry_set(en, "scrolled entry with icon and end objects");
+ elm_entry_end_set(en, bt);
+ elm_entry_entry_set(en, "scrolled entry with icon and end objects");
evas_object_show(en);
elm_box_pack_end(bx, en);
/* markup scrolled entry */
- en = elm_scrolled_entry_add(win);
+ en = elm_entry_add(win);
+ elm_entry_scrollable_set(en, EINA_TRUE);
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_scrolled_entry_scrollbar_policy_set(en, ELM_SCROLLER_POLICY_ON, ELM_SCROLLER_POLICY_ON);
- elm_scrolled_entry_entry_set(en,
+ elm_entry_scrollbar_policy_set(en, ELM_SCROLLER_POLICY_ON, ELM_SCROLLER_POLICY_ON);
+ elm_entry_entry_set(en,
"This is an entry widget in this window that<br>"
"uses markup <b>like this</> for styling and<br>"
"formatting <em>like this</>, as well as<br>"
my_ent_bt_clr(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
{
Evas_Object *en = data;
- elm_scrolled_entry_entry_set(en, "");
+ elm_entry_entry_set(en, "");
}
static void
my_ent_bt_pri(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
{
Evas_Object *en = data;
- const char *s = elm_scrolled_entry_entry_get(en);
+ const char *s = elm_entry_entry_get(en);
printf("ENTRY:\n");
if (s) printf("%s\n", s);
printf("ENTRY PLAIN UTF8:\n");
my_ent_bt_sel(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
{
Evas_Object *en = data;
- const char *s = elm_scrolled_entry_selection_get(en);
+ const char *s = elm_entry_selection_get(en);
printf("SELECTION:\n");
if (s) printf("%s\n", s);
printf("SELECTION PLAIN UTF8:\n");
my_ent_bt_all(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
{
Evas_Object *en = data;
- elm_scrolled_entry_select_all(en);
+ elm_entry_select_all(en);
}
static void
my_ent_bt_non(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
{
Evas_Object *en = data;
- elm_scrolled_entry_select_none(en);
+ elm_entry_select_none(en);
}
static void
my_ent_bt_ins(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
{
Evas_Object *en = data;
- elm_scrolled_entry_entry_insert(en, "Insert text");
+ elm_entry_entry_insert(en, "Insert text");
}
static void
my_ent_bt_lef(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
{
Evas_Object *en = data;
- elm_scrolled_entry_cursor_prev(en);
+ elm_entry_cursor_prev(en);
}
static void
my_ent_bt_rig(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
{
Evas_Object *en = data;
- elm_scrolled_entry_cursor_next(en);
+ elm_entry_cursor_next(en);
}
static void
my_ent_bt_up_(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
{
Evas_Object *en = data;
- elm_scrolled_entry_cursor_up(en);
+ elm_entry_cursor_up(en);
}
static void
my_ent_bt_dow(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
{
Evas_Object *en = data;
- elm_scrolled_entry_cursor_down(en);
+ elm_entry_cursor_down(en);
}
static void
my_ent_bt_beg(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
{
Evas_Object *en = data;
- elm_scrolled_entry_cursor_begin_set(en);
+ elm_entry_cursor_begin_set(en);
}
static void
my_ent_bt_end(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
{
Evas_Object *en = data;
- elm_scrolled_entry_cursor_end_set(en);
+ elm_entry_cursor_end_set(en);
}
static void
my_ent_bt_lbe(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
{
Evas_Object *en = data;
- elm_scrolled_entry_cursor_line_begin_set(en);
+ elm_entry_cursor_line_begin_set(en);
}
static void
my_ent_bt_len(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
{
Evas_Object *en = data;
- elm_scrolled_entry_cursor_line_end_set(en);
+ elm_entry_cursor_line_end_set(en);
}
static void
my_ent_bt_sbe(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
{
Evas_Object *en = data;
- elm_scrolled_entry_cursor_selection_begin(en);
+ elm_entry_cursor_selection_begin(en);
}
static void
my_ent_bt_sen(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
{
Evas_Object *en = data;
- elm_scrolled_entry_cursor_selection_end(en);
+ elm_entry_cursor_selection_end(en);
}
static void
{
Evas_Object *en = data;
printf("IS FORMAT: %i\n",
- (int)elm_scrolled_entry_cursor_is_format_get(en));
+ (int)elm_entry_cursor_is_format_get(en));
}
static void
{
Evas_Object *en = data;
printf("IS VISIBLE FORMAT %i\n",
- (int)elm_scrolled_entry_cursor_is_visible_format_get(en));
+ (int)elm_entry_cursor_is_visible_format_get(en));
}
static void
my_ent_bt_chr(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
{
Evas_Object *en = data;
- printf("CHAR '%s'\n", elm_scrolled_entry_cursor_content_get(en));
+ printf("CHAR '%s'\n", elm_entry_cursor_content_get(en));
}
static void
my_ent_bt_cut(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
{
Evas_Object *en = data;
- elm_scrolled_entry_selection_cut(en);
+ elm_entry_selection_cut(en);
}
static void
my_ent_bt_cop(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
{
Evas_Object *en = data;
- elm_scrolled_entry_selection_copy(en);
+ elm_entry_selection_copy(en);
}
static void
my_ent_bt_pas(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
{
Evas_Object *en = data;
- elm_scrolled_entry_selection_paste(en);
+ elm_entry_selection_paste(en);
}
void
evas_object_show(bx);
/* Single line selected entry */
- en = elm_scrolled_entry_add(win);
+ en = elm_entry_add(win);
+ elm_entry_scrollable_set(en, EINA_TRUE);
evas_object_size_hint_weight_set(en, EVAS_HINT_EXPAND, 0.0);
evas_object_size_hint_align_set(en, EVAS_HINT_FILL, 0.5);
- elm_scrolled_entry_scrollbar_policy_set(en, ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_OFF);
- elm_scrolled_entry_entry_set(en, "This is a single line");
- elm_scrolled_entry_single_line_set(en, 1);
+ elm_entry_scrollbar_policy_set(en, ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_OFF);
+ elm_entry_entry_set(en, "This is a single line");
+ elm_entry_single_line_set(en, 1);
elm_box_pack_end(bx, en);
evas_object_show(en);
evas_object_show(bx2);
/* markup scrolled entry */
- en = elm_scrolled_entry_add(win);
+ en = elm_entry_add(win);
+ elm_entry_scrollable_set(en, EINA_TRUE);
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_scrolled_entry_entry_set(en,
+ elm_entry_entry_set(en,
"This is an entry widget in this window that<br>"
"uses markup <b>like this</> for styling and<br>"
"formatting <em>like this</>, as well as<br>"
elm_win_resize_object_add(win, ly);
evas_object_show(ly);
- en = elm_scrolled_entry_add(win);
+ en = elm_entry_add(win);
+ elm_entry_scrollable_set(en, EINA_TRUE);
evas_object_size_hint_weight_set(en, EVAS_HINT_EXPAND, 0.0);
evas_object_size_hint_align_set(en, EVAS_HINT_FILL, 0.5);
- elm_scrolled_entry_scrollbar_policy_set(en, ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_OFF);
- elm_scrolled_entry_entry_set(en, "This is a single line");
- elm_scrolled_entry_single_line_set(en, 1);
+ elm_entry_scrollbar_policy_set(en, ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_OFF);
+ elm_entry_entry_set(en, "This is a single line");
+ elm_entry_single_line_set(en, 1);
elm_layout_content_set(ly, "element1", en);
evas_object_show(en);
elm_layout_content_set(ly, "element2", en);
evas_object_show(en);
- en = elm_scrolled_entry_add(win);
+ en = elm_entry_add(win);
+ elm_entry_scrollable_set(en, EINA_TRUE);
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_scrolled_entry_entry_set(en,
+ elm_entry_entry_set(en,
"This is an entry widget in this window that<br>"
"uses markup <b>like this</> for styling and<br>"
"formatting <em>like this</>, as well as<br>"
elm_win_resize_object_add(win, bx);
evas_object_show(bx);
- en = elm_scrolled_entry_add(win);
- elm_scrolled_entry_line_wrap_set(en, ELM_WRAP_CHAR);
+ en = elm_entry_add(win);
+ elm_entry_scrollable_set(en, EINA_TRUE);
+ elm_entry_line_wrap_set(en, ELM_WRAP_CHAR);
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_scrolled_entry_entry_set(en,
+ elm_entry_entry_set(en,
"This is an entry widget in this window that "
"uses markup like this for styling and "
"formatting like this, as well as "
_scrolled_entry_clear(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
{
Evas_Object *en = data;
- elm_scrolled_entry_entry_set(en, "");
+ elm_entry_entry_set(en, "");
}
void
elm_win_resize_object_add(win, bx);
evas_object_show(bx);
- np = elm_scrolled_entry_add(win);
- elm_scrolled_entry_file_set(np, "note.txt", ELM_TEXT_FORMAT_PLAIN_UTF8);
+ np = elm_entry_add(win);
+ elm_entry_scrollable_set(np, EINA_TRUE);
+ elm_entry_file_set(np, "note.txt", ELM_TEXT_FORMAT_PLAIN_UTF8);
evas_object_size_hint_weight_set(np, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
evas_object_size_hint_align_set(np, EVAS_HINT_FILL, EVAS_HINT_FILL);
elm_box_pack_end(bx, np);
elm_flip_content_front_set(fl, o);
evas_object_show(o);
- en = elm_scrolled_entry_add(win);
- elm_scrolled_entry_line_wrap_set(en, EINA_FALSE);
+ en = elm_entry_add(win);
+ elm_entry_scrollable_set(en, EINA_TRUE);
+ elm_entry_line_wrap_set(en, EINA_FALSE);
snprintf(buf, sizeof(buf),
"This is an entry widget in this window that<br>"
"uses markup <b>like this</> for styling and<br>"
" ... end."
, PACKAGE_DATA_DIR
);
- elm_scrolled_entry_entry_set(en, buf);
+ elm_entry_entry_set(en, buf);
evas_object_size_hint_align_set(en, EVAS_HINT_FILL, EVAS_HINT_FILL);
evas_object_size_hint_weight_set(en, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
}
{
- Evas_Object *en = elm_scrolled_entry_add(win);
+ Evas_Object *en = elm_entry_add(win);
+ elm_entry_scrollable_set(en, EINA_TRUE);
evas_object_size_hint_weight_set(en, EVAS_HINT_EXPAND, 0.0);
evas_object_size_hint_align_set(en, EVAS_HINT_FILL, 0.5);
- elm_scrolled_entry_entry_set(en, "This is a single line");
- elm_scrolled_entry_single_line_set(en, 1);
+ elm_entry_entry_set(en, "This is a single line");
+ elm_entry_single_line_set(en, 1);
elm_box_pack_end(bx, en);
my_show(en);
}
#define PARENT bx /* this is broken, but should work */
//#define PARENT win
- en = elm_scrolled_entry_add(PARENT);
+ en = elm_entry_add(PARENT);
+ elm_entry_scrollable_set(en, EINA_TRUE);
evas_object_size_hint_weight_set(en, EVAS_HINT_EXPAND, 0.0);
evas_object_size_hint_align_set(en, EVAS_HINT_FILL, 0.5);
- elm_scrolled_entry_scrollbar_policy_set(en, ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_OFF);
- elm_scrolled_entry_entry_set(en, "Scrolled Entry that should get focus");
- elm_scrolled_entry_single_line_set(en, 1);
+ elm_entry_scrollbar_policy_set(en, ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_OFF);
+ elm_entry_entry_set(en, "Scrolled Entry that should get focus");
+ elm_entry_single_line_set(en, 1);
evas_object_show(en);
elm_box_pack_end(bx, en);
elm_button_label_set(bt, "Button 1");
elm_layout_content_set(ly, "element1", bt);
- en = elm_scrolled_entry_add(ly);
+ en = elm_entry_add(ly);
+ elm_entry_scrollable_set(en, EINA_TRUE);
evas_object_size_hint_weight_set(en, EVAS_HINT_EXPAND, 0.0);
evas_object_size_hint_align_set(en, EVAS_HINT_FILL, 0.5);
- elm_scrolled_entry_scrollbar_policy_set(en, ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_OFF);
- elm_scrolled_entry_entry_set(en, "Scrolled Entry that should get focus");
- elm_scrolled_entry_single_line_set(en, 1);
+ elm_entry_scrollbar_policy_set(en, ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_OFF);
+ elm_entry_entry_set(en, "Scrolled Entry that should get focus");
+ elm_entry_single_line_set(en, 1);
elm_layout_content_set(ly, "element2", en);
bt = elm_button_add(ly);
{
Evas_Object *bx = data, *en;
- en = elm_scrolled_entry_add(elm_object_top_widget_get(bx));
- elm_scrolled_entry_entry_set(en, "An entry");
+ en = elm_entry_add(elm_object_top_widget_get(bx));
+ elm_entry_scrollable_set(en, EINA_TRUE);
+ elm_entry_entry_set(en, "An entry");
evas_object_smart_callback_add(en, "focused", _foc, NULL);
evas_object_smart_callback_add(en, "unfocused", _unfoc, NULL);
evas_object_size_hint_weight_set(en, EVAS_HINT_EXPAND, 0.0);
evas_object_size_hint_align_set(en, EVAS_HINT_FILL, 0.5);
- elm_scrolled_entry_single_line_set(en, 1);
+ elm_entry_single_line_set(en, 1);
elm_box_pack_start(bx, en);
evas_object_show(en);
}
elm_win_resize_object_add(win, bx);
evas_object_show(bx);
- en = elm_scrolled_entry_add(win);
- elm_scrolled_entry_entry_set(en, "An entry");
+ en = elm_entry_add(win);
+ elm_entry_scrollable_set(en, EINA_TRUE);
+ elm_entry_entry_set(en, "An entry");
evas_object_smart_callback_add(en, "focused", _foc, NULL);
evas_object_smart_callback_add(en, "unfocused", _unfoc, NULL);
evas_object_size_hint_weight_set(en, EVAS_HINT_EXPAND, 0.0);
evas_object_size_hint_align_set(en, EVAS_HINT_FILL, 0.5);
- elm_scrolled_entry_single_line_set(en, 1);
+ elm_entry_single_line_set(en, 1);
elm_box_pack_end(bx, en);
evas_object_show(en);
evas_object_size_hint_align_set(box, EVAS_HINT_FILL, EVAS_HINT_FILL);
evas_object_show(box);
- entry = elm_scrolled_entry_add(info->win);
- elm_scrolled_entry_editable_set(entry, EINA_FALSE);
- elm_scrolled_entry_entry_set(entry, item_data);
+ entry = elm_entry_add(info->win);
+ elm_entry_scrollable_set(entry, EINA_TRUE);
+ elm_entry_editable_set(entry, EINA_FALSE);
+ elm_entry_entry_set(entry, item_data);
evas_object_size_hint_weight_set(entry, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
evas_object_size_hint_align_set(entry, EVAS_HINT_FILL, EVAS_HINT_FILL);
evas_object_show(entry);
evas_object_size_hint_weight_set(gd, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
evas_object_show(gd);
- en = elm_scrolled_entry_add(win);
- elm_scrolled_entry_entry_set(en, "Entry text");
- elm_scrolled_entry_single_line_set(en, 1);
+ en = elm_entry_add(win);
+ elm_entry_scrollable_set(en, EINA_TRUE);
+ elm_entry_entry_set(en, "Entry text");
+ elm_entry_single_line_set(en, 1);
elm_grid_pack(gd, en, 50, 10, 40, 10);
evas_object_show(en);
- en = elm_scrolled_entry_add(win);
- elm_scrolled_entry_entry_set(en, "Entry text 2");
- elm_scrolled_entry_single_line_set(en, 1);
+ en = elm_entry_add(win);
+ elm_entry_scrollable_set(en, EINA_TRUE);
+ elm_entry_entry_set(en, "Entry text 2");
+ elm_entry_single_line_set(en, 1);
elm_grid_pack(gd, en, 60, 20, 30, 10);
evas_object_show(en);
const char *label;
char letter[2];
- label = elm_scrolled_entry_entry_get(gui->entry);
+ label = elm_entry_entry_get(gui->entry);
snprintf(letter, sizeof(letter), "%c", label[0]);
it = elm_list_item_sorted_insert(gui->lst, label, NULL, NULL, NULL, NULL,
test_index2_cmp);
test_index2_id_changed, NULL);
evas_object_show(gui->id);
- gui->entry = elm_scrolled_entry_add(win);
- elm_scrolled_entry_entry_set(gui->entry, "Label");
- elm_scrolled_entry_single_line_set(gui->entry, EINA_TRUE);
+ gui->entry = elm_entry_add(win);
+ elm_entry_scrollable_set(gui->entry, EINA_TRUE);
+ elm_entry_entry_set(gui->entry, "Label");
+ elm_entry_single_line_set(gui->entry, EINA_TRUE);
evas_object_size_hint_weight_set(gui->entry, EVAS_HINT_EXPAND, 0);
evas_object_size_hint_fill_set(gui->entry, EVAS_HINT_FILL, EVAS_HINT_FILL);
elm_box_pack_end(box, gui->entry);
evas_object_size_hint_align_set(box, EVAS_HINT_FILL, EVAS_HINT_FILL);
evas_object_show(box);
- entry = elm_scrolled_entry_add(info->win);
- elm_scrolled_entry_editable_set(entry, EINA_FALSE);
- elm_scrolled_entry_entry_set(entry, item_data);
+ entry = elm_entry_add(info->win);
+ elm_entry_scrollable_set(entry, EINA_TRUE);
+ elm_entry_editable_set(entry, EINA_FALSE);
+ elm_entry_entry_set(entry, item_data);
evas_object_size_hint_weight_set(entry, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
evas_object_size_hint_align_set(entry, EVAS_HINT_FILL, EVAS_HINT_FILL);
evas_object_show(entry);
// store callbacks to handle loading/parsing/freeing of store items from src
static Elm_Genlist_Item_Class itc1 =
{
- "message", { NULL, NULL, NULL, NULL }, NULL
+ "message", { NULL, NULL, NULL, NULL, NULL }, NULL
};
static const Elm_Store_Item_Mapping it1_mapping[] =
elm_box_pack_end(bx, bt);
evas_object_show(bt);
- se = elm_scrolled_entry_add(win);
+ se = elm_entry_add(win);
+ elm_entry_scrollable_set(se, EINA_TRUE);
evas_object_size_hint_weight_set(se, EVAS_HINT_EXPAND, 0.0);
evas_object_size_hint_align_set(se, EVAS_HINT_FILL, 0.5);
- elm_scrolled_entry_scrollbar_policy_set(se, ELM_SCROLLER_POLICY_OFF,
+ elm_entry_scrollbar_policy_set(se, ELM_SCROLLER_POLICY_OFF,
ELM_SCROLLER_POLICY_OFF);
- elm_scrolled_entry_entry_set(se, "Hello, some scrolled entry here!");
+ elm_entry_entry_set(se, "Hello, some scrolled entry here!");
elm_object_tooltip_text_set(se, "Type something here!");
- elm_scrolled_entry_single_line_set(se, 1);
+ elm_entry_single_line_set(se, 1);
elm_box_pack_end(bx, se);
evas_object_show(se);
evas_object_size_hint_weight_set(bx, EVAS_HINT_EXPAND, 0.0);
evas_object_size_hint_align_set(bx, EVAS_HINT_FILL, EVAS_HINT_FILL);
- en = elm_scrolled_entry_add(win);
+ en = elm_entry_add(win);
+ elm_entry_scrollable_set(en, EINA_TRUE);
evas_object_size_hint_weight_set(en, EVAS_HINT_EXPAND, 0.0);
evas_object_size_hint_align_set(en, EVAS_HINT_FILL, 0.5);
- elm_scrolled_entry_entry_set(en, "This is a single line");
- elm_scrolled_entry_scrollbar_policy_set(en, ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_OFF);
- elm_scrolled_entry_single_line_set(en, 1);
+ elm_entry_entry_set(en, "This is a single line");
+ elm_entry_scrollbar_policy_set(en, ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_OFF);
+ elm_entry_single_line_set(en, 1);
evas_object_show(en);
elm_box_pack_end(bx, en);
- en = elm_scrolled_entry_add(win);
+ en = elm_entry_add(win);
+ elm_entry_scrollable_set(en, EINA_TRUE);
evas_object_size_hint_weight_set(en, EVAS_HINT_EXPAND, 0.0);
evas_object_size_hint_align_set(en, EVAS_HINT_FILL, 0.5);
- elm_scrolled_entry_entry_set(en, "Entry 2");
- elm_scrolled_entry_scrollbar_policy_set(en, ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_OFF);
- elm_scrolled_entry_single_line_set(en, 1);
+ elm_entry_entry_set(en, "Entry 2");
+ elm_entry_scrollbar_policy_set(en, ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_OFF);
+ elm_entry_single_line_set(en, 1);
evas_object_show(en);
elm_box_pack_end(bx, en);
elm_photocam.c \
elm_progressbar.c \
elm_radio.c \
-elm_scrolled_entry.c \
elm_scroller.c \
elm_segment_control.c \
elm_slider.c \
+++ /dev/null
-#include "private.h"
-
-typedef struct _Elm_Params_Entry
-{
- Elm_Params base;
- const char *text;
- Eina_Bool text_set:1;
- Eina_Bool editable:1;
- Eina_Bool single:1;
- Eina_Bool password:1;
- Eina_Bool editable_exists:1;
- Eina_Bool single_exists:1;
- Eina_Bool password_exists:1;
-} Elm_Params_Entry;
-
-static void
-external_scrolled_entry_state_set(void *data __UNUSED__, Evas_Object *obj, const void *from_params, const void *to_params, float pos __UNUSED__)
-{
- const Elm_Params_Entry *p;
-
- if (to_params) p = to_params;
- else if (from_params) p = from_params;
- else return;
-
- if ((!p->text_set) && (p->text))
- {
- elm_scrolled_entry_entry_set(obj, p->text);
- ((Elm_Params_Entry *)p)->text_set = EINA_TRUE;
- }
- if (p->editable_exists)
- elm_scrolled_entry_editable_set(obj, p->editable);
- if (p->single_exists)
- elm_scrolled_entry_single_line_set(obj, p->single);
- if (p->password_exists)
- elm_scrolled_entry_password_set(obj, p->password);
-}
-
-static Eina_Bool
-external_scrolled_entry_param_set(void *data __UNUSED__, Evas_Object *obj, const Edje_External_Param *param)
-{
- if (!strcmp(param->name, "text"))
- {
- if (param->type == EDJE_EXTERNAL_PARAM_TYPE_STRING)
- {
- elm_scrolled_entry_entry_set(obj, param->s);
- return EINA_TRUE;
- }
- }
- else if (!strcmp(param->name, "editable"))
- {
- if (param->type == EDJE_EXTERNAL_PARAM_TYPE_BOOL)
- {
- elm_scrolled_entry_editable_set(obj, param->i);
- return EINA_TRUE;
- }
- }
- else if (!strcmp(param->name, "single line"))
- {
- if (param->type == EDJE_EXTERNAL_PARAM_TYPE_BOOL)
- {
- elm_scrolled_entry_single_line_set(obj, param->i);
- return EINA_TRUE;
- }
- }
- else if (!strcmp(param->name, "password"))
- {
- if (param->type == EDJE_EXTERNAL_PARAM_TYPE_BOOL)
- {
- elm_scrolled_entry_password_set(obj, param->i);
- return EINA_TRUE;
- }
- }
-
- ERR("unknown parameter '%s' of type '%s'",
- param->name, edje_external_param_type_str(param->type));
-
- return EINA_FALSE;
-}
-
-static Eina_Bool
-external_scrolled_entry_param_get(void *data __UNUSED__, const Evas_Object *obj, Edje_External_Param *param)
-{
- if (!strcmp(param->name, "text"))
- {
- if (param->type == EDJE_EXTERNAL_PARAM_TYPE_STRING)
- {
- param->s = elm_scrolled_entry_entry_get(obj);
- return EINA_TRUE;
- }
- }
- else if (!strcmp(param->name, "editable"))
- {
- if (param->type == EDJE_EXTERNAL_PARAM_TYPE_BOOL)
- {
- param->i = elm_scrolled_entry_editable_get(obj);
- return EINA_TRUE;
- }
- }
- else if (!strcmp(param->name, "single line"))
- {
- if (param->type == EDJE_EXTERNAL_PARAM_TYPE_BOOL)
- {
- param->i = elm_scrolled_entry_single_line_get(obj);
- return EINA_TRUE;
- }
- }
- else if (!strcmp(param->name, "password"))
- {
- if (param->type == EDJE_EXTERNAL_PARAM_TYPE_BOOL)
- {
- param->i = elm_scrolled_entry_password_get(obj);
- return EINA_TRUE;
- }
- }
-
- ERR("unknown parameter '%s' of type '%s'",
- param->name, edje_external_param_type_str(param->type));
-
- return EINA_FALSE;
-}
-
-static void *
-external_scrolled_entry_params_parse(void *data __UNUSED__, Evas_Object *obj __UNUSED__, const Eina_List *params)
-{
- Elm_Params_Entry *mem;
- Edje_External_Param *param;
- const Eina_List *l;
-
- mem = calloc(1, sizeof(Elm_Params_Entry));
- if (!mem)
- return NULL;
-
- EINA_LIST_FOREACH(params, l, param)
- {
- if (!strcmp(param->name, "text"))
- mem->text = eina_stringshare_add(param->s);
- else if (!strcmp(param->name, "single line"))
- {
- mem->single = !!param->i;
- mem->single_exists = EINA_TRUE;
- }
- else if (!strcmp(param->name, "password"))
- {
- mem->password = !!param->i;
- mem->password_exists = EINA_TRUE;
- }
- else if (!strcmp(param->name, "editable"))
- {
- mem->editable = param->i;
- mem->editable_exists = EINA_TRUE;
- }
- }
-
- return mem;
-}
-
-static Evas_Object *external_scrolled_entry_content_get(void *data __UNUSED__,
- const Evas_Object *obj __UNUSED__, const char *content __UNUSED__)
-{
- ERR("No content.");
- return NULL;
-}
-
-static void
-external_scrolled_entry_params_free(void *params)
-{
- Elm_Params_Entry *mem = params;
-
- if (mem->text)
- eina_stringshare_del(mem->text);
- free(mem);
-}
-
-static Edje_External_Param_Info external_scrolled_entry_params[] = {
- DEFINE_EXTERNAL_COMMON_PARAMS,
- EDJE_EXTERNAL_PARAM_INFO_STRING_DEFAULT("text", "some text"),
- EDJE_EXTERNAL_PARAM_INFO_BOOL("editable"),
- EDJE_EXTERNAL_PARAM_INFO_BOOL("single line"),
- EDJE_EXTERNAL_PARAM_INFO_BOOL("password"),
- EDJE_EXTERNAL_PARAM_INFO_SENTINEL
-};
-
-DEFINE_EXTERNAL_ICON_ADD(scrolled_entry, "scrolled_entry")
-DEFINE_EXTERNAL_TYPE_SIMPLE(scrolled_entry, "Entry");
EAPI void elm_entry_autosave_set(Evas_Object *obj, Eina_Bool autosave) EINA_ARG_NONNULL(1);
EAPI Eina_Bool elm_entry_autosave_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
EAPI void elm_entry_cnp_textonly_set(Evas_Object *obj, Eina_Bool textonly) EINA_ARG_NONNULL(1);
- EAPI Eina_Bool elm_entry_cnp_textonly_get(Evas_Object *obj) EINA_ARG_NONNULL(1);
-
+ EAPI Eina_Bool elm_entry_cnp_textonly_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+ EAPI void elm_entry_scrollable_set(Evas_Object *obj, Eina_Bool scroll);
+ EAPI Eina_Bool elm_entry_scrollable_get(const Evas_Object *obj);
+ EAPI void elm_entry_icon_set(Evas_Object *obj, Evas_Object *icon);
+ EAPI Evas_Object *elm_entry_icon_get(const Evas_Object *obj);
+ EAPI Evas_Object *elm_entry_icon_unset(Evas_Object *obj);
+ EAPI void elm_entry_icon_visible_set(Evas_Object *obj, Eina_Bool setting);
+ EAPI void elm_entry_end_set(Evas_Object *obj, Evas_Object *end);
+ EAPI Evas_Object *elm_entry_end_get(const Evas_Object *obj);
+ EAPI Evas_Object *elm_entry_end_unset(Evas_Object *obj);
+ EAPI void elm_entry_end_visible_set(Evas_Object *obj, Eina_Bool setting);
+ EAPI void elm_entry_scrollbar_policy_set(Evas_Object *obj, Elm_Scroller_Policy h, Elm_Scroller_Policy v);
+ EAPI void elm_entry_bounce_set(Evas_Object *obj, Eina_Bool h_bounce, Eina_Bool v_bounce);
+ EAPI void elm_entry_bounce_get(const Evas_Object *obj, Eina_Bool *h_bounce, Eina_Bool *v_bounce);
+
/* pre-made filters for entries */
typedef struct _Elm_Entry_Filter_Limit_Size Elm_Entry_Filter_Limit_Size;
struct _Elm_Entry_Filter_Limit_Size
*/
/* scrolledentry */
- EAPI Evas_Object *elm_scrolled_entry_add(Evas_Object *parent) EINA_ARG_NONNULL(1);
- EAPI void elm_scrolled_entry_single_line_set(Evas_Object *obj, Eina_Bool single_line) EINA_ARG_NONNULL(1);
- EAPI Eina_Bool elm_scrolled_entry_single_line_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
- EAPI void elm_scrolled_entry_password_set(Evas_Object *obj, Eina_Bool password) EINA_ARG_NONNULL(1);
- EAPI Eina_Bool elm_scrolled_entry_password_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
- EAPI void elm_scrolled_entry_entry_set(Evas_Object *obj, const char *entry) EINA_ARG_NONNULL(1);
- EAPI const char *elm_scrolled_entry_entry_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
- EAPI void elm_scrolled_entry_entry_append(Evas_Object *obj, const char *entry) EINA_ARG_NONNULL(1);
- EAPI Eina_Bool elm_scrolled_entry_is_empty(const Evas_Object *obj) EINA_ARG_NONNULL(1);
- EAPI const char *elm_scrolled_entry_selection_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
- EAPI void elm_scrolled_entry_entry_insert(Evas_Object *obj, const char *entry) EINA_ARG_NONNULL(1);
- EAPI void elm_scrolled_entry_line_wrap_set(Evas_Object *obj, Elm_Wrap_Type wrap) EINA_ARG_NONNULL(1);
- EAPI void elm_scrolled_entry_editable_set(Evas_Object *obj, Eina_Bool editable) EINA_ARG_NONNULL(1);
- EAPI Eina_Bool elm_scrolled_entry_editable_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
- EAPI void elm_scrolled_entry_select_none(Evas_Object *obj) EINA_ARG_NONNULL(1);
- EAPI void elm_scrolled_entry_select_all(Evas_Object *obj) EINA_ARG_NONNULL(1);
- EAPI Eina_Bool elm_scrolled_entry_cursor_next(Evas_Object *obj) EINA_ARG_NONNULL(1);
- EAPI Eina_Bool elm_scrolled_entry_cursor_prev(Evas_Object *obj) EINA_ARG_NONNULL(1);
- EAPI Eina_Bool elm_scrolled_entry_cursor_up(Evas_Object *obj) EINA_ARG_NONNULL(1);
- EAPI Eina_Bool elm_scrolled_entry_cursor_down(Evas_Object *obj) EINA_ARG_NONNULL(1);
- EAPI void elm_scrolled_entry_cursor_begin_set(Evas_Object *obj) EINA_ARG_NONNULL(1);
- EAPI void elm_scrolled_entry_cursor_end_set(Evas_Object *obj) EINA_ARG_NONNULL(1);
- EAPI void elm_scrolled_entry_cursor_line_begin_set(Evas_Object *obj) EINA_ARG_NONNULL(1);
- EAPI void elm_scrolled_entry_cursor_line_end_set(Evas_Object *obj) EINA_ARG_NONNULL(1);
- EAPI void elm_scrolled_entry_cursor_selection_begin(Evas_Object *obj) EINA_ARG_NONNULL(1);
- EAPI void elm_scrolled_entry_cursor_selection_end(Evas_Object *obj) EINA_ARG_NONNULL(1);
- EAPI Eina_Bool elm_scrolled_entry_cursor_is_format_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
- EAPI Eina_Bool elm_scrolled_entry_cursor_is_visible_format_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
- EAPI const char *elm_scrolled_entry_cursor_content_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
- EAPI void elm_scrolled_entry_cursor_pos_set(Evas_Object *obj, int pos) EINA_ARG_NONNULL(1);
- EAPI int elm_scrolled_entry_cursor_pos_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
- EAPI void elm_scrolled_entry_selection_cut(Evas_Object *obj) EINA_ARG_NONNULL(1);
- EAPI void elm_scrolled_entry_selection_copy(Evas_Object *obj) EINA_ARG_NONNULL(1);
- EAPI void elm_scrolled_entry_selection_paste(Evas_Object *obj) EINA_ARG_NONNULL(1);
- EAPI void elm_scrolled_entry_context_menu_clear(Evas_Object *obj) EINA_ARG_NONNULL(1);
- EAPI void elm_scrolled_entry_context_menu_item_add(Evas_Object *obj, const char *label, const char *icon_file, Elm_Icon_Type icon_type, Evas_Smart_Cb func, const void *data) EINA_ARG_NONNULL(1);
- EAPI void elm_scrolled_entry_context_menu_disabled_set(Evas_Object *obj, Eina_Bool disabled) EINA_ARG_NONNULL(1);
- EAPI Eina_Bool elm_scrolled_entry_context_menu_disabled_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
- EAPI void elm_scrolled_entry_scrollbar_policy_set(Evas_Object *obj, Elm_Scroller_Policy h, Elm_Scroller_Policy v) EINA_ARG_NONNULL(1);
- EAPI void elm_scrolled_entry_bounce_set(Evas_Object *obj, Eina_Bool h_bounce, Eina_Bool v_bounce) EINA_ARG_NONNULL(1);
- EAPI void elm_scrolled_entry_bounce_get(const Evas_Object *obj, Eina_Bool *h_bounce, Eina_Bool *v_bounce) EINA_ARG_NONNULL(1);
- EAPI void elm_scrolled_entry_icon_set(Evas_Object *obj, Evas_Object *icon) EINA_ARG_NONNULL(1, 2);
- EAPI Evas_Object *elm_scrolled_entry_icon_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
- EAPI Evas_Object *elm_scrolled_entry_icon_unset(Evas_Object *obj) EINA_ARG_NONNULL(1);
- EAPI void elm_scrolled_entry_icon_visible_set(Evas_Object *obj, Eina_Bool setting) EINA_ARG_NONNULL(1);
- EAPI void elm_scrolled_entry_end_set(Evas_Object *obj, Evas_Object *end) EINA_ARG_NONNULL(1, 2);
- EAPI Evas_Object *elm_scrolled_entry_end_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
- EAPI Evas_Object *elm_scrolled_entry_end_unset(Evas_Object *obj) EINA_ARG_NONNULL(1);
- EAPI void elm_scrolled_entry_end_visible_set(Evas_Object *obj, Eina_Bool setting) EINA_ARG_NONNULL(1);
- EAPI void elm_scrolled_entry_item_provider_append(Evas_Object *obj, Evas_Object *(*func) (void *data, Evas_Object *entry, const char *item), void *data) EINA_ARG_NONNULL(1, 2);
- EAPI void elm_scrolled_entry_item_provider_prepend(Evas_Object *obj, Evas_Object *(*func) (void *data, Evas_Object *entry, const char *item), void *data) EINA_ARG_NONNULL(1, 2);
- EAPI void elm_scrolled_entry_item_provider_remove(Evas_Object *obj, Evas_Object *(*func) (void *data, Evas_Object *entry, const char *item), void *data) EINA_ARG_NONNULL(1, 2);
- EAPI void elm_scrolled_entry_text_filter_append(Evas_Object *obj, void (*func) (void *data, Evas_Object *entry, char **text), void *data) EINA_ARG_NONNULL(1, 2);
- EAPI void elm_scrolled_entry_text_filter_prepend(Evas_Object *obj, void (*func) (void *data, Evas_Object *entry, char **text), void *data) EINA_ARG_NONNULL(1, 2);
- EAPI void elm_scrolled_entry_text_filter_remove(Evas_Object *obj, void (*func) (void *data, Evas_Object *entry, char **text), void *data) EINA_ARG_NONNULL(1, 2);
- EAPI void elm_scrolled_entry_file_set(Evas_Object *obj, const char *file, Elm_Text_Format format) EINA_ARG_NONNULL(1);
- EAPI void elm_scrolled_entry_file_get(const Evas_Object *obj, const char **file, Elm_Text_Format *format) EINA_ARG_NONNULL(1);
- EAPI void elm_scrolled_entry_file_save(Evas_Object *obj) EINA_ARG_NONNULL(1);
- EAPI void elm_scrolled_entry_autosave_set(Evas_Object *obj, Eina_Bool autosave) EINA_ARG_NONNULL(1);
- EAPI Eina_Bool elm_scrolled_entry_autosave_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
- EAPI void elm_scrolled_entry_cnp_textonly_set(Evas_Object *obj, Eina_Bool textonly) EINA_ARG_NONNULL(1);
- EAPI Eina_Bool elm_scrolled_entry_cnp_textonly_get(Evas_Object *obj) EINA_ARG_NONNULL(1);
+ EINA_DEPRECATED EAPI Evas_Object *elm_scrolled_entry_add(Evas_Object *parent) EINA_ARG_NONNULL(1);
+ EINA_DEPRECATED EAPI void elm_scrolled_entry_single_line_set(Evas_Object *obj, Eina_Bool single_line) EINA_ARG_NONNULL(1);
+ EINA_DEPRECATED EAPI Eina_Bool elm_scrolled_entry_single_line_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+ EINA_DEPRECATED EAPI void elm_scrolled_entry_password_set(Evas_Object *obj, Eina_Bool password) EINA_ARG_NONNULL(1);
+ EINA_DEPRECATED EAPI Eina_Bool elm_scrolled_entry_password_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+ EINA_DEPRECATED EAPI void elm_scrolled_entry_entry_set(Evas_Object *obj, const char *entry) EINA_ARG_NONNULL(1);
+ EINA_DEPRECATED EAPI const char *elm_scrolled_entry_entry_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+ EINA_DEPRECATED EAPI void elm_scrolled_entry_entry_append(Evas_Object *obj, const char *entry) EINA_ARG_NONNULL(1);
+ EINA_DEPRECATED EAPI Eina_Bool elm_scrolled_entry_is_empty(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+ EINA_DEPRECATED EAPI const char *elm_scrolled_entry_selection_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+ EINA_DEPRECATED EAPI void elm_scrolled_entry_entry_insert(Evas_Object *obj, const char *entry) EINA_ARG_NONNULL(1);
+ EINA_DEPRECATED EAPI void elm_scrolled_entry_line_wrap_set(Evas_Object *obj, Elm_Wrap_Type wrap) EINA_ARG_NONNULL(1);
+ EINA_DEPRECATED EAPI void elm_scrolled_entry_editable_set(Evas_Object *obj, Eina_Bool editable) EINA_ARG_NONNULL(1);
+ EINA_DEPRECATED EAPI Eina_Bool elm_scrolled_entry_editable_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+ EINA_DEPRECATED EAPI void elm_scrolled_entry_select_none(Evas_Object *obj) EINA_ARG_NONNULL(1);
+ EINA_DEPRECATED EAPI void elm_scrolled_entry_select_all(Evas_Object *obj) EINA_ARG_NONNULL(1);
+ EINA_DEPRECATED EAPI Eina_Bool elm_scrolled_entry_cursor_next(Evas_Object *obj) EINA_ARG_NONNULL(1);
+ EINA_DEPRECATED EAPI Eina_Bool elm_scrolled_entry_cursor_prev(Evas_Object *obj) EINA_ARG_NONNULL(1);
+ EINA_DEPRECATED EAPI Eina_Bool elm_scrolled_entry_cursor_up(Evas_Object *obj) EINA_ARG_NONNULL(1);
+ EINA_DEPRECATED EAPI Eina_Bool elm_scrolled_entry_cursor_down(Evas_Object *obj) EINA_ARG_NONNULL(1);
+ EINA_DEPRECATED EAPI void elm_scrolled_entry_cursor_begin_set(Evas_Object *obj) EINA_ARG_NONNULL(1);
+ EINA_DEPRECATED EAPI void elm_scrolled_entry_cursor_end_set(Evas_Object *obj) EINA_ARG_NONNULL(1);
+ EINA_DEPRECATED EAPI void elm_scrolled_entry_cursor_line_begin_set(Evas_Object *obj) EINA_ARG_NONNULL(1);
+ EINA_DEPRECATED EAPI void elm_scrolled_entry_cursor_line_end_set(Evas_Object *obj) EINA_ARG_NONNULL(1);
+ EINA_DEPRECATED EAPI void elm_scrolled_entry_cursor_selection_begin(Evas_Object *obj) EINA_ARG_NONNULL(1);
+ EINA_DEPRECATED EAPI void elm_scrolled_entry_cursor_selection_end(Evas_Object *obj) EINA_ARG_NONNULL(1);
+ EINA_DEPRECATED EAPI Eina_Bool elm_scrolled_entry_cursor_is_format_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+ EINA_DEPRECATED EAPI Eina_Bool elm_scrolled_entry_cursor_is_visible_format_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+ EINA_DEPRECATED EAPI const char *elm_scrolled_entry_cursor_content_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+ EINA_DEPRECATED EAPI void elm_scrolled_entry_cursor_pos_set(Evas_Object *obj, int pos) EINA_ARG_NONNULL(1);
+ EINA_DEPRECATED EAPI int elm_scrolled_entry_cursor_pos_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+ EINA_DEPRECATED EAPI void elm_scrolled_entry_selection_cut(Evas_Object *obj) EINA_ARG_NONNULL(1);
+ EINA_DEPRECATED EAPI void elm_scrolled_entry_selection_copy(Evas_Object *obj) EINA_ARG_NONNULL(1);
+ EINA_DEPRECATED EAPI void elm_scrolled_entry_selection_paste(Evas_Object *obj) EINA_ARG_NONNULL(1);
+ EINA_DEPRECATED EAPI void elm_scrolled_entry_context_menu_clear(Evas_Object *obj) EINA_ARG_NONNULL(1);
+ EINA_DEPRECATED EAPI void elm_scrolled_entry_context_menu_item_add(Evas_Object *obj, const char *label, const char *icon_file, Elm_Icon_Type icon_type, Evas_Smart_Cb func, const void *data) EINA_ARG_NONNULL(1);
+ EINA_DEPRECATED EAPI void elm_scrolled_entry_context_menu_disabled_set(Evas_Object *obj, Eina_Bool disabled) EINA_ARG_NONNULL(1);
+ EINA_DEPRECATED EAPI Eina_Bool elm_scrolled_entry_context_menu_disabled_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+ EINA_DEPRECATED EAPI void elm_scrolled_entry_scrollbar_policy_set(Evas_Object *obj, Elm_Scroller_Policy h, Elm_Scroller_Policy v) EINA_ARG_NONNULL(1);
+ EINA_DEPRECATED EAPI void elm_scrolled_entry_bounce_set(Evas_Object *obj, Eina_Bool h_bounce, Eina_Bool v_bounce) EINA_ARG_NONNULL(1);
+ EINA_DEPRECATED EAPI void elm_scrolled_entry_bounce_get(const Evas_Object *obj, Eina_Bool *h_bounce, Eina_Bool *v_bounce) EINA_ARG_NONNULL(1);
+ EINA_DEPRECATED EAPI void elm_scrolled_entry_icon_set(Evas_Object *obj, Evas_Object *icon) EINA_ARG_NONNULL(1, 2);
+ EINA_DEPRECATED EAPI Evas_Object *elm_scrolled_entry_icon_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+ EINA_DEPRECATED EAPI Evas_Object *elm_scrolled_entry_icon_unset(Evas_Object *obj) EINA_ARG_NONNULL(1);
+ EINA_DEPRECATED EAPI void elm_scrolled_entry_icon_visible_set(Evas_Object *obj, Eina_Bool setting) EINA_ARG_NONNULL(1);
+ EINA_DEPRECATED EAPI void elm_scrolled_entry_end_set(Evas_Object *obj, Evas_Object *end) EINA_ARG_NONNULL(1, 2);
+ EINA_DEPRECATED EAPI Evas_Object *elm_scrolled_entry_end_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+ EINA_DEPRECATED EAPI Evas_Object *elm_scrolled_entry_end_unset(Evas_Object *obj) EINA_ARG_NONNULL(1);
+ EINA_DEPRECATED EAPI void elm_scrolled_entry_end_visible_set(Evas_Object *obj, Eina_Bool setting) EINA_ARG_NONNULL(1);
+ EINA_DEPRECATED EAPI void elm_scrolled_entry_item_provider_append(Evas_Object *obj, Evas_Object *(*func) (void *data, Evas_Object *entry, const char *item), void *data) EINA_ARG_NONNULL(1, 2);
+ EINA_DEPRECATED EAPI void elm_scrolled_entry_item_provider_prepend(Evas_Object *obj, Evas_Object *(*func) (void *data, Evas_Object *entry, const char *item), void *data) EINA_ARG_NONNULL(1, 2);
+ EINA_DEPRECATED EAPI void elm_scrolled_entry_item_provider_remove(Evas_Object *obj, Evas_Object *(*func) (void *data, Evas_Object *entry, const char *item), void *data) EINA_ARG_NONNULL(1, 2);
+ EINA_DEPRECATED EAPI void elm_scrolled_entry_text_filter_append(Evas_Object *obj, void (*func) (void *data, Evas_Object *entry, char **text), void *data) EINA_ARG_NONNULL(1, 2);
+ EINA_DEPRECATED EAPI void elm_scrolled_entry_text_filter_prepend(Evas_Object *obj, void (*func) (void *data, Evas_Object *entry, char **text), void *data) EINA_ARG_NONNULL(1, 2);
+ EINA_DEPRECATED EAPI void elm_scrolled_entry_text_filter_remove(Evas_Object *obj, void (*func) (void *data, Evas_Object *entry, char **text), void *data) EINA_ARG_NONNULL(1, 2);
+ EINA_DEPRECATED EAPI void elm_scrolled_entry_file_set(Evas_Object *obj, const char *file, Elm_Text_Format format) EINA_ARG_NONNULL(1);
+ EINA_DEPRECATED EAPI void elm_scrolled_entry_file_get(const Evas_Object *obj, const char **file, Elm_Text_Format *format) EINA_ARG_NONNULL(1);
+ EINA_DEPRECATED EAPI void elm_scrolled_entry_file_save(Evas_Object *obj) EINA_ARG_NONNULL(1);
+ EINA_DEPRECATED EAPI void elm_scrolled_entry_autosave_set(Evas_Object *obj, Eina_Bool autosave) EINA_ARG_NONNULL(1);
+ EINA_DEPRECATED EAPI Eina_Bool elm_scrolled_entry_autosave_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+ EINA_DEPRECATED EAPI void elm_scrolled_entry_cnp_textonly_set(Evas_Object *obj, Eina_Bool textonly) EINA_ARG_NONNULL(1);
+ EINA_DEPRECATED EAPI Eina_Bool elm_scrolled_entry_cnp_textonly_get(Evas_Object *obj) EINA_ARG_NONNULL(1);
/* conformant */
EAPI Evas_Object *elm_conformant_add(Evas_Object *parent) EINA_ARG_NONNULL(1);
if (wd->expand && wd->mode == ELM_FILESELECTOR_LIST)
{
_do_anchors(sd->fs, path);
- elm_scrolled_entry_entry_set(wd->filename_entry, "");
+ elm_entry_entry_set(wd->filename_entry, "");
}
else
{
_populate(sd->fs, p, NULL);
eina_stringshare_del(p);
}
- elm_scrolled_entry_entry_set(wd->filename_entry,
+ elm_entry_entry_set(wd->filename_entry,
ecore_file_file_get(path));
}
free(tok[0]);
free(tok);
- elm_scrolled_entry_entry_set(wd->path_entry, buf);
+ elm_entry_entry_set(wd->path_entry, buf);
}
static void
_do_anchors(obj, path);
}
- if (wd->filename_entry) elm_scrolled_entry_entry_set(wd->filename_entry, "");
+ if (wd->filename_entry) elm_entry_entry_set(wd->filename_entry, "");
while ((dp = readdir(dir)))
{
if (dp->d_name[0] == '.') continue; // TODO make this configurable
wd->files_grid = grid;
// path entry
- en = elm_scrolled_entry_add(parent);
+ en = elm_entry_add(parent);
+ elm_entry_scrollable_set(en, EINA_TRUE);
elm_widget_mirrored_automatic_set(en, EINA_FALSE);
- elm_scrolled_entry_editable_set(en, EINA_FALSE);
- elm_scrolled_entry_single_line_set(en, EINA_TRUE);
- elm_scrolled_entry_line_wrap_set(en, ELM_WRAP_CHAR);
+ elm_entry_editable_set(en, EINA_FALSE);
+ elm_entry_single_line_set(en, EINA_TRUE);
+ elm_entry_line_wrap_set(en, ELM_WRAP_CHAR);
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);
wd->path_entry = en;
// filename entry
- en = elm_scrolled_entry_add(parent);
+ en = elm_entry_add(parent);
+ elm_entry_scrollable_set(en, EINA_TRUE);
elm_widget_mirrored_automatic_set(en, EINA_FALSE);
- elm_scrolled_entry_editable_set(en, EINA_TRUE);
- elm_scrolled_entry_single_line_set(en, EINA_TRUE);
- elm_scrolled_entry_line_wrap_set(en, ELM_WRAP_CHAR);
+ elm_entry_editable_set(en, EINA_TRUE);
+ elm_entry_single_line_set(en, EINA_TRUE);
+ elm_entry_line_wrap_set(en, ELM_WRAP_CHAR);
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);
const char *name;
char buf[PATH_MAX];
- name = elm_scrolled_entry_entry_get(wd->filename_entry);
+ name = elm_entry_entry_get(wd->filename_entry);
snprintf(buf, sizeof(buf), "%s/%s",
wd->only_folder ? ecore_file_dir_get(wd->path) : wd->path,
name);
_populate(obj, ecore_file_dir_get(path), NULL);
if (wd->filename_entry)
{
- elm_scrolled_entry_entry_set(wd->filename_entry,
+ elm_entry_entry_set(wd->filename_entry,
ecore_file_file_get(path));
eina_stringshare_replace(&wd->selection, path);
}
{
Widget_Data *wd = elm_widget_data_get(data);
const char *file = event_info;
- elm_scrolled_entry_entry_set(wd->entry, file);
+ elm_entry_entry_set(wd->entry, file);
evas_object_smart_callback_call(data, SIG_FILE_CHOSEN, event_info);
}
_ACTIVATED_fwd(void *data, Evas_Object *obj __UNUSED__, void *event_info)
{
Widget_Data *wd = elm_widget_data_get(data);
- const char *file = elm_scrolled_entry_entry_get(wd->entry);
+ const char *file = elm_entry_entry_get(wd->entry);
elm_fileselector_button_path_set(wd->button, file);
evas_object_smart_callback_call(data, SIG_ACTIVATED, event_info);
}
SIG_FWD(FILE_CHOSEN);
#undef SIG_FWD
- wd->entry = elm_scrolled_entry_add(obj);
+ wd->entry = elm_entry_add(obj);
+ elm_entry_scrollable_set(wd->entry, EINA_TRUE);
elm_widget_mirrored_automatic_set(wd->entry, EINA_FALSE);
elm_widget_style_set(wd->entry, "fileselector_entry/default");
- elm_scrolled_entry_single_line_set(wd->entry, EINA_TRUE);
- elm_scrolled_entry_editable_set(wd->entry, EINA_TRUE);
+ elm_entry_single_line_set(wd->entry, EINA_TRUE);
+ elm_entry_editable_set(wd->entry, EINA_TRUE);
edje_object_part_swallow(wd->edje, "elm.swallow.entry", wd->entry);
elm_widget_sub_object_add(obj, wd->entry);
evas_object_event_callback_add
Widget_Data *wd = elm_widget_data_get(obj);
if (!wd) return;
elm_fileselector_button_path_set(wd->button, path);
- elm_scrolled_entry_entry_set(wd->entry, path);
+ elm_entry_entry_set(wd->entry, path);
}
/**
ELM_CHECK_WIDTYPE(obj, widtype) NULL;
Widget_Data *wd = elm_widget_data_get(obj);
if (!wd) return NULL;
- return elm_scrolled_entry_entry_get(wd->entry);
+ return elm_entry_entry_get(wd->entry);
}
/**
#include <Elementary.h>
#include "elm_priv.h"
-
-/**
- * @defgroup Scrolled_Entry Scrolled_Entry
- *
- * A scrolled entry is a convenience widget which shows
- * a box that the user can enter text into. Unlike an
- * @ref Entry widget, scrolled entries scroll with user
- * input so that the window will not expand if the length
- * of text inside the entry exceeds the initial size of the
- * widget.
- *
- * Signals that you can add callbacks for are:
- *
- * "changed" - The text within the entry was changed
- * "activated" - The entry has received focus and the cursor
- * "press" - The entry has been clicked
- * "longpressed" - The entry has been clicked for a couple seconds
- * "clicked" - The entry has been clicked
- * "clicked,double" - The entry has been double clicked
- * "focused" - The entry has received focus
- * "unfocused" - The entry has lost focus
- * "selection,paste" - A paste action has occurred
- * "selection,copy" - A copy action has occurred
- * "selection,cut" - A cut action has occurred
- * "selection,start" - A selection has begun
- * "selection,changed" - The selection has changed
- * "selection,cleared" - The selection has been cleared
- * "cursor,changed" - The cursor has changed
- * "anchor,clicked" - The anchor has been clicked
- */
-
-typedef struct _Widget_Data Widget_Data;
-typedef struct _Elm_Entry_Context_Menu_Item Elm_Entry_Context_Menu_Item;
-typedef struct _Elm_Entry_Item_Provider Elm_Entry_Item_Provider;
-typedef struct _Elm_Entry_Text_Filter Elm_Entry_Text_Filter;
-
-struct _Widget_Data
-{
- Evas_Object *scroller;
- Evas_Object *entry;
- Evas_Object *icon;
- Evas_Object *end;
- Elm_Scroller_Policy policy_h, policy_v;
- Eina_List *items;
- Eina_List *item_providers;
- Eina_List *text_filters;
- Eina_Bool single_line : 1;
-};
-
-struct _Elm_Entry_Context_Menu_Item
-{
- Evas_Object *obj;
- Evas_Smart_Cb func;
- void *data;
-};
-
-struct _Elm_Entry_Item_Provider
-{
- Evas_Object *(*func) (void *data, Evas_Object *entry, const char *item);
- void *data;
-};
-
-struct _Elm_Entry_Text_Filter
-{
- void (*func) (void *data, Evas_Object *entry, char **text);
- void *data;
-};
-
-static const char *widtype = NULL;
-
-static const char SIG_CHANGED[] = "changed";
-static const char SIG_ACTIVATED[] = "activated";
-static const char SIG_PRESS[] = "press";
-static const char SIG_LONGPRESSED[] = "longpressed";
-static const char SIG_CLICKED[] = "clicked";
-static const char SIG_CLICKED_DOUBLE[] = "clicked,double";
-static const char SIG_FOCUSED[] = "focused";
-static const char SIG_UNFOCUSED[] = "unfocused";
-static const char SIG_SELECTION_PASTE[] = "selection,paste";
-static const char SIG_SELECTION_COPY[] = "selection,copy";
-static const char SIG_SELECTION_CUT[] = "selection,cut";
-static const char SIG_SELECTION_START[] = "selection,start";
-static const char SIG_SELECTION_CHANGED[] = "selection,changed";
-static const char SIG_SELECTION_CLEARED[] = "selection,cleared";
-static const char SIG_CURSOR_CHANGED[] = "cursor,changed";
-static const char SIG_ANCHOR_CLICKED[] = "anchor,clicked";
-static const Evas_Smart_Cb_Description _signals[] = {
- {SIG_CHANGED, ""},
- {SIG_ACTIVATED, ""},
- {SIG_PRESS, ""},
- {SIG_LONGPRESSED, ""},
- {SIG_CLICKED, ""},
- {SIG_CLICKED_DOUBLE, ""},
- {SIG_FOCUSED, ""},
- {SIG_UNFOCUSED, ""},
- {SIG_SELECTION_PASTE, ""},
- {SIG_SELECTION_COPY, ""},
- {SIG_SELECTION_CUT, ""},
- {SIG_SELECTION_START, ""},
- {SIG_SELECTION_CHANGED, ""},
- {SIG_SELECTION_CLEARED, ""},
- {SIG_CURSOR_CHANGED, ""},
- {SIG_ANCHOR_CLICKED, ""},
- {NULL, NULL}
-};
-
-static void
-_del_hook(Evas_Object *obj)
-{
- Elm_Entry_Context_Menu_Item *ci;
- Elm_Entry_Item_Provider *ip;
- Elm_Entry_Text_Filter *tf;
-
- Widget_Data *wd = elm_widget_data_get(obj);
-
- EINA_LIST_FREE(wd->items, ci)
- free(ci);
- EINA_LIST_FREE(wd->item_providers, ip)
- free(ip);
- EINA_LIST_FREE(wd->text_filters, tf)
- free(tf);
-
- if (!wd) return;
- free(wd);
-}
-
-static void
-_sizing_eval(Evas_Object *obj)
-{
- Widget_Data *wd;
- Evas_Coord minw, minh, minw_scr, minh_scr;
- wd = elm_widget_data_get(obj);
- if (!wd) return;
-
- evas_object_size_hint_min_get(obj, &minw, &minh);
- evas_object_size_hint_min_get(wd->scroller, &minw_scr, &minh_scr);
- if (minw < minw_scr) minw = minw_scr;
- if (minh < minh_scr) minh = minh_scr;
-
- evas_object_size_hint_min_set(obj, minw, minh);
- if (wd->single_line)
- evas_object_size_hint_max_set(obj, -1, minh);
- else
- evas_object_size_hint_max_set(obj, -1, -1);
-}
-
-static void
-_theme_hook(Evas_Object *obj)
-{
- Widget_Data *wd = elm_widget_data_get(obj);
- if (!wd) return;
- elm_object_style_set(wd->entry, elm_widget_style_get(obj));
- elm_object_style_set(wd->scroller, elm_widget_style_get(obj));
- elm_object_disabled_set(wd->entry, elm_widget_disabled_get(obj));
- elm_object_disabled_set(wd->scroller, elm_widget_disabled_get(obj));
- _sizing_eval(obj);
-}
-
-static void
-_on_focus_hook(void *data __UNUSED__, Evas_Object *obj)
-{
- Widget_Data *wd = elm_widget_data_get(obj);
- if (!wd) return;
- if (elm_widget_focus_get(obj))
- elm_widget_focus_steal(wd->entry);
-}
-
-static void
-_disable_hook(Evas_Object *obj)
-{
- Widget_Data *wd = elm_widget_data_get(obj);
- if (!wd) return;
- elm_object_disabled_set(wd->entry, elm_widget_disabled_get(obj));
-}
-
-static void
-_signal_emit_hook(Evas_Object *obj, const char *emission, const char *source)
-{
- Widget_Data *wd = elm_widget_data_get(obj);
- if (!wd) return;
- elm_object_signal_emit(wd->entry, emission, source);
- elm_object_signal_emit(wd->scroller, emission, source);
-}
-
-static void
-_signal_callback_add_hook(Evas_Object *obj, const char *emission, const char *source, Edje_Signal_Cb func_cb, void *data)
-{
- Widget_Data *wd = elm_widget_data_get(obj);
- if (!wd) return;
- elm_object_signal_callback_add(wd->entry, emission, source, func_cb, data);
- elm_object_signal_callback_add(wd->scroller, emission, source, func_cb,
- data);
-}
-
-static void
-_signal_callback_del_hook(Evas_Object *obj, const char *emission, const char *source, Edje_Signal_Cb func_cb, void *data __UNUSED__)
-{
- Widget_Data *wd = elm_widget_data_get(obj);
- elm_object_signal_callback_del(wd->entry, emission, source, func_cb);
- elm_object_signal_callback_del(wd->scroller, emission, source, func_cb);
-}
-
-static void
-_on_focus_region_hook(const Evas_Object *obj, Evas_Coord *x, Evas_Coord *y, Evas_Coord *w, Evas_Coord *h)
-{
- Widget_Data *wd = elm_widget_data_get(obj);
- elm_widget_focus_region_get(wd->entry, x, y, w, h);
-}
-
-static void
-_changed_size_hints(void *data __UNUSED__, Evas *e __UNUSED__, Evas_Object *obj, void *event_info __UNUSED__)
-{
- _sizing_eval(obj);
-}
-
-static void
-_entry_changed(void *data, Evas_Object *obj __UNUSED__, void *event_info)
-{
- _sizing_eval(data);
- evas_object_smart_callback_call(data, SIG_CHANGED, event_info);
-}
-
-static void
-_entry_activated(void *data, Evas_Object *obj __UNUSED__, void *event_info)
-{
- evas_object_smart_callback_call(data, SIG_ACTIVATED, event_info);
-}
-
-static void
-_entry_press(void *data, Evas_Object *obj __UNUSED__, void *event_info)
-{
- evas_object_smart_callback_call(data, SIG_PRESS, event_info);
-}
-
-static void
-_entry_clicked(void *data, Evas_Object *obj __UNUSED__, void *event_info)
-{
- evas_object_smart_callback_call(data, SIG_CLICKED, event_info);
-}
-
-static void
-_entry_clicked_double(void *data, Evas_Object *obj __UNUSED__, void *event_info)
-{
- evas_object_smart_callback_call(data, SIG_CLICKED_DOUBLE, event_info);
-}
-
-static void
-_entry_cursor_changed(void *data, Evas_Object *obj __UNUSED__, void *event_info)
-{
- evas_object_smart_callback_call(data, SIG_CURSOR_CHANGED, event_info);
-}
-
-static void
-_entry_anchor_clicked(void *data, Evas_Object *obj __UNUSED__, void *event_info)
-{
- evas_object_smart_callback_call(data, SIG_ANCHOR_CLICKED, event_info);
-}
-
-static void
-_entry_selection_start(void *data, Evas_Object *obj __UNUSED__, void *event_info)
-{
- evas_object_smart_callback_call(data, SIG_SELECTION_START, event_info);
-}
-
-static void
-_entry_selection_changed(void *data, Evas_Object *obj __UNUSED__, void *event_info)
-{
- evas_object_smart_callback_call(data, SIG_SELECTION_CHANGED, event_info);
-}
-
-static void
-_entry_selection_cleared(void *data, Evas_Object *obj __UNUSED__, void *event_info)
-{
- evas_object_smart_callback_call(data, SIG_SELECTION_CLEARED, event_info);
-}
-
-static void
-_entry_selection_paste(void *data, Evas_Object *obj __UNUSED__, void *event_info)
-{
- evas_object_smart_callback_call(data, SIG_SELECTION_PASTE, event_info);
-}
-
-static void
-_entry_selection_copy(void *data, Evas_Object *obj __UNUSED__, void *event_info)
-{
- evas_object_smart_callback_call(data, SIG_SELECTION_COPY, event_info);
-}
-
-static void
-_entry_selection_cut(void *data, Evas_Object *obj __UNUSED__, void *event_info)
-{
- evas_object_smart_callback_call(data, SIG_SELECTION_CUT, event_info);
-}
-
-static void
-_entry_longpressed(void *data, Evas_Object *obj __UNUSED__, void *event_info)
-{
- evas_object_smart_callback_call(data, SIG_LONGPRESSED, event_info);
-}
-
-static void
-_entry_focused(void *data, Evas_Object *obj __UNUSED__, void *event_info)
-{
- evas_object_smart_callback_call(data, SIG_FOCUSED, event_info);
-}
-
-static void
-_entry_unfocused(void *data, Evas_Object *obj __UNUSED__, void *event_info)
-{
- evas_object_smart_callback_call(data, SIG_UNFOCUSED, event_info);
-}
-
-static void
-_context_item_wrap_cb(void *data, Evas_Object *obj __UNUSED__, void *event_info)
-{
- Elm_Entry_Context_Menu_Item *ci = data;
- ci->func(ci->data, ci->obj, event_info);
-}
-
-static Evas_Object *
-_item_provider_wrap_cb(void *data, Evas_Object *obj __UNUSED__, const char *item)
-{
- Widget_Data *wd = elm_widget_data_get(data);
- Eina_List *l;
- Elm_Entry_Item_Provider *ip;
-
- EINA_LIST_FOREACH(wd->item_providers, l, ip)
- {
- Evas_Object *o;
- o = ip->func(ip->data, data, item);
- if (o) return o;
- }
- return NULL;
-}
-
-static void
-_text_filter_wrap_cb(void *data, Evas_Object *obj __UNUSED__, char **text)
-{
- Widget_Data *wd = elm_widget_data_get(data);
- Eina_List *l;
- Elm_Entry_Text_Filter *tf;
-
- EINA_LIST_FOREACH(wd->text_filters, l, tf)
- {
- tf->func(tf->data, data, text);
- if (!*text) break;
- }
-}
-
-/**
- * This adds a scrolled entry to @p parent object.
- *
- * @param parent The parent object
- * @return The new object or NULL if it cannot be created
- *
- * @ingroup Scrolled_Entry
- */
-EAPI Evas_Object *
+EINA_DEPRECATED EAPI Evas_Object *
elm_scrolled_entry_add(Evas_Object *parent)
{
Evas_Object *obj;
- Evas *e;
- Widget_Data *wd;
-
- ELM_WIDGET_STANDARD_SETUP(wd, Widget_Data, parent, e, obj, NULL);
-
- ELM_SET_WIDTYPE(widtype, "scrolled_entry");
- elm_widget_type_set(obj, "scrolled_entry");
- elm_widget_sub_object_add(parent, obj);
- elm_widget_on_focus_hook_set(obj, _on_focus_hook, NULL);
- elm_widget_data_set(obj, wd);
- elm_widget_del_hook_set(obj, _del_hook);
- elm_widget_disable_hook_set(obj, _disable_hook);
- elm_widget_can_focus_set(obj, EINA_TRUE);
- elm_widget_theme_hook_set(obj, _theme_hook);
- elm_widget_on_focus_region_hook_set(obj, _on_focus_region_hook);
- elm_widget_signal_emit_hook_set(obj, _signal_emit_hook);
- elm_widget_signal_callback_add_hook_set(obj, _signal_callback_add_hook);
- elm_widget_signal_callback_del_hook_set(obj, _signal_callback_del_hook);
-
- wd->scroller = elm_scroller_add(obj);
- elm_scroller_custom_widget_base_theme_set(wd->scroller, "scroller", "entry");
- elm_widget_resize_object_set(obj, wd->scroller);
- evas_object_size_hint_weight_set(wd->scroller, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(wd->scroller, EVAS_HINT_FILL, EVAS_HINT_FILL);
- elm_scroller_bounce_set(wd->scroller, EINA_FALSE, EINA_FALSE);
- elm_scroller_propagate_events_set(wd->scroller, EINA_TRUE);
- evas_object_show(wd->scroller);
-
- wd->entry = elm_entry_add(obj);
- evas_object_size_hint_weight_set(wd->entry, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(wd->entry, EVAS_HINT_FILL, EVAS_HINT_FILL);
- elm_scroller_content_set(wd->scroller, wd->entry);
- evas_object_show(wd->entry);
-
- elm_entry_text_filter_prepend(wd->entry, _text_filter_wrap_cb, obj);
- elm_entry_item_provider_prepend(wd->entry, _item_provider_wrap_cb, obj);
-
- evas_object_smart_callback_add(wd->entry, "changed", _entry_changed, obj);
- evas_object_smart_callback_add(wd->entry, "activated", _entry_activated, obj);
- evas_object_smart_callback_add(wd->entry, "press", _entry_press, obj);
- evas_object_smart_callback_add(wd->entry, "clicked", _entry_clicked, obj);
- evas_object_smart_callback_add(wd->entry, "clicked,double", _entry_clicked_double, obj);
- evas_object_smart_callback_add(wd->entry, "cursor,changed", _entry_cursor_changed, obj);
- evas_object_smart_callback_add(wd->entry, "anchor,clicked", _entry_anchor_clicked, obj);
- evas_object_smart_callback_add(wd->entry, "selection,start", _entry_selection_start, obj);
- evas_object_smart_callback_add(wd->entry, "selection,changed", _entry_selection_changed, obj);
- evas_object_smart_callback_add(wd->entry, "selection,cleared", _entry_selection_cleared, obj);
- evas_object_smart_callback_add(wd->entry, "selection,paste", _entry_selection_paste, obj);
- evas_object_smart_callback_add(wd->entry, "selection,copy", _entry_selection_copy, obj);
- evas_object_smart_callback_add(wd->entry, "selection,cut", _entry_selection_cut, obj);
- evas_object_smart_callback_add(wd->entry, "longpressed", _entry_longpressed, obj);
- evas_object_smart_callback_add(wd->entry, "focused", _entry_focused, obj);
- evas_object_smart_callback_add(wd->entry, "unfocused", _entry_unfocused, obj);
-
- evas_object_event_callback_add(obj, EVAS_CALLBACK_CHANGED_SIZE_HINTS,
- _changed_size_hints, NULL);
-
- _sizing_eval(obj);
-
- // TODO: convert Elementary to subclassing of Evas_Smart_Class
- // TODO: and save some bytes, making descriptions per-class and not instance!
- evas_object_smart_callbacks_descriptions_set(obj, _signals);
+ obj = elm_entry_add(parent);
+ elm_entry_scrollable_set(obj, EINA_TRUE);
return obj;
}
-
-/**
- * This sets a widget to be displayed to the left of a scrolled entry.
- *
- * @param obj The scrolled entry object
- * @param icon The widget to display on the left side of the scrolled
- * entry.
- *
- * @note A previously set widget will be destroyed.
- * @note If the object being set does not have minimum size hints set,
- * it won't get properly displayed.
- *
- * @ingroup Scrolled_Entry
- * @see elm_scrolled_entry_end_set
- */
-EAPI void
+EINA_DEPRECATED EAPI void
elm_scrolled_entry_icon_set(Evas_Object *obj, Evas_Object *icon)
-{
- ELM_CHECK_WIDTYPE(obj, widtype);
- Widget_Data *wd = elm_widget_data_get(obj);
- Evas_Object *edje;
- if (!wd) return;
- EINA_SAFETY_ON_NULL_RETURN(icon);
- if (wd->icon == icon) return;
- if (wd->icon) evas_object_del(wd->icon);
- wd->icon = icon;
- edje = _elm_scroller_edje_object_get(wd->scroller);
- if (!edje) return;
- edje_object_part_swallow(edje, "elm.swallow.icon", wd->icon);
- edje_object_signal_emit(edje, "elm,action,show,icon", "elm");
- _sizing_eval(obj);
-}
-
-/**
- * Gets the leftmost widget of the scrolled entry. This object is
- * owned by the scrolled entry and should not be modified.
- *
- * @param obj The scrolled entry object
- * @return the left widget inside the scroller
- *
- * @ingroup Scrolled_Entry
- */
-EAPI Evas_Object *
+{elm_entry_icon_set(obj, icon);}
+EINA_DEPRECATED EAPI Evas_Object *
elm_scrolled_entry_icon_get(const Evas_Object *obj)
-{
- ELM_CHECK_WIDTYPE(obj, widtype) NULL;
- Widget_Data *wd = elm_widget_data_get(obj);
- if (!wd) return NULL;
- return wd->icon;
-}
-
-/**
- * Unset the leftmost widget of the scrolled entry, unparenting and
- * returning it.
- *
- * @param obj The scrolled entry object
- * @return the previously set icon sub-object of this entry, on
- * success.
- *
- * @see elm_scrolled_entry_icon_set()
- *
- * @ingroup Scrolled_Entry
- */
-EAPI Evas_Object *
+{return elm_entry_icon_get(obj);}
+EINA_DEPRECATED EAPI Evas_Object *
elm_scrolled_entry_icon_unset(Evas_Object *obj)
-{
- ELM_CHECK_WIDTYPE(obj, widtype) NULL;
- Widget_Data *wd = elm_widget_data_get(obj);
- Evas_Object *ret = NULL;
- if (!wd) return NULL;
- if (wd->icon)
- {
- Evas_Object *edje = _elm_scroller_edje_object_get(wd->scroller);
- if (!edje) return NULL;
- ret = wd->icon;
- edje_object_part_unswallow(edje, wd->icon);
- edje_object_signal_emit(edje, "elm,action,hide,icon", "elm");
- wd->icon = NULL;
- _sizing_eval(obj);
- }
- return ret;
-}
-
-/**
- * Sets the visibility of the left-side widget of the scrolled entry,
- * set by @elm_scrolled_entry_icon_set().
- *
- * @param obj The scrolled entry object
- * @param setting EINA_TRUE if the object should be displayed,
- * EINA_FALSE if not.
- *
- * @ingroup Scrolled_Entry
- */
-EAPI void
+{return elm_entry_icon_unset(obj);}
+EINA_DEPRECATED EAPI void
elm_scrolled_entry_icon_visible_set(Evas_Object *obj, Eina_Bool setting)
-{
- ELM_CHECK_WIDTYPE(obj, widtype);
- Widget_Data *wd = elm_widget_data_get(obj);
- if ((!wd) || (!wd->icon)) return;
- if (setting)
- evas_object_hide(wd->icon);
- else
- evas_object_show(wd->icon);
- _sizing_eval(obj);
-}
-
-/**
- * This sets a widget to be displayed to the end of a scrolled entry.
- *
- * @param obj The scrolled entry object
- * @param end The widget to display on the right side of the scrolled
- * entry.
- *
- * @note A previously set widget will be destroyed.
- * @note If the object being set does not have minimum size hints set,
- * it won't get properly displayed.
- *
- * @ingroup Scrolled_Entry
- * @see elm_scrolled_entry_icon_set
- */
-EAPI void
+{elm_entry_icon_visible_set(obj, setting);}
+EINA_DEPRECATED EAPI void
elm_scrolled_entry_end_set(Evas_Object *obj, Evas_Object *end)
-{
- ELM_CHECK_WIDTYPE(obj, widtype);
- Widget_Data *wd = elm_widget_data_get(obj);
- Evas_Object *edje;
- if (!wd) return;
- EINA_SAFETY_ON_NULL_RETURN(end);
- if (wd->end == end) return;
- if (wd->end) evas_object_del(wd->end);
- wd->end = end;
- edje = _elm_scroller_edje_object_get(wd->scroller);
- if (!edje) return;
- edje_object_part_swallow(edje, "elm.swallow.end", wd->end);
- edje_object_signal_emit(edje, "elm,action,show,end", "elm");
- _sizing_eval(obj);
-}
-
-/**
- * Gets the endmost widget of the scrolled entry. This object is owned
- * by the scrolled entry and should not be modified.
- *
- * @param obj The scrolled entry object
- * @return the right widget inside the scroller
- *
- * @ingroup Scrolled_Entry
- */
-EAPI Evas_Object *
+{elm_entry_end_set(obj, end);}
+EINA_DEPRECATED EAPI Evas_Object *
elm_scrolled_entry_end_get(const Evas_Object *obj)
-{
- ELM_CHECK_WIDTYPE(obj, widtype) NULL;
- Widget_Data *wd = elm_widget_data_get(obj);
- if (!wd) return NULL;
- return wd->end;
-}
-
-/**
- * Unset the endmost widget of the scrolled entry, unparenting and
- * returning it.
- *
- * @param obj The scrolled entry object
- * @return the previously set icon sub-object of this entry, on
- * success.
- *
- * @see elm_scrolled_entry_icon_set()
- *
- * @ingroup Scrolled_Entry
- */
-EAPI Evas_Object *
+{return elm_entry_end_get(obj);}
+EINA_DEPRECATED EAPI Evas_Object *
elm_scrolled_entry_end_unset(Evas_Object *obj)
-{
- ELM_CHECK_WIDTYPE(obj, widtype) NULL;
- Widget_Data *wd = elm_widget_data_get(obj);
- Evas_Object *ret = NULL;
- if (!wd) return NULL;
- if (wd->end)
- {
- Evas_Object *edje = _elm_scroller_edje_object_get(wd->scroller);
- if (!edje) return NULL;
- ret = wd->end;
- edje_object_part_unswallow(edje, wd->end);
- edje_object_signal_emit(edje, "elm,action,hide,end", "elm");
- wd->end = NULL;
- _sizing_eval(obj);
- }
- return ret;
-}
-
-/**
- * Sets the visibility of the end widget of the scrolled entry, set by
- * @elm_scrolled_entry_end_set().
- *
- * @param obj The scrolled entry object
- * @param setting EINA_TRUE if the object should be displayed,
- * EINA_FALSE if not.
- *
- * @ingroup Scrolled_Entry
- */
-EAPI void
+{return elm_entry_end_unset(obj);}
+EINA_DEPRECATED EAPI void
elm_scrolled_entry_end_visible_set(Evas_Object *obj, Eina_Bool setting)
-{
- ELM_CHECK_WIDTYPE(obj, widtype);
- Widget_Data *wd = elm_widget_data_get(obj);
- if ((!wd) || (!wd->end)) return;
- if (setting)
- evas_object_hide(wd->end);
- else
- evas_object_show(wd->end);
- _sizing_eval(obj);
-}
-
-/**
- * This sets the scrolled entry object not to line wrap. All input will
- * be on a single line, and the entry box will scroll with user input.
- *
- * @param obj The scrolled entry object
- * @param single_line If true, the text in the scrolled entry
- * will be on a single line.
- *
- * @ingroup Scrolled_Entry
- */
-EAPI void
+{elm_entry_end_visible_set(obj, setting);}
+EINA_DEPRECATED EAPI void
elm_scrolled_entry_single_line_set(Evas_Object *obj, Eina_Bool single_line)
-{
- ELM_CHECK_WIDTYPE(obj, widtype);
- Widget_Data *wd = elm_widget_data_get(obj);
- if (!wd) return;
- if (wd->single_line == single_line) return;
- elm_entry_single_line_set(wd->entry, single_line);
- wd->single_line = single_line;
- if (single_line)
- {
- elm_scroller_policy_set(wd->scroller, ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_OFF);
- elm_scroller_content_min_limit(wd->scroller, 0, 1);
- }
- else
- {
- elm_scroller_policy_set(wd->scroller, wd->policy_h, wd->policy_v);
- elm_scroller_content_min_limit(wd->scroller, 0, 0);
- }
- _sizing_eval(obj);
-}
-
-/**
- * This returns true if the scrolled entry has been set to single line mode.
- * See also elm_scrolled_entry_single_line_set().
- *
- * @param obj The scrolled entry object
- * @return single_line If true, the text in the scrolled entry is set to display
- * on a single line.
- *
- * @ingroup Scrolled_Entry
- */
-EAPI Eina_Bool
+{elm_entry_single_line_set(obj, single_line);}
+EINA_DEPRECATED EAPI Eina_Bool
elm_scrolled_entry_single_line_get(const Evas_Object *obj)
-{
- ELM_CHECK_WIDTYPE(obj, widtype) EINA_FALSE;
- Widget_Data *wd = elm_widget_data_get(obj);
- if (!wd) return EINA_FALSE;
- return elm_entry_single_line_get(wd->entry);
-}
-
-
-/**
- * This sets the scrolled entry object to password mode. All text entered
- * and/or displayed within the widget will be replaced with asterisks (*).
- *
- * @param obj The scrolled entry object
- * @param password If true, password mode is enabled.
- *
- * @ingroup Scrolled_Entry
- */
-EAPI void
+{return elm_entry_single_line_get(obj);}
+EINA_DEPRECATED EAPI void
elm_scrolled_entry_password_set(Evas_Object *obj, Eina_Bool password)
-{
- ELM_CHECK_WIDTYPE(obj, widtype);
- Widget_Data *wd = elm_widget_data_get(obj);
- if (!wd) return;
- elm_entry_password_set(wd->entry, password);
-}
-
-/**
- * This returns whether password mode is enabled.
- * See also elm_scrolled_entry_password_set().
- *
- * @param obj The scrolled entry object
- * @return If true, the scrolled entry is set to display all characters
- * as asterisks (*).
- *
- * @ingroup Scrolled_Entry
- */
-EAPI Eina_Bool
+{elm_entry_password_set(obj, password);}
+EINA_DEPRECATED EAPI Eina_Bool
elm_scrolled_entry_password_get(const Evas_Object *obj)
-{
- ELM_CHECK_WIDTYPE(obj, widtype) EINA_FALSE;
- Widget_Data *wd = elm_widget_data_get(obj);
- if (!wd) return EINA_FALSE;
- return elm_entry_password_get(wd->entry);
-}
-
-
-/**
- * This sets the text displayed within the scrolled entry to @p entry.
- *
- * @param obj The scrolled entry object
- * @param entry The text to be displayed
- *
- * @ingroup Scrolled_Entry
- */
-EAPI void
+{return elm_entry_password_get(obj);}
+EINA_DEPRECATED EAPI void
elm_scrolled_entry_entry_set(Evas_Object *obj, const char *entry)
-{
- ELM_CHECK_WIDTYPE(obj, widtype);
- Widget_Data *wd = elm_widget_data_get(obj);
- if (!wd) return;
- elm_entry_entry_set(wd->entry, entry);
-}
-
-/**
- * This appends @p entry to the scrolled entry
- *
- * @param obj The scrolled entry object
- * @param entry The text to be displayed
- *
- * @ingroup Scrolled_Entry
- */
-EAPI void
+{elm_entry_entry_set(obj, entry);}
+EINA_DEPRECATED EAPI void
elm_scrolled_entry_entry_append(Evas_Object *obj, const char *entry)
-{
- ELM_CHECK_WIDTYPE(obj, widtype);
- Widget_Data *wd = elm_widget_data_get(obj);
- if (!wd) return;
- elm_entry_entry_append(wd->entry, entry);
-}
-
-/**
- * This returns the text currently shown in object @p entry.
- * See also elm_scrolled_entry_entry_set().
- *
- * @param obj The scrolled entry object
- * @return The currently displayed text or NULL on failure
- *
- * @ingroup Scrolled_Entry
- */
-EAPI const char *
+{elm_entry_entry_append(obj, entry);}
+EINA_DEPRECATED EAPI const char *
elm_scrolled_entry_entry_get(const Evas_Object *obj)
-{
- ELM_CHECK_WIDTYPE(obj, widtype) NULL;
- Widget_Data *wd = elm_widget_data_get(obj);
- if (!wd) return NULL;
- return elm_entry_entry_get(wd->entry);
-}
-
-/**
- * This returns EINA_TRUE if the entry is empty/there was an error
- * and EINA_FALSE if it is not empty.
- *
- * @param obj The entry object
- * @return If the entry is empty or not.
- *
- * @ingroup Scrolled_Entry
- */
-EAPI Eina_Bool
+{return elm_entry_entry_get(obj);}
+EINA_DEPRECATED EAPI Eina_Bool
elm_scrolled_entry_is_empty(const Evas_Object *obj)
-{
- ELM_CHECK_WIDTYPE(obj, widtype) EINA_TRUE;
- Widget_Data *wd = elm_widget_data_get(obj);
- if (!wd) return EINA_TRUE;
- return elm_entry_is_empty(wd->entry);
-}
-
-/**
- * This returns all selected text within the scrolled entry.
- *
- * @param obj The scrolled entry object
- * @return The selected text within the scrolled entry or NULL on failure
- *
- * @ingroup Scrolled_Entry
- */
-EAPI const char *
+{return elm_entry_is_empty(obj);}
+EINA_DEPRECATED EAPI const char *
elm_scrolled_entry_selection_get(const Evas_Object *obj)
-{
- ELM_CHECK_WIDTYPE(obj, widtype) NULL;
- Widget_Data *wd = elm_widget_data_get(obj);
- if (!wd) return NULL;
- return elm_entry_selection_get(wd->entry);
-}
-
-/**
- * This inserts text in @p entry at the beginning of the scrolled entry
- * object.
- *
- * @param obj The scrolled entry object
- * @param entry The text to insert
- *
- * @ingroup Scrolled_Entry
- */
-EAPI void
+{return elm_entry_selection_get(obj);}
+EINA_DEPRECATED EAPI void
elm_scrolled_entry_entry_insert(Evas_Object *obj, const char *entry)
-{
- ELM_CHECK_WIDTYPE(obj, widtype);
- Widget_Data *wd = elm_widget_data_get(obj);
- if (!wd) return;
- elm_entry_entry_insert(wd->entry, entry);
-}
-
-/**
- * This enables word line wrapping in the scrolled entry object. It is the opposite
- * of elm_scrolled_entry_single_line_set(). Additionally, setting this disables
- * character line wrapping.
- * See also elm_scrolled_entry_line_char_wrap_set().
- *
- * @param obj The scrolled entry object
- * @param wrap wrap according to Elm_Wrap_Type
- * of the object. Wrapping will occur at the end of the word before the end of the
- * object.
- *
- * @ingroup Scrolled_Entry
- */
-EAPI void
+{elm_entry_entry_insert(obj, entry);}
+EINA_DEPRECATED EAPI void
elm_scrolled_entry_line_wrap_set(Evas_Object *obj, Elm_Wrap_Type wrap)
-{
- ELM_CHECK_WIDTYPE(obj, widtype);
- Widget_Data *wd = elm_widget_data_get(obj);
- if (!wd) return;
- elm_entry_line_wrap_set(wd->entry, wrap);
-}
-
-/**
- * This sets the editable attribute of the scrolled entry.
- *
- * @param obj The scrolled entry object
- * @param editable If true, the scrolled entry will be editable by the user.
- * If false, it will be set to the disabled state.
- *
- * @ingroup Scrolled_Entry
- */
-EAPI void
+{elm_entry_line_wrap_set(obj, wrap);}
+EINA_DEPRECATED EAPI void
elm_scrolled_entry_editable_set(Evas_Object *obj, Eina_Bool editable)
-{
- ELM_CHECK_WIDTYPE(obj, widtype);
- Widget_Data *wd = elm_widget_data_get(obj);
- if (!wd) return;
- elm_entry_editable_set(wd->entry, editable);
-}
-
-/**
- * This gets the editable attribute of the scrolled entry.
- * See also elm_scrolled_entry_editable_set().
- *
- * @param obj The scrolled entry object
- * @return If true, the scrolled entry is editable by the user.
- * If false, it is not editable by the user
- *
- * @ingroup Scrolled_Entry
- */
-EAPI Eina_Bool
+{elm_entry_editable_set(obj, editable);}
+EINA_DEPRECATED EAPI Eina_Bool
elm_scrolled_entry_editable_get(const Evas_Object *obj)
-{
- ELM_CHECK_WIDTYPE(obj, widtype) EINA_FALSE;
- Widget_Data *wd = elm_widget_data_get(obj);
- if (!wd) return EINA_FALSE;
- return elm_entry_editable_get(wd->entry);
-}
-
-
-/**
- * This drops any existing text selection within the scrolled entry.
- *
- * @param obj The scrolled entry object
- *
- * @ingroup Scrolled_Entry
- */
-EAPI void
+{return elm_entry_editable_get(obj);}
+EINA_DEPRECATED EAPI void
elm_scrolled_entry_select_none(Evas_Object *obj)
-{
- ELM_CHECK_WIDTYPE(obj, widtype);
- Widget_Data *wd = elm_widget_data_get(obj);
- if (!wd) return;
- elm_entry_select_none(wd->entry);
-}
-
-/**
- * This selects all text within the scrolled entry.
- *
- * @param obj The scrolled entry object
- *
- * @ingroup Scrolled_Entry
- */
-EAPI void
+{elm_entry_select_none(obj);}
+EINA_DEPRECATED EAPI void
elm_scrolled_entry_select_all(Evas_Object *obj)
-{
- ELM_CHECK_WIDTYPE(obj, widtype);
- Widget_Data *wd = elm_widget_data_get(obj);
- if (!wd) return;
- elm_entry_select_all(wd->entry);
-}
-
-/**
- * This moves the cursor one place to the right within the entry.
- *
- * @param obj The scrolled entry object
- * @return EINA_TRUE upon success, EINA_FALSE upon failure
- *
- * @ingroup Scrolled_Entry
- */
-EAPI Eina_Bool
+{return elm_entry_select_all(obj);}
+EINA_DEPRECATED EAPI Eina_Bool
elm_scrolled_entry_cursor_next(Evas_Object *obj)
-{
- ELM_CHECK_WIDTYPE(obj, widtype) EINA_FALSE;
- Widget_Data *wd = elm_widget_data_get(obj);
- if (!wd) return EINA_FALSE;
- return elm_entry_cursor_next(wd->entry);
-}
-
-/**
- * This moves the cursor one place to the left within the entry.
- *
- * @param obj The scrolled entry object
- * @return EINA_TRUE upon success, EINA_FALSE upon failure
- *
- * @ingroup Scrolled_Entry
- */
-EAPI Eina_Bool
+{return elm_entry_cursor_next(obj);}
+EINA_DEPRECATED EAPI Eina_Bool
elm_scrolled_entry_cursor_prev(Evas_Object *obj)
-{
- ELM_CHECK_WIDTYPE(obj, widtype) EINA_FALSE;
- Widget_Data *wd = elm_widget_data_get(obj);
- if (!wd) return EINA_FALSE;
- return elm_entry_cursor_prev(wd->entry);
-}
-
-/**
- * This moves the cursor one line up within the entry.
- *
- * @param obj The scrolled entry object
- * @return EINA_TRUE upon success, EINA_FALSE upon failure
- *
- * @ingroup Scrolled_Entry
- */
-EAPI Eina_Bool
+{return elm_entry_cursor_prev(obj);}
+EINA_DEPRECATED EAPI Eina_Bool
elm_scrolled_entry_cursor_up(Evas_Object *obj)
-{
- ELM_CHECK_WIDTYPE(obj, widtype) EINA_FALSE;
- Widget_Data *wd = elm_widget_data_get(obj);
- if (!wd) return EINA_FALSE;
- return elm_entry_cursor_up(wd->entry);
-}
-
-/**
- * This moves the cursor one line down within the entry.
- *
- * @param obj The scrolled entry object
- * @return EINA_TRUE upon success, EINA_FALSE upon failure
- *
- * @ingroup Scrolled_Entry
- */
-EAPI Eina_Bool
+{return elm_entry_cursor_up(obj);}
+EINA_DEPRECATED EAPI Eina_Bool
elm_scrolled_entry_cursor_down(Evas_Object *obj)
-{
- ELM_CHECK_WIDTYPE(obj, widtype) EINA_FALSE;
- Widget_Data *wd = elm_widget_data_get(obj);
- if (!wd) return EINA_FALSE;
- return elm_entry_cursor_down(wd->entry);
-}
-
-/**
- * This moves the cursor to the beginning of the entry.
- *
- * @param obj The scrolled entry object
- *
- * @ingroup Scrolled_Entry
- */
-EAPI void
+{return elm_entry_cursor_down(obj);}
+EINA_DEPRECATED EAPI void
elm_scrolled_entry_cursor_begin_set(Evas_Object *obj)
-{
- ELM_CHECK_WIDTYPE(obj, widtype);
- Widget_Data *wd = elm_widget_data_get(obj);
- if (!wd) return;
- elm_entry_cursor_begin_set(wd->entry);
-}
-
-/**
- * This moves the cursor to the end of the entry.
- *
- * @param obj The scrolled entry object
- *
- * @ingroup Scrolled_Entry
- */
-EAPI void
+{elm_entry_cursor_begin_set(obj);}
+EINA_DEPRECATED EAPI void
elm_scrolled_entry_cursor_end_set(Evas_Object *obj)
-{
- ELM_CHECK_WIDTYPE(obj, widtype);
- Widget_Data *wd = elm_widget_data_get(obj);
- if (!wd) return;
- int x, y, w, h;
- elm_entry_cursor_end_set(wd->entry);
- elm_widget_show_region_get(wd->entry, &x, &y, &w, &h);
- elm_scroller_region_show(wd->scroller, x, y, w, h);
-}
-
-/**
- * This moves the cursor to the beginning of the current line.
- *
- * @param obj The scrolled entry object
- *
- * @ingroup Scrolled_Entry
- */
-EAPI void
+{elm_entry_cursor_end_set(obj);}
+EINA_DEPRECATED EAPI void
elm_scrolled_entry_cursor_line_begin_set(Evas_Object *obj)
-{
- ELM_CHECK_WIDTYPE(obj, widtype);
- Widget_Data *wd = elm_widget_data_get(obj);
- if (!wd) return;
- elm_entry_cursor_line_begin_set(wd->entry);
-}
-
-/**
- * This moves the cursor to the end of the current line.
- *
- * @param obj The scrolled entry object
- *
- * @ingroup Scrolled_Entry
- */
-EAPI void
+{elm_entry_cursor_line_begin_set(obj);}
+EINA_DEPRECATED EAPI void
elm_scrolled_entry_cursor_line_end_set(Evas_Object *obj)
-{
- ELM_CHECK_WIDTYPE(obj, widtype);
- Widget_Data *wd = elm_widget_data_get(obj);
- if (!wd) return;
- elm_entry_cursor_line_end_set(wd->entry);
-}
-
-/**
- * This begins a selection within the scrolled entry as though
- * the user were holding down the mouse button to make a selection.
- *
- * @param obj The scrolled entry object
- *
- * @ingroup Scrolled_Entry
- */
-EAPI void
+{elm_entry_cursor_line_end_set(obj);}
+EINA_DEPRECATED EAPI void
elm_scrolled_entry_cursor_selection_begin(Evas_Object *obj)
-{
- ELM_CHECK_WIDTYPE(obj, widtype);
- Widget_Data *wd = elm_widget_data_get(obj);
- if (!wd) return;
- elm_entry_cursor_selection_begin(wd->entry);
-}
-
-/**
- * This ends a selection within the scrolled entry as though
- * the user had just released the mouse button while making a selection.
- *
- * @param obj The scrolled entry object
- *
- * @ingroup Scrolled_Entry
- */
-EAPI void
+{elm_entry_cursor_selection_begin(obj);}
+EINA_DEPRECATED EAPI void
elm_scrolled_entry_cursor_selection_end(Evas_Object *obj)
-{
- ELM_CHECK_WIDTYPE(obj, widtype);
- Widget_Data *wd = elm_widget_data_get(obj);
- if (!wd) return;
- elm_entry_cursor_selection_end(wd->entry);
-}
-
-/**
- * TODO: fill this in
- *
- * @param obj The scrolled entry object
- * @return TODO: fill this in
- *
- * @ingroup Scrolled_Entry
- */
-EAPI Eina_Bool
+{return elm_entry_cursor_selection_end(obj);}
+EINA_DEPRECATED EAPI Eina_Bool
elm_scrolled_entry_cursor_is_format_get(const Evas_Object *obj)
-{
- ELM_CHECK_WIDTYPE(obj, widtype) EINA_FALSE;
- Widget_Data *wd = elm_widget_data_get(obj);
- if (!wd) return EINA_FALSE;
- return elm_entry_cursor_is_format_get(wd->entry);
-}
-
-/**
- * This returns whether the cursor is visible.
- *
- * @param obj The scrolled entry object
- * @return If true, the cursor is visible.
- *
- * @ingroup Scrolled_Entry
- */
-EAPI Eina_Bool
+{return elm_entry_cursor_is_format_get(obj);}
+EINA_DEPRECATED EAPI Eina_Bool
elm_scrolled_entry_cursor_is_visible_format_get(const Evas_Object *obj)
-{
- ELM_CHECK_WIDTYPE(obj, widtype) EINA_FALSE;
- Widget_Data *wd = elm_widget_data_get(obj);
- if (!wd) return EINA_FALSE;
- return elm_entry_cursor_is_visible_format_get(wd->entry);
-}
-
-/**
- * TODO: fill this in
- *
- * @param obj The scrolled entry object
- * @return TODO: fill this in
- *
- * @ingroup Scrolled_Entry
- */
-EAPI const char *
+{return elm_entry_cursor_is_visible_format_get(obj);}
+EINA_DEPRECATED EAPI const char *
elm_scrolled_entry_cursor_content_get(const Evas_Object *obj)
-{
- ELM_CHECK_WIDTYPE(obj, widtype) NULL;
- Widget_Data *wd = elm_widget_data_get(obj);
- if (!wd) return NULL;
- return elm_entry_cursor_content_get(wd->entry);
-}
-
-/**
- * Sets the cursor position in the scrolled entry to the given value
- *
- * @param obj The scrolled entry object
- * @param pos the position of the cursor
- *
- * @ingroup Scrolled_Entry
- */
-EAPI void
+{return elm_entry_cursor_content_get(obj);}
+EINA_DEPRECATED EAPI void
elm_scrolled_entry_cursor_pos_set(Evas_Object *obj, int pos)
-{
- ELM_CHECK_WIDTYPE(obj, widtype);
- Widget_Data *wd = elm_widget_data_get(obj);
- if (!wd) return;
- elm_entry_cursor_pos_set(wd->entry, pos);
-}
-
-/**
- * Retrieves the current position of the cursor in the scrolled entry
- *
- * @param obj The entry object
- * @return the cursor position
- *
- * @ingroup Scrolled_Entry
- */
-EAPI int
+{elm_entry_cursor_pos_set(obj, pos);}
+EINA_DEPRECATED EAPI int
elm_scrolled_entry_cursor_pos_get(const Evas_Object *obj)
-{
- ELM_CHECK_WIDTYPE(obj, widtype) 0;
- Widget_Data *wd = elm_widget_data_get(obj);
- if (!wd) return 0;
- return elm_entry_cursor_pos_get(wd->entry);
-}
-
-/**
- * This executes a "cut" action on the selected text in the scrolled entry.
- *
- * @param obj The scrolled entry object
- *
- * @ingroup Scrolled_Entry
- */
-EAPI void
+{return elm_entry_cursor_pos_get(obj);}
+EINA_DEPRECATED EAPI void
elm_scrolled_entry_selection_cut(Evas_Object *obj)
-{
- ELM_CHECK_WIDTYPE(obj, widtype);
- Widget_Data *wd = elm_widget_data_get(obj);
- if (!wd) return;
- elm_entry_selection_cut(wd->entry);
-}
-
-/**
- * This executes a "copy" action on the selected text in the scrolled entry.
- *
- * @param obj The scrolled entry object
- *
- * @ingroup Scrolled_Entry
- */
-EAPI void
+{elm_entry_selection_cut(obj);}
+EINA_DEPRECATED EAPI void
elm_scrolled_entry_selection_copy(Evas_Object *obj)
-{
- ELM_CHECK_WIDTYPE(obj, widtype);
- Widget_Data *wd = elm_widget_data_get(obj);
- if (!wd) return;
- elm_entry_selection_copy(wd->entry);
-}
-
-/**
- * This executes a "paste" action in the scrolled entry.
- *
- * @param obj The scrolled entry object
- *
- * @ingroup Scrolled_Entry
- */
-EAPI void
+{elm_entry_selection_copy(obj);}
+EINA_DEPRECATED EAPI void
elm_scrolled_entry_selection_paste(Evas_Object *obj)
-{
- ELM_CHECK_WIDTYPE(obj, widtype);
- Widget_Data *wd = elm_widget_data_get(obj);
- if (!wd) return;
- elm_entry_selection_paste(wd->entry);
-}
-
-/**
- * This clears and frees the items in a scrolled entry's contextual (right click) menu.
- *
- * @param obj The scrolled entry object
- *
- * @ingroup Scrolled_Entry
- */
-EAPI void
+{elm_entry_selection_paste(obj);}
+EINA_DEPRECATED EAPI void
elm_scrolled_entry_context_menu_clear(Evas_Object *obj)
-{
- ELM_CHECK_WIDTYPE(obj, widtype);
- Widget_Data *wd = elm_widget_data_get(obj);
- if (!wd) return;
- elm_entry_context_menu_clear(wd->entry);
-}
-
-/**
- * This adds an item to the scrolled entry's contextual menu.
- *
- * @param obj The scrolled entry object
- * @param label The item's text label
- * @param icon_file The item's icon file
- * @param icon_type The item's icon type
- * @param func The callback to execute when the item is clicked
- * @param data The data to associate with the item for related functions
- *
- * @ingroup Scrolled_Entry
- */
-EAPI void
+{elm_entry_context_menu_clear(obj);}
+EINA_DEPRECATED EAPI void
elm_scrolled_entry_context_menu_item_add(Evas_Object *obj, const char *label, const char *icon_file, Elm_Icon_Type icon_type, Evas_Smart_Cb func, const void *data)
-{
- Elm_Entry_Context_Menu_Item *ci;
- ELM_CHECK_WIDTYPE(obj, widtype);
- Widget_Data *wd = elm_widget_data_get(obj);
- if (!wd) return;
-
- ci = malloc(sizeof(Elm_Entry_Context_Menu_Item));
- if (!ci) return;
- ci->func = func;
- ci->data = (void *)data;
- ci->obj = obj;
- wd->items = eina_list_append(wd->items, ci);
- elm_entry_context_menu_item_add(wd->entry, label, icon_file, icon_type, _context_item_wrap_cb, ci);
-}
-
-/**
- * This disables the scrolled entry's contextual (right click) menu.
- *
- * @param obj The scrolled entry object
- * @param disabled If true, the menu is disabled
- *
- * @ingroup Scrolled_Entry
- */
-EAPI void
+{elm_entry_context_menu_item_add(obj, label, icon_file, icon_type, func, data);}
+EINA_DEPRECATED EAPI void
elm_scrolled_entry_context_menu_disabled_set(Evas_Object *obj, Eina_Bool disabled)
-{
- ELM_CHECK_WIDTYPE(obj, widtype);
- Widget_Data *wd = elm_widget_data_get(obj);
- if (!wd) return;
- elm_entry_context_menu_disabled_set(wd->entry, disabled);
-}
-
-/**
- * This returns whether the scrolled entry's contextual (right click) menu is disabled.
- *
- * @param obj The scrolled entry object
- * @return If true, the menu is disabled
- *
- * @ingroup Scrolled_Entry
- */
-EAPI Eina_Bool
+{elm_entry_context_menu_disabled_set(obj, disabled);}
+EINA_DEPRECATED EAPI Eina_Bool
elm_scrolled_entry_context_menu_disabled_get(const Evas_Object *obj)
-{
- ELM_CHECK_WIDTYPE(obj, widtype) EINA_FALSE;
- Widget_Data *wd = elm_widget_data_get(obj);
- if (!wd) return EINA_FALSE;
- return elm_entry_context_menu_disabled_get(wd->entry);
-}
-
-/**
- * This sets the scrolled entry's scrollbar policy (ie. enabling/disabling them).
- *
- * @param obj The scrolled entry object
- * @param h The horizontal scrollbar policy to apply
- * @param v The vertical scrollbar policy to apply
- *
- * @ingroup Scrolled_Entry
- */
-EAPI void
+{return elm_entry_context_menu_disabled_get(obj);}
+EINA_DEPRECATED EAPI void
elm_scrolled_entry_scrollbar_policy_set(Evas_Object *obj, Elm_Scroller_Policy h, Elm_Scroller_Policy v)
-{
- ELM_CHECK_WIDTYPE(obj, widtype);
- Widget_Data *wd = elm_widget_data_get(obj);
- if (!wd) return;
- wd->policy_h = h;
- wd->policy_v = v;
- elm_scroller_policy_set(wd->scroller, h, v);
-}
-
-/**
- * This enables/disables bouncing within the entry.
- *
- * @param obj The scrolled entry object
- * @param h The horizontal bounce state
- * @param v The vertical bounce state
- *
- * @ingroup Scrolled_Entry
- */
-EAPI void
+{elm_entry_scrollbar_policy_set(obj, h, v);}
+EINA_DEPRECATED EAPI void
elm_scrolled_entry_bounce_set(Evas_Object *obj, Eina_Bool h_bounce, Eina_Bool v_bounce)
-{
- ELM_CHECK_WIDTYPE(obj, widtype);
- Widget_Data *wd = elm_widget_data_get(obj);
- if (!wd) return;
- elm_scroller_bounce_set(wd->scroller, h_bounce, v_bounce);
-}
-
-/**
- * Get the bounce mode
- *
- * @param obj The Scrolled_Entry object
- * @param h_bounce Allow bounce horizontally
- * @param v_bounce Allow bounce vertically
- *
- * @ingroup Scrolled_Entry
- */
-EAPI void
+{elm_entry_bounce_set(obj, h_bounce, v_bounce);}
+EINA_DEPRECATED EAPI void
elm_scrolled_entry_bounce_get(const Evas_Object *obj, Eina_Bool *h_bounce, Eina_Bool *v_bounce)
-{
- ELM_CHECK_WIDTYPE(obj, widtype);
- Widget_Data *wd = elm_widget_data_get(obj);
- if (!wd) return;
- elm_scroller_bounce_get(wd->scroller, h_bounce, v_bounce);
-}
-
-/**
- * This appends a custom item provider to the list for that entry
- *
- * This appends the given callback. The list is walked from beginning to end
- * with each function called given the item href string in the text. If the
- * function returns an object handle other than NULL (it should create an
- * and object to do this), then this object is used to replace that item. If
- * not the next provider is called until one provides an item object, or the
- * default provider in entry does.
- *
- * @param obj The entry object
- * @param func The function called to provide the item object
- * @param data The data passed to @p func
- *
- * @ingroup Scrolled_Entry
- */
-EAPI void
+{elm_entry_bounce_get(obj, h_bounce, v_bounce);}
+EINA_DEPRECATED EAPI void
elm_scrolled_entry_item_provider_append(Evas_Object *obj, Evas_Object *(*func) (void *data, Evas_Object *entry, const char *item), void *data)
-{
- ELM_CHECK_WIDTYPE(obj, widtype);
- Widget_Data *wd = elm_widget_data_get(obj);
- if (!wd) return;
- EINA_SAFETY_ON_NULL_RETURN(func);
- Elm_Entry_Item_Provider *ip = calloc(1, sizeof(Elm_Entry_Item_Provider));
- if (!ip) return;
- ip->func = func;
- ip->data = data;
- wd->item_providers = eina_list_append(wd->item_providers, ip);
-}
-
-/**
- * This prepends a custom item provider to the list for that entry
- *
- * This prepends the given callback. See elm_scrolled_entry_item_provider_append() for
- * more information
- *
- * @param obj The entry object
- * @param func The function called to provide the item object
- * @param data The data passed to @p func
- *
- * @ingroup Scrolled_Entry
- */
-EAPI void
+{elm_entry_item_provider_append(obj, func, data);}
+EINA_DEPRECATED EAPI void
elm_scrolled_entry_item_provider_prepend(Evas_Object *obj, Evas_Object *(*func) (void *data, Evas_Object *entry, const char *item), void *data)
-{
- ELM_CHECK_WIDTYPE(obj, widtype);
- Widget_Data *wd = elm_widget_data_get(obj);
- if (!wd) return;
- EINA_SAFETY_ON_NULL_RETURN(func);
- Elm_Entry_Item_Provider *ip = calloc(1, sizeof(Elm_Entry_Item_Provider));
- if (!ip) return;
- ip->func = func;
- ip->data = data;
- wd->item_providers = eina_list_prepend(wd->item_providers, ip);
-}
-
-/**
- * This removes a custom item provider to the list for that entry
- *
- * This removes the given callback. See elm_scrolled_entry_item_provider_append() for
- * more information
- *
- * @param obj The entry object
- * @param func The function called to provide the item object
- * @param data The data passed to @p func
- *
- * @ingroup Scrolled_Entry
- */
-EAPI void
+{elm_entry_item_provider_prepend(obj, func, data);}
+EINA_DEPRECATED EAPI void
elm_scrolled_entry_item_provider_remove(Evas_Object *obj, Evas_Object *(*func) (void *data, Evas_Object *entry, const char *item), void *data)
-{
- ELM_CHECK_WIDTYPE(obj, widtype);
- Widget_Data *wd = elm_widget_data_get(obj);
- Eina_List *l;
- Elm_Entry_Item_Provider *ip;
- if (!wd) return;
- EINA_SAFETY_ON_NULL_RETURN(func);
- EINA_LIST_FOREACH(wd->item_providers, l, ip)
- {
- if ((ip->func == func) && (ip->data == data))
- {
- wd->item_providers = eina_list_remove_list(wd->item_providers, l);
- free(ip);
- return;
- }
- }
-}
-
-/**
- * Append a filter function for text inserted in the entry
- *
- * Append the given callback to the list. This functions will be called
- * whenever any text is inserted into the entry, with the text to be inserted
- * as a parameter. The callback function is free to alter the text in any way
- * it wants, but it must remember to free the given pointer and update it.
- * If the new text is to be discarded, the function can free it and set it text
- * parameter to NULL. This will also prevent any following filters from being
- * called.
- *
- * @param obj The entry object
- * @param func The function to use as text filter
- * @param data User data to pass to @p func
- *
- * @ingroup Scrolled_Entry
- */
-EAPI void
+{elm_entry_item_provider_remove(obj, func, data);}
+EINA_DEPRECATED EAPI void
elm_scrolled_entry_text_filter_append(Evas_Object *obj, void (*func) (void *data, Evas_Object *entry, char **text), void *data)
-{
- Widget_Data *wd;
- Elm_Entry_Text_Filter *tf;
- ELM_CHECK_WIDTYPE(obj, widtype);
-
- wd = elm_widget_data_get(obj);
-
- EINA_SAFETY_ON_NULL_RETURN(func);
-
- tf = ELM_NEW(Elm_Entry_Text_Filter);
- if (!tf) return;
- tf->func = func;
- tf->data = data;
- wd->text_filters = eina_list_append(wd->text_filters, tf);
-}
-
-/**
- * Prepend a filter function for text insdrted in the entry
- *
- * Prepend the given callback to the list. See elm_scrolled_entry_text_filter_append()
- * for more information
- *
- * @param obj The entry object
- * @param func The function to use as text filter
- * @param data User data to pass to @p func
- *
- * @ingroup Scrolled_Entry
- */
-EAPI void
+{elm_entry_text_filter_append(obj, func, data);}
+EINA_DEPRECATED EAPI void
elm_scrolled_entry_text_filter_prepend(Evas_Object *obj, void (*func) (void *data, Evas_Object *entry, char **text), void *data)
-{
- Widget_Data *wd;
- Elm_Entry_Text_Filter *tf;
- ELM_CHECK_WIDTYPE(obj, widtype);
-
- wd = elm_widget_data_get(obj);
-
- EINA_SAFETY_ON_NULL_RETURN(func);
-
- tf = ELM_NEW(Elm_Entry_Text_Filter);
- if (!tf) return;
- tf->func = func;
- tf->data = data;
- wd->text_filters = eina_list_prepend(wd->text_filters, tf);
-}
-
-/**
- * Remove a filter from the list
- *
- * Removes the given callback from the filter list. See elm_scrolled_entry_text_filter_append()
- * for more information.
- *
- * @param obj The entry object
- * @param func The filter function to remove
- * @param data The user data passed when adding the function
- *
- * @ingroup Scrolled_Entry
- */
-EAPI void
+{elm_entry_text_filter_prepend(obj, func, data);}
+EINA_DEPRECATED EAPI void
elm_scrolled_entry_text_filter_remove(Evas_Object *obj, void (*func) (void *data, Evas_Object *entry, char **text), void *data)
-{
- Widget_Data *wd;
- Eina_List *l;
- Elm_Entry_Text_Filter *tf;
- ELM_CHECK_WIDTYPE(obj, widtype);
-
- wd = elm_widget_data_get(obj);
-
- EINA_SAFETY_ON_NULL_RETURN(func);
-
- EINA_LIST_FOREACH(wd->text_filters, l, tf)
- {
- if ((tf->func == func) && (tf->data == data))
- {
- wd->text_filters = eina_list_remove_list(wd->text_filters, l);
- free(tf);
- return;
- }
- }
-}
-
-/**
- * This sets the file (and implicitly loads it) for the text to display and
- * then edit. All changes are written back to the file after a short delay if
- * the entry object is set to autosave.
- *
- * @param obj The scrolled entry object
- * @param file The path to the file to load and save
- * @param format The file format
- *
- * @ingroup Scrolled_Entry
- */
-EAPI void
+{elm_entry_text_filter_remove(obj, func, data);}
+EINA_DEPRECATED EAPI void
elm_scrolled_entry_file_set(Evas_Object *obj, const char *file, Elm_Text_Format format)
-{
- ELM_CHECK_WIDTYPE(obj, widtype);
- Widget_Data *wd = elm_widget_data_get(obj);
- if (!wd) return;
- elm_entry_file_set(wd->entry, file, format);
-}
-
-/**
- * Gets the file to load and save and the file format
- *
- * @param obj The scrolled entry object
- * @param file The path to the file to load and save
- * @param format The file format
- *
- * @ingroup Scrolled_Entry
- */
-EAPI void
+{elm_entry_file_set(obj, file, format);}
+EINA_DEPRECATED EAPI void
elm_scrolled_entry_file_get(const Evas_Object *obj, const char **file, Elm_Text_Format *format)
-{
- ELM_CHECK_WIDTYPE(obj, widtype);
- Widget_Data *wd = elm_widget_data_get(obj);
- if (!wd) return;
- elm_entry_file_get(wd->entry, file, format);
-}
-
-/**
- * This function writes any changes made to the file set with
- * elm_scrolled_entry_file_set()
- *
- * @param obj The scrolled entry object
- *
- * @ingroup Scrolled_Entry
- */
-EAPI void
+{elm_entry_file_get(obj, file, format);}
+EINA_DEPRECATED EAPI void
elm_scrolled_entry_file_save(Evas_Object *obj)
-{
- ELM_CHECK_WIDTYPE(obj, widtype);
- Widget_Data *wd = elm_widget_data_get(obj);
- if (!wd) return;
- elm_entry_file_save(wd->entry);
-}
-
-/**
- * This sets the entry object to 'autosave' the loaded text file or not.
- *
- * @param obj The scrolled entry object
- * @param autosave Autosave the loaded file or not
- *
- * @ingroup Scrolled_Entry
- */
-EAPI void
+{elm_entry_file_save(obj);}
+EINA_DEPRECATED EAPI void
elm_scrolled_entry_autosave_set(Evas_Object *obj, Eina_Bool autosave)
-{
- ELM_CHECK_WIDTYPE(obj, widtype);
- Widget_Data *wd = elm_widget_data_get(obj);
- if (!wd) return;
- elm_entry_autosave_set(wd->entry, autosave);
-}
-
-/**
- * This gets the entry object's 'autosave' status.
- *
- * @param obj The scrolled entry object
- * @return Autosave the loaded file or not
- *
- * @ingroup Scrolled_Entry
- */
-EAPI Eina_Bool
+{elm_entry_autosave_set(obj, autosave);}
+EINA_DEPRECATED EAPI Eina_Bool
elm_scrolled_entry_autosave_get(const Evas_Object *obj)
-{
- ELM_CHECK_WIDTYPE(obj, widtype) EINA_FALSE;
- Widget_Data *wd = elm_widget_data_get(obj);
- if (!wd) return EINA_FALSE;
- return elm_entry_autosave_get(wd->entry);
-}
-
-/**
- * Control pasting of text and images for the widget.
- *
- * Normally the scrolled entry allows both text and images to be pasted.
- * By setting textonly to be true, this prevents images from being pasted.
- *
- * Note this only changes the behaviour of text.
- *
- * @param obj The scrolled entry object
- * @param textonly paste mode - EINA_TRUE is text only, EINA_FALSE is text+image+other.
- *
- * @see elm_entry_cnp_textonly_set
- * @ingroup Scrolled_Entry
- */
-EAPI void
+{return elm_entry_autosave_get(obj);}
+EINA_DEPRECATED EAPI void
elm_scrolled_entry_cnp_textonly_set(Evas_Object *obj, Eina_Bool textonly)
-{
- ELM_CHECK_WIDTYPE(obj, widtype);
- Widget_Data *wd = elm_widget_data_get(obj);
- if (!wd) return;
- elm_entry_cnp_textonly_set(wd->entry, textonly);
-}
-
-/**
- * Getting elm_scrolled_entry text paste/drop mode.
- *
- * In textonly mode, only text may be pasted or dropped into the widget.
- *
- * @param obj The scrolled entry object
- * @return If the widget only accepts text from pastes.
- *
- * @see elm_entry_cnp_textonly_get
- * @ingroup Scrolled_Entry
- */
-EAPI Eina_Bool
+{elm_entry_cnp_textonly_set(obj, textonly);}
+EINA_DEPRECATED EAPI Eina_Bool
elm_scrolled_entry_cnp_textonly_get(Evas_Object *obj)
-{
- ELM_CHECK_WIDTYPE(obj, widtype) EINA_FALSE;
- Widget_Data *wd = elm_widget_data_get(obj);
- if (!wd) return EINA_FALSE;
- return elm_entry_cnp_textonly_get(wd->entry);
-}
+{return elm_entry_cnp_textonly_get(obj);}
struct _Widget_Data
{
- Evas_Object *ent;
+ Evas_Object *ent, *scroller, *end, *icon;
Evas_Object *hoversel;
Ecore_Job *deferred_recalc_job;
Ecore_Event_Handler *sel_notify_handler;
const char *text;
const char *file;
Elm_Text_Format format;
- Evas_Coord lastw;
+ Evas_Coord lastw, entmw, entmh;
Evas_Coord downx, downy;
Eina_List *items;
Eina_List *item_providers;
Ecore_Job *hovdeljob;
Mod_Api *api; // module api if supplied
int cursor_pos;
+ Elm_Scroller_Policy policy_h, policy_v;
Elm_Wrap_Type linewrap;
Eina_Bool changed : 1;
Eina_Bool single_line : 1;
Eina_Bool autosave : 1;
Eina_Bool textonly : 1;
Eina_Bool usedown : 1;
+ Eina_Bool scroll : 1;
};
struct _Elm_Entry_Context_Menu_Item
edje_object_signal_emit(wd->ent, "elm,action,focus", "elm");
edje_object_message_signal_process(wd->ent);
edje_object_scale_set(wd->ent, elm_widget_scale_get(obj) * _elm_config->scale);
+ elm_smart_scroller_mirrored_set(wd->scroller, elm_widget_mirrored_get(obj));
+ elm_smart_scroller_object_theme_set(obj, wd->scroller, "scroller", "entry",
+ elm_widget_style_get(obj));
+ if (wd->scroll)
+ {
+ const char *str;
+ Evas_Object *edj;
+
+ edj = elm_smart_scroller_edje_object_get(wd->scroller);
+ str = edje_object_data_get(edj, "focus_highlight");
+ if ((str) && (!strcmp(str, "on")))
+ elm_widget_highlight_in_theme_set(obj, EINA_TRUE);
+ else
+ elm_widget_highlight_in_theme_set(obj, EINA_FALSE);
+ }
_sizing_eval(obj);
}
}
static void
+_recalc_cursor_geometry(Evas_Object *obj)
+{
+ Widget_Data *wd = elm_widget_data_get(obj);
+ if (!wd) return;
+ evas_object_smart_callback_call(obj, SIG_CURSOR_CHANGED, NULL);
+ if (!wd->deferred_recalc_job)
+ {
+ Evas_Coord cx, cy, cw, ch;
+ edje_object_part_text_cursor_geometry_get(wd->ent, "elm.text",
+ &cx, &cy, &cw, &ch);
+ if (wd->cur_changed)
+ {
+ elm_widget_show_region_set(obj, cx, cy, cw, ch);
+ wd->cur_changed = EINA_FALSE;
+ }
+ }
+ else
+ wd->deferred_cur = EINA_TRUE;
+}
+
+static void
_elm_win_recalc_job(void *data)
{
Widget_Data *wd = elm_widget_data_get(data);
evas_object_geometry_get(wd->ent, NULL, NULL, &resw, NULL);
edje_object_size_min_restricted_calc(wd->ent, &minw, &minh, resw, 0);
elm_coords_finger_size_adjust(1, &minw, 1, &minh);
+ wd->entmw = minw;
+ wd->entmh = minh;
/* This is a hack to workaround the way min size hints are treated.
* If the minimum width is smaller than the restricted width, it means
* the mininmum doesn't matter. */
}
evas_object_size_hint_min_set(data, minw, minh);
if (wd->single_line)
- evas_object_size_hint_max_set(data, -1, minh);
+ evas_object_size_hint_max_set(data, -1, minh);
+ else
+ evas_object_size_hint_max_set(data, -1, -1);
if (wd->deferred_cur)
{
Evas_Coord cx, cy, cw, ch;
edje_object_part_text_cursor_geometry_get(wd->ent, "elm.text",
- &cx, &cy, &cw, &ch);
+ &cx, &cy, &cw, &ch);
if (wd->cur_changed)
{
elm_widget_show_region_set(data, cx, cy, cw, ch);
}
static void
-_recalc_cursor_geometry(Evas_Object *obj)
-{
- Widget_Data *wd = elm_widget_data_get(obj);
- if (!wd) return;
- evas_object_smart_callback_call(obj, SIG_CURSOR_CHANGED, NULL);
- if (!wd->deferred_recalc_job)
- {
- Evas_Coord cx, cy, cw, ch;
- edje_object_part_text_cursor_geometry_get(wd->ent, "elm.text",
- &cx, &cy, &cw, &ch);
- if (wd->cur_changed)
- {
- elm_widget_show_region_set(obj, cx, cy, cw, ch);
- wd->cur_changed = EINA_FALSE;
- }
- }
- else
- {
- wd->deferred_cur = EINA_TRUE;
- }
-}
-
-static void
_sizing_eval(Evas_Object *obj)
{
Widget_Data *wd = elm_widget_data_get(obj);
Evas_Coord minw = -1, minh = -1;
Evas_Coord resw, resh;
if (!wd) return;
+
+ evas_object_geometry_get(obj, NULL, NULL, &resw, &resh);
if (wd->linewrap)
{
- evas_object_geometry_get(wd->ent, NULL, NULL, &resw, &resh);
if ((resw == wd->lastw) && (!wd->changed)) return;
wd->changed = EINA_FALSE;
wd->lastw = resw;
- if (wd->deferred_recalc_job) ecore_job_del(wd->deferred_recalc_job);
- wd->deferred_recalc_job = ecore_job_add(_elm_win_recalc_job, obj);
+ if (wd->scroll)
+ {
+ Evas_Coord vw = 0, vh = 0, vmw = 0, vmh = 0, w = -1, h = -1;
+
+ evas_object_resize(wd->scroller, resw, resh);
+ edje_object_size_min_calc
+ (elm_smart_scroller_edje_object_get(wd->scroller),
+ &vmw, &vmh);
+ elm_smart_scroller_child_viewport_size_get(wd->scroller, &vw, &vh);
+ edje_object_size_min_restricted_calc(wd->ent, &minw, &minh, vw, 0);
+ wd->entmw = minw;
+ wd->entmh = minh;
+ elm_coords_finger_size_adjust(1, &minw, 1, &minh);
+
+ if ((minw > 0) && (vw < minw)) vw = minw;
+ if (minh > vh) vh = minh;
+
+ if (wd->single_line) h = vmh + minh;
+ else h = vmh;
+ evas_object_resize(wd->ent, vw, vh);
+ evas_object_size_hint_min_set(obj, w, h);
+ if (wd->single_line)
+ evas_object_size_hint_max_set(obj, -1, h);
+ else
+ evas_object_size_hint_max_set(obj, -1, -1);
+ }
+ else
+ {
+ if (wd->deferred_recalc_job) ecore_job_del(wd->deferred_recalc_job);
+ wd->deferred_recalc_job = ecore_job_add(_elm_win_recalc_job, obj);
+ }
}
else
{
- edje_object_size_min_calc(wd->ent, &minw, &minh);
- elm_coords_finger_size_adjust(1, &minw, 1, &minh);
- evas_object_size_hint_min_set(obj, minw, minh);
- if (wd->single_line)
- evas_object_size_hint_max_set(obj, -1, minh);
+ if (!wd->changed) return;
+ wd->changed = EINA_FALSE;
+ wd->lastw = resw;
+ if (wd->scroll)
+ {
+ Evas_Coord vw = 0, vh = 0, vmw = 0, vmh = 0, w = -1, h = -1;
+
+ edje_object_size_min_calc(wd->ent, &minw, &minh);
+ wd->entmw = minw;
+ wd->entmh = minh;
+ elm_coords_finger_size_adjust(1, &minw, 1, &minh);
+
+ elm_smart_scroller_child_viewport_size_get(wd->scroller, &vw, &vh);
+
+ if ((minw > 0) && (vw < minw)) vw = minw;
+ if (minh > 0) vh = minh;
+
+ evas_object_resize(wd->ent, vw, vh);
+ edje_object_size_min_calc
+ (elm_smart_scroller_edje_object_get(wd->scroller),
+ &vmw, &vmh);
+ if (wd->single_line) h = vmh + minh;
+ else h = vmh;
+ evas_object_size_hint_min_set(obj, w, h);
+ if (wd->single_line)
+ evas_object_size_hint_max_set(obj, -1, h);
+ else
+ evas_object_size_hint_max_set(obj, -1, -1);
+ }
+ else
+ {
+ edje_object_size_min_calc(wd->ent, &minw, &minh);
+ wd->entmw = minw;
+ wd->entmh = minh;
+ elm_coords_finger_size_adjust(1, &minw, 1, &minh);
+ evas_object_size_hint_min_set(obj, minw, minh);
+ if (wd->single_line)
+ evas_object_size_hint_max_set(obj, -1, minh);
+ else
+ evas_object_size_hint_max_set(obj, -1, -1);
+ }
}
_recalc_cursor_geometry(obj);
Widget_Data *wd = elm_widget_data_get(obj);
if (!wd) return;
edje_object_signal_emit(wd->ent, emission, source);
+ if (wd->scroller)
+ edje_object_signal_emit(elm_smart_scroller_edje_object_get(wd->scroller),
+ emission, source);
}
static void
Widget_Data *wd = elm_widget_data_get(obj);
if (!wd) return;
edje_object_signal_callback_add(wd->ent, emission, source, func_cb, data);
+ if (wd->scroller)
+ edje_object_signal_callback_add(elm_smart_scroller_edje_object_get(wd->scroller),
+ emission, source, func_cb, data);
}
static void
Widget_Data *wd = elm_widget_data_get(obj);
edje_object_signal_callback_del_full(wd->ent, emission, source, func_cb,
data);
+ if (wd->scroller)
+ edje_object_signal_callback_del_full(elm_smart_scroller_edje_object_get(wd->scroller),
+ emission, source, func_cb, data);
}
static void
}
static void
+_focus_region_hook(Evas_Object *obj, Evas_Coord x, Evas_Coord y, Evas_Coord w, Evas_Coord h)
+{
+ Widget_Data *wd = elm_widget_data_get(obj);
+ if (wd->scroll)
+ elm_smart_scroller_child_region_show(wd->scroller, x, y, w, h);
+}
+
+static void
+_show_region_hook(void *data, Evas_Object *obj)
+{
+ Widget_Data *wd = elm_widget_data_get(data);
+ Evas_Coord x, y, w, h;
+ if (!wd) return;
+ elm_widget_show_region_get(obj, &x, &y, &w, &h);
+ if (wd->scroll)
+ elm_smart_scroller_child_region_show(wd->scroller, x, y, w, h);
+}
+
+static void
_hoversel_position(Evas_Object *obj)
{
Widget_Data *wd = elm_widget_data_get(obj);
{
Widget_Data *wd = elm_widget_data_get(data);
if (!wd) return;
+
if (wd->linewrap)
{
_sizing_eval(data);
}
+ else if (wd->scroll)
+ {
+ Evas_Coord vw = 0, vh = 0;
+
+ elm_smart_scroller_child_viewport_size_get(wd->scroller, &vw, &vh);
+ if (vw < wd->entmw) vw = wd->entmw;
+ if (vh < wd->entmh) vh = wd->entmh;
+ evas_object_resize(wd->ent, vw, vh);
+ }
if (wd->hoversel) _hoversel_position(data);
- // Evas_Coord ww, hh;
- // evas_object_geometry_get(wd->ent, NULL, NULL, &ww, &hh);
}
static void
elm_widget_theme_hook_set(obj, _theme_hook);
elm_widget_disable_hook_set(obj, _disable_hook);
elm_widget_signal_emit_hook_set(obj, _signal_emit_hook);
+ elm_widget_focus_region_hook_set(obj, _focus_region_hook);
elm_widget_on_focus_region_hook_set(obj, _on_focus_region_hook);
elm_widget_signal_callback_add_hook_set(obj, _signal_callback_add_hook);
elm_widget_signal_callback_del_hook_set(obj, _signal_callback_del_hook);
elm_object_cursor_set(obj, ELM_CURSOR_XTERM);
elm_widget_can_focus_set(obj, EINA_TRUE);
elm_widget_highlight_ignore_set(obj, EINA_TRUE);
-
+
+ wd->scroller = elm_smart_scroller_add(e);
+ elm_widget_sub_object_add(obj, wd->scroller);
+ elm_smart_scroller_widget_set(wd->scroller, obj);
+ elm_smart_scroller_object_theme_set(obj, wd->scroller, "scroller", "entry",
+ elm_widget_style_get(obj));
+ evas_object_size_hint_weight_set(wd->scroller, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ evas_object_size_hint_align_set(wd->scroller, EVAS_HINT_FILL, EVAS_HINT_FILL);
+ elm_smart_scroller_bounce_allow_set(wd->scroller, EINA_FALSE, EINA_FALSE);
+ evas_object_propagate_events_set(wd->scroller, EINA_TRUE);
+
wd->linewrap = ELM_WRAP_WORD;
wd->editable = EINA_TRUE;
wd->disabled = EINA_FALSE;
edje_object_item_provider_set(wd->ent, _get_item, obj);
edje_object_text_insert_filter_callback_add(wd->ent,"elm.text", _text_filter, obj);
evas_object_event_callback_add(wd->ent, EVAS_CALLBACK_MOVE, _move, obj);
- evas_object_event_callback_add(wd->ent, EVAS_CALLBACK_RESIZE, _resize, obj);
evas_object_event_callback_add(wd->ent, EVAS_CALLBACK_MOUSE_DOWN,
_mouse_down, obj);
evas_object_event_callback_add(wd->ent, EVAS_CALLBACK_MOUSE_UP,
_mouse_up, obj);
evas_object_event_callback_add(wd->ent, EVAS_CALLBACK_MOUSE_MOVE,
_mouse_move, obj);
-
+ evas_object_event_callback_add(obj, EVAS_CALLBACK_RESIZE, _resize, obj);
+
_elm_theme_object_set(obj, wd->ent, "entry", "base", "default");
edje_object_signal_callback_add(wd->ent, "entry,changed", "elm.text",
_signal_entry_changed, obj);
wd->linewrap = ELM_WRAP_NONE;
elm_entry_cnp_textonly_set(obj, EINA_TRUE);
_theme_hook(obj);
+ if (wd->scroller)
+ {
+ if (wd->single_line)
+ elm_smart_scroller_policy_set(wd->scroller,
+ ELM_SMART_SCROLLER_POLICY_OFF,
+ ELM_SMART_SCROLLER_POLICY_OFF);
+ else
+ {
+ const Elm_Scroller_Policy map[3] =
+ {
+ ELM_SMART_SCROLLER_POLICY_AUTO,
+ ELM_SMART_SCROLLER_POLICY_ON,
+ ELM_SMART_SCROLLER_POLICY_OFF
+ };
+ elm_smart_scroller_policy_set(wd->scroller,
+ map[wd->policy_h],
+ map[wd->policy_v]);
+ }
+ _sizing_eval(obj);
+ }
}
/**
Widget_Data *wd = elm_widget_data_get(obj);
if (!wd) return;
if (wd->linewrap == wrap) return;
-
+ wd->lastw = -1;
wd->linewrap = wrap;
_theme_hook(obj);
}
ELM_CHECK_WIDTYPE(obj, widtype);
Widget_Data *wd = elm_widget_data_get(obj);
if (!wd) return;
+ int x, y, w, h;
edje_object_part_text_cursor_end_set(wd->ent, "elm.text", EDJE_CURSOR_MAIN);
+ if (wd->scroll)
+ {
+ elm_widget_show_region_get(wd->ent, &x, &y, &w, &h);
+ elm_smart_scroller_child_region_show(wd->scroller, x, y, w, h);
+ }
}
/**
widget_type = elm_widget_type_get(entry);
if (!strcmp(widget_type, "entry"))
text_get = elm_entry_entry_get;
- else if (!strcmp(widget_type, "scrolled_entry"))
- text_get = elm_scrolled_entry_entry_get;
else /* huh? */
return;
* @ingroup Entry
*/
EAPI Eina_Bool
-elm_entry_cnp_textonly_get(Evas_Object *obj)
+elm_entry_cnp_textonly_get(const Evas_Object *obj)
{
ELM_CHECK_WIDTYPE(obj, widtype) EINA_FALSE;
Widget_Data *wd = elm_widget_data_get(obj);
return wd->textonly;
}
+/**
+ * Enable or disable scrolling in entry
+ *
+ * Normally the entry is not scrollable unless you enable it with this call.
+ *
+ * @param obj The entry object
+ * @param scroll EINA_TRUE if it is to be scrollable, EINA_FALSE otherwise
+ *
+ * @ingroup Entry
+ */
+EAPI void
+elm_entry_scrollable_set(Evas_Object *obj, Eina_Bool scroll)
+{
+ ELM_CHECK_WIDTYPE(obj, widtype);
+ Widget_Data *wd = elm_widget_data_get(obj);
+ if (!wd) return;
+ scroll = !!scroll;
+ if (wd->scroll == scroll) return;
+ wd->scroll = scroll;
+ if (wd->scroll)
+ {
+ elm_widget_sub_object_del(obj, wd->scroller);
+ elm_widget_resize_object_set(obj, wd->scroller);
+ elm_widget_sub_object_add(obj, wd->ent);
+ elm_smart_scroller_child_set(wd->scroller, wd->ent);
+ evas_object_show(wd->scroller);
+ elm_widget_on_show_region_hook_set(obj, _show_region_hook, obj);
+ }
+ else
+ {
+ elm_smart_scroller_child_set(wd->scroller, NULL);
+ elm_widget_sub_object_del(obj, wd->ent);
+ elm_widget_resize_object_set(obj, wd->ent);
+ evas_object_smart_member_add(wd->scroller, obj);
+ elm_widget_sub_object_add(obj, wd->scroller);
+ evas_object_hide(wd->scroller);
+ elm_widget_on_show_region_hook_set(obj, NULL, NULL);
+ }
+ wd->lastw = -1;
+ _theme_hook(obj);
+}
+
+/**
+ * Get the scrollable state of the entry
+ *
+ * Normally the entry is not scrollable. This gets the scrollable state
+ * of the entry. See elm_entry_scrollable_set() for more information.
+ *
+ * @param obj The entry object
+ * @return The scrollable state
+ *
+ * @ingroup Entry
+ */
+EAPI Eina_Bool
+elm_entry_scrollable_get(const Evas_Object *obj)
+{
+ ELM_CHECK_WIDTYPE(obj, widtype) EINA_FALSE;
+ Widget_Data *wd = elm_widget_data_get(obj);
+ if (!wd) return EINA_FALSE;
+ return wd->scroll;
+}
+
+/**
+ * This sets a widget to be displayed to the left of a scrolled entry.
+ *
+ * @param obj The scrolled entry object
+ * @param icon The widget to display on the left side of the scrolled
+ * entry.
+ *
+ * @note A previously set widget will be destroyed.
+ * @note If the object being set does not have minimum size hints set,
+ * it won't get properly displayed.
+ *
+ * @ingroup Entry
+ * @see elm_entry_end_set
+ */
+EAPI void
+elm_entry_icon_set(Evas_Object *obj, Evas_Object *icon)
+{
+ ELM_CHECK_WIDTYPE(obj, widtype);
+ Widget_Data *wd = elm_widget_data_get(obj);
+ Evas_Object *edje;
+ if (!wd) return;
+ EINA_SAFETY_ON_NULL_RETURN(icon);
+ if (wd->icon == icon) return;
+ if (wd->icon) evas_object_del(wd->icon);
+ wd->icon = icon;
+ edje = elm_smart_scroller_edje_object_get(wd->scroller);
+ if (!edje) return;
+ edje_object_part_swallow(edje, "elm.swallow.icon", wd->icon);
+ edje_object_signal_emit(edje, "elm,action,show,icon", "elm");
+ _sizing_eval(obj);
+}
+
+/**
+ * Gets the leftmost widget of the scrolled entry. This object is
+ * owned by the scrolled entry and should not be modified.
+ *
+ * @param obj The scrolled entry object
+ * @return the left widget inside the scroller
+ *
+ * @ingroup Entry
+ */
+EAPI Evas_Object *
+elm_entry_icon_get(const Evas_Object *obj)
+{
+ ELM_CHECK_WIDTYPE(obj, widtype) NULL;
+ Widget_Data *wd = elm_widget_data_get(obj);
+ if (!wd) return NULL;
+ return wd->icon;
+}
+
+/**
+ * Unset the leftmost widget of the scrolled entry, unparenting and
+ * returning it.
+ *
+ * @param obj The scrolled entry object
+ * @return the previously set icon sub-object of this entry, on
+ * success.
+ *
+ * @see elm_entry_icon_set()
+ *
+ * @ingroup Entry
+ */
+EAPI Evas_Object *
+elm_entry_icon_unset(Evas_Object *obj)
+{
+ ELM_CHECK_WIDTYPE(obj, widtype) NULL;
+ Widget_Data *wd = elm_widget_data_get(obj);
+ Evas_Object *ret = NULL;
+ if (!wd) return NULL;
+ if (wd->icon)
+ {
+ Evas_Object *edje = elm_smart_scroller_edje_object_get(wd->scroller);
+ if (!edje) return NULL;
+ ret = wd->icon;
+ edje_object_part_unswallow(edje, wd->icon);
+ edje_object_signal_emit(edje, "elm,action,hide,icon", "elm");
+ wd->icon = NULL;
+ _sizing_eval(obj);
+ }
+ return ret;
+}
+
+/**
+ * Sets the visibility of the left-side widget of the scrolled entry,
+ * set by @elm_entry_icon_set().
+ *
+ * @param obj The scrolled entry object
+ * @param setting EINA_TRUE if the object should be displayed,
+ * EINA_FALSE if not.
+ *
+ * @ingroup Entry
+ */
+EAPI void
+elm_entry_icon_visible_set(Evas_Object *obj, Eina_Bool setting)
+{
+ ELM_CHECK_WIDTYPE(obj, widtype);
+ Widget_Data *wd = elm_widget_data_get(obj);
+ if ((!wd) || (!wd->icon)) return;
+ if (setting)
+ evas_object_hide(wd->icon);
+ else
+ evas_object_show(wd->icon);
+ _sizing_eval(obj);
+}
+
+/**
+ * This sets a widget to be displayed to the end of a scrolled entry.
+ *
+ * @param obj The scrolled entry object
+ * @param end The widget to display on the right side of the scrolled
+ * entry.
+ *
+ * @note A previously set widget will be destroyed.
+ * @note If the object being set does not have minimum size hints set,
+ * it won't get properly displayed.
+ *
+ * @ingroup Entry
+ * @see elm_entry_icon_set
+ */
+EAPI void
+elm_entry_end_set(Evas_Object *obj, Evas_Object *end)
+{
+ ELM_CHECK_WIDTYPE(obj, widtype);
+ Widget_Data *wd = elm_widget_data_get(obj);
+ Evas_Object *edje;
+ if (!wd) return;
+ EINA_SAFETY_ON_NULL_RETURN(end);
+ if (wd->end == end) return;
+ if (wd->end) evas_object_del(wd->end);
+ wd->end = end;
+ edje = elm_smart_scroller_edje_object_get(wd->scroller);
+ if (!edje) return;
+ edje_object_part_swallow(edje, "elm.swallow.end", wd->end);
+ edje_object_signal_emit(edje, "elm,action,show,end", "elm");
+ _sizing_eval(obj);
+}
+
+/**
+ * Gets the endmost widget of the scrolled entry. This object is owned
+ * by the scrolled entry and should not be modified.
+ *
+ * @param obj The scrolled entry object
+ * @return the right widget inside the scroller
+ *
+ * @ingroup Entry
+ */
+EAPI Evas_Object *
+elm_entry_end_get(const Evas_Object *obj)
+{
+ ELM_CHECK_WIDTYPE(obj, widtype) NULL;
+ Widget_Data *wd = elm_widget_data_get(obj);
+ if (!wd) return NULL;
+ return wd->end;
+}
+
+/**
+ * Unset the endmost widget of the scrolled entry, unparenting and
+ * returning it.
+ *
+ * @param obj The scrolled entry object
+ * @return the previously set icon sub-object of this entry, on
+ * success.
+ *
+ * @see elm_entry_icon_set()
+ *
+ * @ingroup Entry
+ */
+EAPI Evas_Object *
+elm_entry_end_unset(Evas_Object *obj)
+{
+ ELM_CHECK_WIDTYPE(obj, widtype) NULL;
+ Widget_Data *wd = elm_widget_data_get(obj);
+ Evas_Object *ret = NULL;
+ if (!wd) return NULL;
+ if (wd->end)
+ {
+ Evas_Object *edje = elm_smart_scroller_edje_object_get(wd->scroller);
+ if (!edje) return NULL;
+ ret = wd->end;
+ edje_object_part_unswallow(edje, wd->end);
+ edje_object_signal_emit(edje, "elm,action,hide,end", "elm");
+ wd->end = NULL;
+ _sizing_eval(obj);
+ }
+ return ret;
+}
+
+/**
+ * Sets the visibility of the end widget of the scrolled entry, set by
+ * @elm_entry_end_set().
+ *
+ * @param obj The scrolled entry object
+ * @param setting EINA_TRUE if the object should be displayed,
+ * EINA_FALSE if not.
+ *
+ * @ingroup Entry
+ */
+EAPI void
+elm_entry_end_visible_set(Evas_Object *obj, Eina_Bool setting)
+{
+ ELM_CHECK_WIDTYPE(obj, widtype);
+ Widget_Data *wd = elm_widget_data_get(obj);
+ if ((!wd) || (!wd->end)) return;
+ if (setting)
+ evas_object_hide(wd->end);
+ else
+ evas_object_show(wd->end);
+ _sizing_eval(obj);
+}
+
+/**
+ * This sets the scrolled entry's scrollbar policy (ie. enabling/disabling them).
+ *
+ * @param obj The scrolled entry object
+ * @param h The horizontal scrollbar policy to apply
+ * @param v The vertical scrollbar policy to apply
+ *
+ * @ingroup Entry
+ */
+EAPI void
+elm_entry_scrollbar_policy_set(Evas_Object *obj, Elm_Scroller_Policy h, Elm_Scroller_Policy v)
+{
+ ELM_CHECK_WIDTYPE(obj, widtype);
+ Widget_Data *wd = elm_widget_data_get(obj);
+ const Elm_Scroller_Policy map[3] =
+ {
+ ELM_SMART_SCROLLER_POLICY_AUTO,
+ ELM_SMART_SCROLLER_POLICY_ON,
+ ELM_SMART_SCROLLER_POLICY_OFF
+ };
+ if (!wd) return;
+ wd->policy_h = h;
+ wd->policy_v = v;
+ elm_smart_scroller_policy_set(wd->scroller,
+ map[wd->policy_h],
+ map[wd->policy_v]);
+}
+
+/**
+ * This enables/disables bouncing within the entry.
+ *
+ * @param obj The scrolled entry object
+ * @param h The horizontal bounce state
+ * @param v The vertical bounce state
+ *
+ * @ingroup Entry
+ */
+EAPI void
+elm_entry_bounce_set(Evas_Object *obj, Eina_Bool h_bounce, Eina_Bool v_bounce)
+{
+ ELM_CHECK_WIDTYPE(obj, widtype);
+ Widget_Data *wd = elm_widget_data_get(obj);
+ if (!wd) return;
+ elm_smart_scroller_bounce_allow_set(wd->scroller, h_bounce, v_bounce);
+}
+
+/**
+ * Get the bounce mode
+ *
+ * @param obj The Entry object
+ * @param h_bounce Allow bounce horizontally
+ * @param v_bounce Allow bounce vertically
+ *
+ * @ingroup Entry
+ */
+EAPI void
+elm_entry_bounce_get(const Evas_Object *obj, Eina_Bool *h_bounce, Eina_Bool *v_bounce)
+{
+ ELM_CHECK_WIDTYPE(obj, widtype);
+ Widget_Data *wd = elm_widget_data_get(obj);
+ if (!wd) return;
+ elm_smart_scroller_bounce_allow_get(wd->scroller, h_bounce, v_bounce);
+}