2010-10-19 11:25:22 -07:00
|
|
|
#ifdef HAVE_CONFIG_H
|
|
|
|
# include "elementary_config.h"
|
|
|
|
#endif
|
2015-04-02 02:54:06 -07:00
|
|
|
#define EO_BETA_API
|
2012-03-29 12:27:13 -07:00
|
|
|
#include <Elementary.h>
|
2013-11-04 00:54:31 -08:00
|
|
|
|
2009-08-13 15:41:43 -07:00
|
|
|
static void
|
2013-08-31 18:18:03 -07:00
|
|
|
my_entry_bt_1(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
|
2009-08-13 15:41:43 -07:00
|
|
|
{
|
|
|
|
Evas_Object *en = data;
|
2011-12-30 02:02:19 -08:00
|
|
|
elm_object_text_set(en, "");
|
2009-08-13 15:41:43 -07:00
|
|
|
}
|
|
|
|
|
|
|
|
static void
|
2013-08-31 18:18:03 -07:00
|
|
|
my_entry_bt_2(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
|
2009-08-13 15:41:43 -07:00
|
|
|
{
|
|
|
|
Evas_Object *en = data;
|
2011-12-30 02:02:19 -08:00
|
|
|
const char *s = elm_object_text_get(en);
|
2009-08-13 15:41:43 -07:00
|
|
|
printf("ENTRY:\n");
|
|
|
|
if (s) printf("%s\n", s);
|
2010-03-21 22:52:05 -07:00
|
|
|
printf("ENTRY PLAIN UTF8:\n");
|
|
|
|
if (s)
|
|
|
|
{
|
|
|
|
s = elm_entry_markup_to_utf8(s);
|
|
|
|
if (s)
|
|
|
|
{
|
|
|
|
printf("%s\n", s);
|
|
|
|
free((char *)s);
|
|
|
|
}
|
|
|
|
}
|
2009-08-13 15:41:43 -07:00
|
|
|
}
|
|
|
|
|
|
|
|
static void
|
2013-08-31 18:18:03 -07:00
|
|
|
my_entry_bt_3(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
|
2009-08-13 15:41:43 -07:00
|
|
|
{
|
|
|
|
Evas_Object *en = data;
|
2010-02-24 13:53:51 -08:00
|
|
|
const char *s = elm_entry_selection_get(en);
|
2016-02-12 03:18:05 -08:00
|
|
|
int start = 0, end = 0;
|
|
|
|
elm_entry_select_region_get(en, &start, &end);
|
|
|
|
printf("SELECTION REGION: %d - %d\n", start, end);
|
2009-08-13 15:41:43 -07:00
|
|
|
printf("SELECTION:\n");
|
|
|
|
if (s) printf("%s\n", s);
|
2010-03-21 22:52:05 -07:00
|
|
|
printf("SELECTION PLAIN UTF8:\n");
|
|
|
|
if (s)
|
|
|
|
{
|
|
|
|
s = elm_entry_markup_to_utf8(s);
|
|
|
|
if (s)
|
|
|
|
{
|
|
|
|
printf("%s\n", s);
|
|
|
|
free((char *)s);
|
|
|
|
}
|
|
|
|
}
|
2009-08-13 15:41:43 -07:00
|
|
|
}
|
|
|
|
|
|
|
|
static void
|
2013-08-31 18:18:03 -07:00
|
|
|
my_entry_bt_4(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
|
2009-08-13 15:41:43 -07:00
|
|
|
{
|
|
|
|
Evas_Object *en = data;
|
2010-02-24 13:53:51 -08:00
|
|
|
elm_entry_entry_insert(en, "Insert some <b>BOLD</> text");
|
2009-08-26 05:51:27 -07:00
|
|
|
}
|
|
|
|
|
2011-06-17 02:44:31 -07:00
|
|
|
static void
|
2013-08-31 18:18:03 -07:00
|
|
|
my_entry_bt_5(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
|
2011-06-17 02:44:31 -07:00
|
|
|
{
|
|
|
|
Evas_Object *en = data;
|
|
|
|
elm_entry_scrollable_set(en, !elm_entry_scrollable_get(en));
|
|
|
|
}
|
|
|
|
|
|
|
|
static void
|
2013-08-31 18:18:03 -07:00
|
|
|
my_entry_bt_6(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
|
2011-06-17 02:44:31 -07:00
|
|
|
{
|
|
|
|
Evas_Object *en = data;
|
|
|
|
static Elm_Wrap_Type wr = ELM_WRAP_NONE;
|
2011-07-03 00:49:02 -07:00
|
|
|
|
2011-06-17 02:44:31 -07:00
|
|
|
wr++;
|
|
|
|
if (wr == ELM_WRAP_LAST) wr = ELM_WRAP_NONE;
|
|
|
|
printf("wr: %i\n", wr);
|
|
|
|
elm_entry_line_wrap_set(en, wr);
|
|
|
|
}
|
|
|
|
|
2015-10-01 03:12:34 -07:00
|
|
|
static void
|
|
|
|
my_entry_bt_7(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
|
|
|
|
{
|
|
|
|
Evas_Object *en = data;
|
|
|
|
elm_entry_editable_set(en, !elm_entry_editable_get(en));
|
|
|
|
}
|
|
|
|
|
2015-12-10 22:49:27 -08:00
|
|
|
static void
|
|
|
|
changed_cb1(void *data, Evas_Object *obj, void *event_info EINA_UNUSED)
|
|
|
|
{
|
|
|
|
Evas_Object *ck = data;
|
|
|
|
printf("ck %p to %i\n", obj, elm_check_state_get(obj));
|
|
|
|
elm_config_context_menu_disabled_set(elm_check_state_get(obj));
|
|
|
|
printf("ck2 %p is now %i\n", ck, elm_check_state_get(ck));
|
|
|
|
}
|
|
|
|
|
2016-05-11 19:10:42 -07:00
|
|
|
static void
|
|
|
|
select_allow_check_changed_cb(void *data, Evas_Object *obj, void *event_info EINA_UNUSED)
|
|
|
|
{
|
|
|
|
Evas_Object *en = data;
|
|
|
|
elm_entry_select_allow_set(en, elm_check_state_get(obj));
|
|
|
|
|
|
|
|
if (elm_check_state_get(obj))
|
|
|
|
printf("Entry %p is now selectable.\n", en);
|
|
|
|
else
|
|
|
|
printf("Entry %p is now unselectable.\n", en);
|
|
|
|
}
|
|
|
|
|
2016-08-05 10:01:39 -07:00
|
|
|
static void
|
|
|
|
entry_changed_cb(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
|
|
|
|
{
|
|
|
|
const char *event = data;
|
|
|
|
printf("Entry '%s' callback called\n", event);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
2009-08-13 15:41:43 -07:00
|
|
|
void
|
2013-08-31 18:18:03 -07:00
|
|
|
test_entry(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
|
2009-08-13 15:41:43 -07:00
|
|
|
{
|
2016-05-11 19:10:42 -07:00
|
|
|
Evas_Object *win, *bx, *bx2, *bx3, *bt, *en, *ck;
|
2010-12-02 00:25:36 -08:00
|
|
|
char buf[4096];
|
2009-08-13 15:41:43 -07:00
|
|
|
|
2012-04-01 23:20:28 -07:00
|
|
|
win = elm_win_util_standard_add("entry", "Entry");
|
2011-07-25 07:22:19 -07:00
|
|
|
elm_win_autodel_set(win, EINA_TRUE);
|
2009-08-13 15:41:43 -07:00
|
|
|
|
|
|
|
bx = elm_box_add(win);
|
2009-09-28 12:23:33 -07:00
|
|
|
evas_object_size_hint_weight_set(bx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
|
2009-08-13 15:41:43 -07:00
|
|
|
elm_win_resize_object_add(win, bx);
|
|
|
|
evas_object_show(bx);
|
|
|
|
|
|
|
|
en = elm_entry_add(win);
|
2011-05-02 03:56:16 -07:00
|
|
|
elm_entry_line_wrap_set(en, ELM_WRAP_NONE);
|
2010-12-02 00:25:36 -08:00
|
|
|
snprintf(buf, sizeof(buf),
|
2011-12-08 04:39:18 -08:00
|
|
|
"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/>"
|
|
|
|
"<a href=X><link>links in the text</></a>, so enter text<br/>"
|
|
|
|
"in here to edit it. By the way, links are<br/>"
|
|
|
|
"called <a href=anc-02>Anchors</a> so you will need<br/>"
|
|
|
|
"to refer to them this way.<br/>"
|
|
|
|
"<br/>"
|
2011-04-08 07:30:48 -07:00
|
|
|
|
2010-12-02 00:25:36 -08:00
|
|
|
"Also you can stick in items with (relsize + ascent): "
|
|
|
|
"<item relsize=16x16 vsize=ascent href=emoticon/evil-laugh></item>"
|
|
|
|
" (full) "
|
|
|
|
"<item relsize=16x16 vsize=full href=emoticon/guilty-smile></item>"
|
2011-12-08 04:39:18 -08:00
|
|
|
" (to the left)<br/>"
|
2011-04-08 07:30:48 -07:00
|
|
|
|
2010-12-02 00:25:36 -08:00
|
|
|
"Also (size + ascent): "
|
|
|
|
"<item size=16x16 vsize=ascent href=emoticon/haha></item>"
|
|
|
|
" (full) "
|
|
|
|
"<item size=16x16 vsize=full href=emoticon/happy-panting></item>"
|
2011-12-08 04:39:18 -08:00
|
|
|
" (before this)<br/>"
|
2011-04-08 07:30:48 -07:00
|
|
|
|
2012-04-06 01:14:10 -07:00
|
|
|
"And as well (absize + ascent): "
|
|
|
|
"<item absize=64x64 vsize=ascent href=emoticon/knowing-grin></item>"
|
|
|
|
" (full) "
|
|
|
|
"<item absize=64x64 vsize=full href=emoticon/not-impressed></item>"
|
|
|
|
" or even paths to image files on disk too like: "
|
|
|
|
"<item absize=96x128 vsize=full href=file://%s/images/sky_01.jpg></item>"
|
|
|
|
" ... end."
|
|
|
|
, elm_app_data_dir_get()
|
|
|
|
);
|
2011-12-30 02:02:19 -08:00
|
|
|
elm_object_text_set(en, buf);
|
2009-09-28 12:23:33 -07:00
|
|
|
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);
|
2016-08-05 10:01:39 -07:00
|
|
|
evas_object_smart_callback_add(en, "changed", entry_changed_cb, "changed");
|
|
|
|
evas_object_smart_callback_add(en, "changed,user", entry_changed_cb, "changed,user");
|
2009-08-13 15:41:43 -07:00
|
|
|
elm_box_pack_end(bx, en);
|
|
|
|
evas_object_show(en);
|
2013-12-14 13:46:29 -08:00
|
|
|
elm_object_focus_set(en, EINA_TRUE);
|
2009-08-13 15:41:43 -07:00
|
|
|
|
|
|
|
bx2 = elm_box_add(win);
|
2011-04-15 04:44:05 -07:00
|
|
|
elm_box_horizontal_set(bx2, EINA_TRUE);
|
2009-09-28 12:23:33 -07:00
|
|
|
evas_object_size_hint_weight_set(bx2, EVAS_HINT_EXPAND, 0.0);
|
|
|
|
evas_object_size_hint_align_set(bx2, EVAS_HINT_FILL, EVAS_HINT_FILL);
|
2009-08-13 15:41:43 -07:00
|
|
|
|
|
|
|
bt = elm_button_add(win);
|
2011-06-29 00:11:54 -07:00
|
|
|
elm_object_text_set(bt, "Clr");
|
2009-08-13 15:41:43 -07:00
|
|
|
evas_object_smart_callback_add(bt, "clicked", my_entry_bt_1, en);
|
2009-09-28 12:23:33 -07:00
|
|
|
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);
|
2009-08-13 15:41:43 -07:00
|
|
|
elm_box_pack_end(bx2, bt);
|
2014-01-06 23:48:58 -08:00
|
|
|
elm_object_focus_allow_set(bt, EINA_FALSE);
|
2009-08-13 15:41:43 -07:00
|
|
|
evas_object_show(bt);
|
|
|
|
|
|
|
|
bt = elm_button_add(win);
|
2011-06-29 00:11:54 -07:00
|
|
|
elm_object_text_set(bt, "Prnt");
|
2009-08-13 15:41:43 -07:00
|
|
|
evas_object_smart_callback_add(bt, "clicked", my_entry_bt_2, en);
|
2009-09-28 12:23:33 -07:00
|
|
|
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);
|
2009-08-13 15:41:43 -07:00
|
|
|
elm_box_pack_end(bx2, bt);
|
2014-01-06 23:48:58 -08:00
|
|
|
elm_object_focus_allow_set(bt, EINA_FALSE);
|
2009-08-13 15:41:43 -07:00
|
|
|
evas_object_show(bt);
|
|
|
|
|
|
|
|
bt = elm_button_add(win);
|
2011-06-29 00:11:54 -07:00
|
|
|
elm_object_text_set(bt, "Sel");
|
2009-08-13 15:41:43 -07:00
|
|
|
evas_object_smart_callback_add(bt, "clicked", my_entry_bt_3, en);
|
2009-09-28 12:23:33 -07:00
|
|
|
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);
|
2009-08-13 15:41:43 -07:00
|
|
|
elm_box_pack_end(bx2, bt);
|
2014-01-06 23:48:58 -08:00
|
|
|
elm_object_focus_allow_set(bt, EINA_FALSE);
|
2009-08-13 15:41:43 -07:00
|
|
|
evas_object_show(bt);
|
|
|
|
|
|
|
|
bt = elm_button_add(win);
|
2011-06-29 00:11:54 -07:00
|
|
|
elm_object_text_set(bt, "Ins");
|
2009-08-13 15:41:43 -07:00
|
|
|
evas_object_smart_callback_add(bt, "clicked", my_entry_bt_4, en);
|
2009-09-28 12:23:33 -07:00
|
|
|
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);
|
2009-08-13 15:41:43 -07:00
|
|
|
elm_box_pack_end(bx2, bt);
|
2014-01-06 23:48:58 -08:00
|
|
|
elm_object_focus_allow_set(bt, EINA_FALSE);
|
2009-08-13 15:41:43 -07:00
|
|
|
evas_object_show(bt);
|
|
|
|
|
2011-06-17 02:44:31 -07:00
|
|
|
bt = elm_button_add(win);
|
2011-06-29 00:11:54 -07:00
|
|
|
elm_object_text_set(bt, "Scrl");
|
2011-06-17 02:44:31 -07:00
|
|
|
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);
|
2014-01-06 23:48:58 -08:00
|
|
|
elm_object_focus_allow_set(bt, EINA_FALSE);
|
2011-06-17 02:44:31 -07:00
|
|
|
evas_object_show(bt);
|
|
|
|
|
|
|
|
bt = elm_button_add(win);
|
2011-06-29 00:11:54 -07:00
|
|
|
elm_object_text_set(bt, "Wr");
|
2011-06-17 02:44:31 -07:00
|
|
|
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);
|
2014-01-06 23:48:58 -08:00
|
|
|
elm_object_focus_allow_set(bt, EINA_FALSE);
|
2011-06-17 02:44:31 -07:00
|
|
|
evas_object_show(bt);
|
|
|
|
|
2015-10-01 03:12:34 -07:00
|
|
|
bt = elm_button_add(win);
|
|
|
|
elm_object_text_set(bt, "Edit");
|
|
|
|
evas_object_smart_callback_add(bt, "clicked", my_entry_bt_7, 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);
|
|
|
|
elm_object_focus_allow_set(bt, EINA_FALSE);
|
|
|
|
evas_object_show(bt);
|
|
|
|
|
2016-05-11 19:10:42 -07:00
|
|
|
bx3 = elm_box_add(win);
|
|
|
|
elm_box_horizontal_set(bx3, EINA_TRUE);
|
|
|
|
evas_object_size_hint_weight_set(bx3, EVAS_HINT_EXPAND, 0.0);
|
|
|
|
evas_object_size_hint_align_set(bx3, EVAS_HINT_FILL, EVAS_HINT_FILL);
|
|
|
|
|
2015-12-10 22:49:27 -08:00
|
|
|
ck = elm_check_add(win);
|
|
|
|
elm_object_text_set(ck, "Context Menu Disable");
|
|
|
|
evas_object_smart_callback_add(ck, "changed", changed_cb1, ck);
|
2016-05-11 19:10:42 -07:00
|
|
|
elm_box_pack_end(bx3, ck);
|
|
|
|
evas_object_show(ck);
|
|
|
|
|
|
|
|
ck = elm_check_add(win);
|
|
|
|
elm_object_text_set(ck, "Select Allow");
|
|
|
|
elm_check_state_set(ck, elm_entry_select_allow_get(en));
|
|
|
|
evas_object_smart_callback_add(ck, "changed", select_allow_check_changed_cb, en);
|
|
|
|
elm_box_pack_end(bx3, ck);
|
2015-12-10 22:49:27 -08:00
|
|
|
evas_object_show(ck);
|
|
|
|
|
2016-05-11 19:10:42 -07:00
|
|
|
elm_box_pack_end(bx, bx3);
|
2009-08-13 15:41:43 -07:00
|
|
|
elm_box_pack_end(bx, bx2);
|
2016-05-11 19:10:42 -07:00
|
|
|
evas_object_show(bx3);
|
2009-08-13 15:41:43 -07:00
|
|
|
evas_object_show(bx2);
|
|
|
|
|
|
|
|
evas_object_show(win);
|
|
|
|
}
|
|
|
|
|
2010-02-24 13:53:51 -08:00
|
|
|
static void
|
2013-08-31 18:18:03 -07:00
|
|
|
my_scrolled_entry_bt_1(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
|
2010-02-24 13:53:51 -08:00
|
|
|
{
|
|
|
|
Evas_Object *en = data;
|
2011-12-30 02:02:19 -08:00
|
|
|
elm_object_text_set(en, "");
|
2010-02-24 13:53:51 -08:00
|
|
|
}
|
|
|
|
|
|
|
|
static void
|
2013-08-31 18:18:03 -07:00
|
|
|
my_scrolled_entry_bt_2(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
|
2010-02-24 13:53:51 -08:00
|
|
|
{
|
|
|
|
Evas_Object *en = data;
|
2011-12-30 02:02:19 -08:00
|
|
|
const char *s = elm_object_text_get(en);
|
2010-02-24 13:53:51 -08:00
|
|
|
printf("ENTRY:\n");
|
|
|
|
if (s) printf("%s\n", s);
|
2010-03-21 22:52:05 -07:00
|
|
|
printf("ENTRY PLAIN UTF8:\n");
|
|
|
|
if (s)
|
|
|
|
{
|
|
|
|
s = elm_entry_markup_to_utf8(s);
|
|
|
|
if (s)
|
|
|
|
{
|
|
|
|
printf("%s\n", s);
|
|
|
|
free((char *)s);
|
|
|
|
}
|
|
|
|
}
|
2010-02-24 13:53:51 -08:00
|
|
|
}
|
|
|
|
|
|
|
|
static void
|
2013-08-31 18:18:03 -07:00
|
|
|
my_scrolled_entry_bt_3(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
|
2010-02-24 13:53:51 -08:00
|
|
|
{
|
|
|
|
Evas_Object *en = data;
|
2011-06-17 02:44:31 -07:00
|
|
|
const char *s = elm_entry_selection_get(en);
|
2016-02-12 03:18:05 -08:00
|
|
|
int start = 0, end = 0;
|
|
|
|
elm_entry_select_region_get(en, &start, &end);
|
|
|
|
printf("SELECTION REGION: %d - %d\n", start, end);
|
2010-02-24 13:53:51 -08:00
|
|
|
printf("SELECTION:\n");
|
|
|
|
if (s) printf("%s\n", s);
|
2010-03-21 22:52:05 -07:00
|
|
|
printf("SELECTION PLAIN UTF8:\n");
|
|
|
|
if (s)
|
|
|
|
{
|
|
|
|
s = elm_entry_markup_to_utf8(s);
|
|
|
|
if (s)
|
|
|
|
{
|
|
|
|
printf("%s\n", s);
|
|
|
|
free((char *)s);
|
|
|
|
}
|
|
|
|
}
|
2010-02-24 13:53:51 -08:00
|
|
|
}
|
|
|
|
|
|
|
|
static void
|
2013-08-31 18:18:03 -07:00
|
|
|
my_scrolled_entry_bt_4(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
|
2010-02-24 13:53:51 -08:00
|
|
|
{
|
|
|
|
Evas_Object *en = data;
|
2011-06-17 02:44:31 -07:00
|
|
|
elm_entry_entry_insert(en, "Insert some <b>BOLD</> text");
|
2010-02-24 13:53:51 -08:00
|
|
|
}
|
|
|
|
|
|
|
|
static void
|
2013-08-31 18:18:03 -07:00
|
|
|
my_scrolled_entry_bt_5(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
|
2010-02-24 13:53:51 -08:00
|
|
|
{
|
|
|
|
Evas_Object *en = data;
|
2011-12-30 02:02:19 -08:00
|
|
|
const char *s = elm_object_text_get(en);
|
2010-02-24 13:53:51 -08:00
|
|
|
printf("PASSWORD: '%s'\n", s ? s : "");
|
|
|
|
}
|
|
|
|
|
|
|
|
static void
|
2013-08-31 18:18:03 -07:00
|
|
|
scrolled_anchor_test(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
|
2010-02-24 13:53:51 -08:00
|
|
|
{
|
|
|
|
Evas_Object *en = data;
|
2011-06-17 02:44:31 -07:00
|
|
|
elm_entry_entry_insert(en, "ANCHOR CLICKED");
|
2010-02-24 13:53:51 -08:00
|
|
|
}
|
|
|
|
|
2013-02-27 04:06:05 -08:00
|
|
|
static void
|
2013-08-31 18:18:03 -07:00
|
|
|
_item_cb(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_info)
|
2013-02-27 04:06:05 -08:00
|
|
|
{
|
|
|
|
Elm_Entry_Context_Menu_Item *item = (Elm_Entry_Context_Menu_Item *)event_info;
|
|
|
|
printf("\ncurrent selected text = %s\n", elm_entry_context_menu_item_label_get(item));
|
|
|
|
}
|
|
|
|
|
2013-12-30 01:25:15 -08:00
|
|
|
static void
|
|
|
|
_entry_rejected_cb(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
|
|
|
|
{
|
|
|
|
Elm_Entry_Filter_Accept_Set *accept_set = data;
|
|
|
|
|
|
|
|
if (!accept_set) return;
|
|
|
|
|
|
|
|
if (accept_set->accepted)
|
|
|
|
printf("REJECTED: This entry only accepts the following character set: [%s]\n", accept_set->accepted);
|
|
|
|
else
|
|
|
|
printf("REJECTED: This entry rejects the following character set: [%s]\n", accept_set->rejected);
|
|
|
|
}
|
|
|
|
|
2014-01-09 23:37:55 -08:00
|
|
|
static void
|
|
|
|
_end_show_cb(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
|
|
|
|
{
|
|
|
|
Evas_Object *en = data;
|
|
|
|
elm_entry_end_visible_set(en, EINA_TRUE);
|
|
|
|
}
|
|
|
|
|
|
|
|
static void
|
|
|
|
_end_hide_cb(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
|
|
|
|
{
|
|
|
|
Evas_Object *en = data;
|
|
|
|
elm_entry_end_visible_set(en, EINA_FALSE);
|
|
|
|
}
|
|
|
|
|
2016-06-20 07:31:31 -07:00
|
|
|
static void
|
2016-08-30 05:34:10 -07:00
|
|
|
_context_menu_show_cb(void *data EINA_UNUSED, const Efl_Event *event)
|
2015-06-03 02:41:13 -07:00
|
|
|
{
|
2016-05-18 08:17:36 -07:00
|
|
|
elm_entry_context_menu_clear(event->object);
|
|
|
|
elm_entry_context_menu_item_add(event->object, "MenuD1", NULL, ELM_ICON_NONE, _item_cb, NULL);
|
|
|
|
elm_entry_context_menu_item_add(event->object, "MenuD2", NULL, ELM_ICON_NONE, _item_cb, NULL);
|
2015-06-03 02:41:13 -07:00
|
|
|
}
|
|
|
|
|
2009-08-13 15:41:43 -07:00
|
|
|
void
|
2013-08-31 18:18:03 -07:00
|
|
|
test_entry_scrolled(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
|
2009-08-13 15:41:43 -07:00
|
|
|
{
|
2014-03-10 00:25:23 -07:00
|
|
|
Evas_Object *win, *bx, *bx2, *bx3, *bx4, *bt, *en, *en_p, *sp, *entry, *label;
|
2010-10-07 05:50:00 -07:00
|
|
|
static Elm_Entry_Filter_Accept_Set digits_filter_data, digits_filter_data2;
|
|
|
|
static Elm_Entry_Filter_Limit_Size limit_filter_data, limit_filter_data2;
|
2009-08-13 15:41:43 -07:00
|
|
|
|
2012-04-01 23:20:28 -07:00
|
|
|
win = elm_win_util_standard_add("entry-scrolled", "Entry Scrolled");
|
2011-07-25 07:22:19 -07:00
|
|
|
elm_win_autodel_set(win, EINA_TRUE);
|
2009-08-13 15:41:43 -07:00
|
|
|
|
|
|
|
bx = elm_box_add(win);
|
2009-09-28 12:23:33 -07:00
|
|
|
evas_object_size_hint_weight_set(bx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
|
2009-08-13 15:41:43 -07:00
|
|
|
elm_win_resize_object_add(win, bx);
|
|
|
|
evas_object_show(bx);
|
|
|
|
|
2010-02-09 05:21:46 -08:00
|
|
|
/* disabled entry */
|
2011-06-17 02:44:31 -07:00
|
|
|
en = elm_entry_add(win);
|
|
|
|
elm_entry_scrollable_set(en, EINA_TRUE);
|
2010-02-12 07:22:51 -08:00
|
|
|
evas_object_size_hint_weight_set(en, EVAS_HINT_EXPAND, 0.0);
|
|
|
|
evas_object_size_hint_align_set(en, EVAS_HINT_FILL, 0.5);
|
2012-08-30 09:45:15 -07:00
|
|
|
elm_scroller_policy_set(en, ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_OFF);
|
2011-12-30 02:02:19 -08:00
|
|
|
elm_object_text_set(en, "Disabled entry");
|
2012-02-15 20:55:08 -08:00
|
|
|
elm_entry_single_line_set(en, EINA_TRUE);
|
|
|
|
elm_object_disabled_set(en, EINA_TRUE);
|
2009-08-26 05:51:27 -07:00
|
|
|
evas_object_show(en);
|
2010-02-09 05:21:46 -08:00
|
|
|
elm_box_pack_end(bx, en);
|
2009-08-26 05:51:27 -07:00
|
|
|
|
2013-08-22 18:44:49 -07:00
|
|
|
/* entry with guide */
|
|
|
|
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_scroller_policy_set(en, ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_OFF);
|
|
|
|
elm_object_part_text_set(en, "guide", "This string is guide");
|
|
|
|
elm_entry_single_line_set(en, EINA_TRUE);
|
|
|
|
evas_object_show(en);
|
|
|
|
elm_box_pack_end(bx, en);
|
|
|
|
|
2010-02-09 05:21:46 -08:00
|
|
|
/* password entry */
|
2011-06-17 02:44:31 -07:00
|
|
|
en = elm_entry_add(win);
|
|
|
|
elm_entry_scrollable_set(en, EINA_TRUE);
|
2010-02-12 07:22:51 -08:00
|
|
|
evas_object_size_hint_weight_set(en, EVAS_HINT_EXPAND, 0.0);
|
|
|
|
evas_object_size_hint_align_set(en, EVAS_HINT_FILL, 0.5);
|
2012-08-30 09:45:15 -07:00
|
|
|
elm_scroller_policy_set(en, ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_OFF);
|
2012-02-15 20:55:08 -08:00
|
|
|
elm_entry_password_set(en, EINA_TRUE);
|
|
|
|
elm_entry_single_line_set(en, EINA_TRUE);
|
2011-12-30 02:02:19 -08:00
|
|
|
elm_object_text_set(en, "Access denied, give up!");
|
2012-02-15 20:55:08 -08:00
|
|
|
elm_object_disabled_set(en, EINA_TRUE);
|
2009-08-26 05:51:27 -07:00
|
|
|
evas_object_show(en);
|
2010-02-09 05:21:46 -08:00
|
|
|
elm_box_pack_end(bx, en);
|
2009-08-26 05:51:27 -07:00
|
|
|
|
2010-02-09 05:21:46 -08:00
|
|
|
/* multi-line disable entry */
|
2011-06-17 02:44:31 -07:00
|
|
|
en = elm_entry_add(win);
|
|
|
|
elm_entry_scrollable_set(en, EINA_TRUE);
|
2009-09-28 12:23:33 -07:00
|
|
|
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);
|
2012-08-30 09:45:15 -07:00
|
|
|
elm_scroller_policy_set(en, ELM_SCROLLER_POLICY_ON, ELM_SCROLLER_POLICY_ON);
|
2012-02-15 20:55:08 -08:00
|
|
|
elm_object_disabled_set(en, EINA_TRUE);
|
2011-06-17 02:44:31 -07:00
|
|
|
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);
|
2011-12-30 02:02:19 -08:00
|
|
|
elm_object_text_set(en,
|
2012-03-08 06:59:38 -08:00
|
|
|
"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/>"
|
|
|
|
"<a href=X><link>links in the text</></a>,"
|
|
|
|
"but it won't be editable or clickable.");
|
2009-08-26 05:51:27 -07:00
|
|
|
evas_object_show(en);
|
2010-02-09 05:21:46 -08:00
|
|
|
elm_box_pack_end(bx, en);
|
2009-08-26 05:51:27 -07:00
|
|
|
|
|
|
|
sp = elm_separator_add(win);
|
2012-02-15 20:55:08 -08:00
|
|
|
elm_separator_horizontal_set(sp, EINA_TRUE);
|
2009-08-26 05:51:27 -07:00
|
|
|
elm_box_pack_end(bx, sp);
|
|
|
|
evas_object_show(sp);
|
|
|
|
|
2010-02-09 05:21:46 -08:00
|
|
|
/* Single line selected entry */
|
2011-06-17 02:44:31 -07:00
|
|
|
en = elm_entry_add(win);
|
|
|
|
elm_entry_scrollable_set(en, EINA_TRUE);
|
2010-02-12 07:22:51 -08:00
|
|
|
evas_object_size_hint_weight_set(en, EVAS_HINT_EXPAND, 0.0);
|
|
|
|
evas_object_size_hint_align_set(en, EVAS_HINT_FILL, 0.5);
|
2011-12-30 02:02:19 -08:00
|
|
|
elm_object_text_set(en, "This is a single line");
|
2012-08-30 09:45:15 -07:00
|
|
|
elm_scroller_policy_set(en, ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_OFF);
|
2012-02-15 20:55:08 -08:00
|
|
|
elm_entry_single_line_set(en, EINA_TRUE);
|
2011-06-17 02:44:31 -07:00
|
|
|
elm_entry_select_all(en);
|
2013-02-27 04:06:05 -08:00
|
|
|
elm_entry_context_menu_item_add(en, "Menu1", NULL, ELM_ICON_NONE, _item_cb, NULL);
|
|
|
|
elm_entry_context_menu_item_add(en, "Menu2", NULL, ELM_ICON_NONE, _item_cb, NULL);
|
2009-08-13 15:41:43 -07:00
|
|
|
evas_object_show(en);
|
2010-02-09 05:21:46 -08:00
|
|
|
elm_box_pack_end(bx, en);
|
2009-08-13 15:41:43 -07:00
|
|
|
|
2010-10-07 05:50:00 -07:00
|
|
|
/* Only digits entry */
|
2011-06-17 02:44:31 -07:00
|
|
|
en = elm_entry_add(win);
|
|
|
|
elm_entry_scrollable_set(en, EINA_TRUE);
|
2010-10-07 05:50:00 -07:00
|
|
|
evas_object_size_hint_weight_set(en, EVAS_HINT_EXPAND, 0.0);
|
|
|
|
evas_object_size_hint_align_set(en, EVAS_HINT_FILL, 0.5);
|
2011-12-30 02:02:19 -08:00
|
|
|
elm_object_text_set(en, "01234");
|
2012-08-30 09:45:15 -07:00
|
|
|
elm_scroller_policy_set(en, ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_OFF);
|
2012-02-15 20:55:08 -08:00
|
|
|
elm_entry_single_line_set(en, EINA_TRUE);
|
2010-10-07 05:50:00 -07:00
|
|
|
evas_object_show(en);
|
|
|
|
elm_box_pack_end(bx, en);
|
|
|
|
|
|
|
|
digits_filter_data.accepted = "0123456789";
|
|
|
|
digits_filter_data.rejected = NULL;
|
2012-02-07 23:23:08 -08:00
|
|
|
elm_entry_markup_filter_append(en, elm_entry_filter_accept_set, &digits_filter_data);
|
2013-12-30 01:25:15 -08:00
|
|
|
evas_object_smart_callback_add(en, "rejected", _entry_rejected_cb, &digits_filter_data);
|
2010-10-07 05:50:00 -07:00
|
|
|
|
|
|
|
/* No digits entry */
|
2011-06-17 02:44:31 -07:00
|
|
|
en = elm_entry_add(win);
|
|
|
|
elm_entry_scrollable_set(en, EINA_TRUE);
|
2010-10-07 05:50:00 -07:00
|
|
|
evas_object_size_hint_weight_set(en, EVAS_HINT_EXPAND, 0.0);
|
|
|
|
evas_object_size_hint_align_set(en, EVAS_HINT_FILL, 0.5);
|
2011-12-30 02:02:19 -08:00
|
|
|
elm_object_text_set(en, "No numbers here");
|
2012-08-30 09:45:15 -07:00
|
|
|
elm_scroller_policy_set(en, ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_OFF);
|
2012-02-15 20:55:08 -08:00
|
|
|
elm_entry_single_line_set(en, EINA_TRUE);
|
2010-10-07 05:50:00 -07:00
|
|
|
evas_object_show(en);
|
|
|
|
elm_box_pack_end(bx, en);
|
|
|
|
|
|
|
|
digits_filter_data2.accepted = NULL;
|
|
|
|
digits_filter_data2.rejected = "0123456789";
|
2012-02-07 23:23:08 -08:00
|
|
|
elm_entry_markup_filter_append(en, elm_entry_filter_accept_set, &digits_filter_data2);
|
2013-12-30 01:25:15 -08:00
|
|
|
evas_object_smart_callback_add(en, "rejected", _entry_rejected_cb, &digits_filter_data2);
|
2010-10-07 05:50:00 -07:00
|
|
|
|
|
|
|
/* Size limited entry */
|
2011-06-17 02:44:31 -07:00
|
|
|
en = elm_entry_add(win);
|
|
|
|
elm_entry_scrollable_set(en, EINA_TRUE);
|
2010-10-07 05:50:00 -07:00
|
|
|
evas_object_size_hint_weight_set(en, EVAS_HINT_EXPAND, 0.0);
|
|
|
|
evas_object_size_hint_align_set(en, EVAS_HINT_FILL, 0.5);
|
2011-12-30 02:02:19 -08:00
|
|
|
elm_object_text_set(en, "Just 20 chars");
|
2012-08-30 09:45:15 -07:00
|
|
|
elm_scroller_policy_set(en, ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_OFF);
|
2012-02-15 20:55:08 -08:00
|
|
|
elm_entry_single_line_set(en, EINA_TRUE);
|
2010-10-07 05:50:00 -07:00
|
|
|
evas_object_show(en);
|
|
|
|
elm_box_pack_end(bx, en);
|
|
|
|
|
|
|
|
limit_filter_data.max_char_count = 20;
|
|
|
|
limit_filter_data.max_byte_count = 0;
|
2012-02-07 23:23:08 -08:00
|
|
|
elm_entry_markup_filter_append(en, elm_entry_filter_limit_size, &limit_filter_data);
|
2010-10-07 05:50:00 -07:00
|
|
|
|
|
|
|
/* Byte size limited entry */
|
2011-06-17 02:44:31 -07:00
|
|
|
en = elm_entry_add(win);
|
|
|
|
elm_entry_scrollable_set(en, EINA_TRUE);
|
2010-10-07 05:50:00 -07:00
|
|
|
evas_object_size_hint_weight_set(en, EVAS_HINT_EXPAND, 0.0);
|
|
|
|
evas_object_size_hint_align_set(en, EVAS_HINT_FILL, 0.5);
|
2011-12-30 02:02:19 -08:00
|
|
|
elm_object_text_set(en, "And now only 30 bytes");
|
2012-08-30 09:45:15 -07:00
|
|
|
elm_scroller_policy_set(en, ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_OFF);
|
2012-02-15 20:55:08 -08:00
|
|
|
elm_entry_single_line_set(en, EINA_TRUE);
|
2010-10-07 05:50:00 -07:00
|
|
|
evas_object_show(en);
|
|
|
|
elm_box_pack_end(bx, en);
|
|
|
|
|
|
|
|
limit_filter_data2.max_char_count = 0;
|
|
|
|
limit_filter_data2.max_byte_count = 30;
|
2012-02-07 23:23:08 -08:00
|
|
|
elm_entry_markup_filter_append(en, elm_entry_filter_limit_size, &limit_filter_data2);
|
2010-10-07 05:50:00 -07:00
|
|
|
|
2010-02-09 05:21:46 -08:00
|
|
|
/* Single line password entry */
|
2011-06-17 02:44:31 -07:00
|
|
|
en_p = elm_entry_add(win);
|
|
|
|
elm_entry_scrollable_set(en_p, EINA_TRUE);
|
2010-02-12 07:22:51 -08:00
|
|
|
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);
|
2012-08-30 09:45:15 -07:00
|
|
|
elm_scroller_policy_set(en_p, ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_OFF);
|
2011-12-30 02:02:19 -08:00
|
|
|
elm_object_text_set(en_p, "Password here");
|
2012-02-15 20:55:08 -08:00
|
|
|
elm_entry_single_line_set(en_p, EINA_TRUE);
|
|
|
|
elm_entry_password_set(en_p, EINA_TRUE);
|
2009-10-21 04:32:36 -07:00
|
|
|
evas_object_show(en_p);
|
2010-02-09 05:21:46 -08:00
|
|
|
elm_box_pack_end(bx, en_p);
|
2009-08-13 15:41:43 -07:00
|
|
|
|
2014-03-10 00:25:23 -07:00
|
|
|
/* Last password show entry */
|
|
|
|
bx4 = elm_box_add(win);
|
|
|
|
evas_object_size_hint_weight_set(bx4, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
|
|
|
|
evas_object_show(bx4);
|
|
|
|
|
|
|
|
label = elm_label_add(bx4);
|
|
|
|
elm_object_text_set(label, "<b>Last password show entry</b>");
|
|
|
|
evas_object_size_hint_align_set(label, EVAS_HINT_FILL, EVAS_HINT_FILL);
|
|
|
|
elm_box_pack_end(bx4, label);
|
|
|
|
evas_object_show(label);
|
|
|
|
|
|
|
|
en = elm_entry_add(bx4);
|
|
|
|
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_scroller_policy_set(en, ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_OFF);
|
|
|
|
elm_entry_password_set(en, EINA_TRUE);
|
|
|
|
elm_object_text_set(en, "Last password show");
|
|
|
|
elm_entry_single_line_set(en, EINA_TRUE);
|
|
|
|
edje_password_show_last_set(EINA_TRUE);
|
|
|
|
edje_password_show_last_timeout_set(-1);
|
|
|
|
evas_object_show(en);
|
|
|
|
|
|
|
|
elm_box_pack_end(bx4, en);
|
|
|
|
elm_box_pack_end(bx, bx4);
|
|
|
|
|
|
|
|
/* entry with icon/end widgets */
|
2014-01-09 23:37:55 -08:00
|
|
|
entry = elm_entry_add(win);
|
|
|
|
elm_entry_scrollable_set(entry, EINA_TRUE);
|
|
|
|
elm_scroller_policy_set(entry, ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_OFF);
|
|
|
|
elm_entry_single_line_set(entry, EINA_TRUE);
|
|
|
|
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);
|
2010-09-23 15:30:47 -07:00
|
|
|
bt = elm_icon_add(win);
|
2016-04-26 16:01:08 -07:00
|
|
|
elm_icon_standard_set(bt, "go-home");
|
2010-09-23 15:30:47 -07:00
|
|
|
evas_object_size_hint_min_set(bt, 48, 48);
|
2012-04-24 20:48:55 -07:00
|
|
|
evas_object_color_set(bt, 128, 0, 0, 128);
|
2010-09-22 11:25:35 -07:00
|
|
|
evas_object_show(bt);
|
2014-01-09 23:37:55 -08:00
|
|
|
elm_object_part_content_set(entry, "icon", bt);
|
2010-09-23 15:30:47 -07:00
|
|
|
bt = elm_icon_add(win);
|
|
|
|
elm_icon_standard_set(bt, "delete");
|
2012-04-24 20:48:55 -07:00
|
|
|
evas_object_color_set(bt, 128, 0, 0, 128);
|
2010-09-23 15:30:47 -07:00
|
|
|
evas_object_size_hint_min_set(bt, 48, 48);
|
2010-09-22 11:25:35 -07:00
|
|
|
evas_object_show(bt);
|
2014-01-09 23:37:55 -08:00
|
|
|
elm_object_part_content_set(entry, "end", bt);
|
|
|
|
elm_object_text_set(entry, "entry with icon and end objects. For the test of show/hide end, text should be long long...");
|
|
|
|
evas_object_show(entry);
|
|
|
|
elm_box_pack_end(bx, entry);
|
2010-09-22 11:25:35 -07:00
|
|
|
|
2012-03-08 06:08:04 -08:00
|
|
|
/* markup entry */
|
2011-06-17 02:44:31 -07:00
|
|
|
en = elm_entry_add(win);
|
|
|
|
elm_entry_scrollable_set(en, EINA_TRUE);
|
2009-09-28 12:23:33 -07:00
|
|
|
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);
|
2012-08-30 09:45:15 -07:00
|
|
|
elm_scroller_policy_set(en, ELM_SCROLLER_POLICY_ON, ELM_SCROLLER_POLICY_ON);
|
2011-12-30 02:02:19 -08:00
|
|
|
elm_object_text_set(en,
|
2012-03-08 06:59:38 -08:00
|
|
|
"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/>"
|
|
|
|
"<a href=X><link>links in the text</></a>, so enter text<br/>"
|
|
|
|
"in here to edit it. By them way, links are<br/>"
|
|
|
|
"called <a href=anc-02>Anchors</a> so you will need<br/>"
|
|
|
|
"to refer to them this way. At the end here is a really long "
|
|
|
|
"line to test line wrapping to see if it works. But just in "
|
|
|
|
"case this line is not long enough I will add more here to "
|
|
|
|
"really test it out, as Elementary really needs some "
|
|
|
|
"good testing to see if entry widgets work as advertised.");
|
2010-02-24 13:53:51 -08:00
|
|
|
evas_object_smart_callback_add(en, "anchor,clicked", scrolled_anchor_test, en);
|
2009-08-13 15:41:43 -07:00
|
|
|
evas_object_show(en);
|
2010-02-09 05:21:46 -08:00
|
|
|
elm_box_pack_end(bx, en);
|
2016-08-10 07:23:04 -07:00
|
|
|
efl_event_callback_add(en, ELM_ENTRY_EVENT_CONTEXT_OPEN, _context_menu_show_cb, NULL);
|
2009-08-13 15:41:43 -07:00
|
|
|
|
|
|
|
bx2 = elm_box_add(win);
|
2011-04-15 04:44:05 -07:00
|
|
|
elm_box_horizontal_set(bx2, EINA_TRUE);
|
2009-09-28 12:23:33 -07:00
|
|
|
evas_object_size_hint_weight_set(bx2, EVAS_HINT_EXPAND, 0.0);
|
|
|
|
evas_object_size_hint_align_set(bx2, EVAS_HINT_FILL, EVAS_HINT_FILL);
|
2009-08-13 15:41:43 -07:00
|
|
|
|
|
|
|
bt = elm_button_add(win);
|
2011-06-29 00:11:54 -07:00
|
|
|
elm_object_text_set(bt, "Clear");
|
2010-02-24 13:53:51 -08:00
|
|
|
evas_object_smart_callback_add(bt, "clicked", my_scrolled_entry_bt_1, en);
|
2009-09-28 12:23:33 -07:00
|
|
|
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);
|
2009-08-13 15:41:43 -07:00
|
|
|
elm_box_pack_end(bx2, bt);
|
2014-01-06 23:48:58 -08:00
|
|
|
elm_object_focus_allow_set(bt, EINA_FALSE);
|
2009-08-13 15:41:43 -07:00
|
|
|
evas_object_show(bt);
|
|
|
|
|
|
|
|
bt = elm_button_add(win);
|
2011-06-29 00:11:54 -07:00
|
|
|
elm_object_text_set(bt, "Print");
|
2010-02-24 13:53:51 -08:00
|
|
|
evas_object_smart_callback_add(bt, "clicked", my_scrolled_entry_bt_2, en);
|
2009-09-28 12:23:33 -07:00
|
|
|
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);
|
2009-08-13 15:41:43 -07:00
|
|
|
elm_box_pack_end(bx2, bt);
|
2014-01-06 23:48:58 -08:00
|
|
|
elm_object_focus_allow_set(bt, EINA_FALSE);
|
2009-08-13 15:41:43 -07:00
|
|
|
evas_object_show(bt);
|
|
|
|
|
2009-10-21 04:32:36 -07:00
|
|
|
bt = elm_button_add(win);
|
2011-06-29 00:11:54 -07:00
|
|
|
elm_object_text_set(bt, "Print pwd");
|
2010-02-24 13:53:51 -08:00
|
|
|
evas_object_smart_callback_add(bt, "clicked", my_scrolled_entry_bt_5, en_p);
|
2009-10-21 04:32:36 -07:00
|
|
|
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);
|
2014-01-06 23:48:58 -08:00
|
|
|
elm_object_focus_allow_set(bt, EINA_FALSE);
|
2009-10-21 04:32:36 -07:00
|
|
|
evas_object_show(bt);
|
|
|
|
|
2009-08-13 15:41:43 -07:00
|
|
|
bt = elm_button_add(win);
|
2011-06-29 00:11:54 -07:00
|
|
|
elm_object_text_set(bt, "Selection");
|
2010-02-24 13:53:51 -08:00
|
|
|
evas_object_smart_callback_add(bt, "clicked", my_scrolled_entry_bt_3, en);
|
2009-09-28 12:23:33 -07:00
|
|
|
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);
|
2009-08-13 15:41:43 -07:00
|
|
|
elm_box_pack_end(bx2, bt);
|
2014-01-06 23:48:58 -08:00
|
|
|
elm_object_focus_allow_set(bt, EINA_FALSE);
|
2009-08-13 15:41:43 -07:00
|
|
|
evas_object_show(bt);
|
|
|
|
|
|
|
|
bt = elm_button_add(win);
|
2011-06-29 00:11:54 -07:00
|
|
|
elm_object_text_set(bt, "Insert");
|
2010-02-24 13:53:51 -08:00
|
|
|
evas_object_smart_callback_add(bt, "clicked", my_scrolled_entry_bt_4, en);
|
2009-09-28 12:23:33 -07:00
|
|
|
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);
|
2009-08-13 15:41:43 -07:00
|
|
|
elm_box_pack_end(bx2, bt);
|
2014-01-06 23:48:58 -08:00
|
|
|
elm_object_focus_allow_set(bt, EINA_FALSE);
|
2009-08-13 15:41:43 -07:00
|
|
|
evas_object_show(bt);
|
|
|
|
|
|
|
|
elm_box_pack_end(bx, bx2);
|
|
|
|
evas_object_show(bx2);
|
|
|
|
|
2014-01-09 23:37:55 -08:00
|
|
|
bx3 = elm_box_add(win);
|
|
|
|
elm_box_horizontal_set(bx3, EINA_TRUE);
|
|
|
|
evas_object_size_hint_weight_set(bx3, EVAS_HINT_EXPAND, 0.0);
|
|
|
|
evas_object_size_hint_align_set(bx3, EVAS_HINT_FILL, EVAS_HINT_FILL);
|
|
|
|
|
|
|
|
bt = elm_button_add(win);
|
|
|
|
elm_object_text_set(bt, "End Show");
|
|
|
|
evas_object_smart_callback_add(bt, "clicked", _end_show_cb, entry);
|
|
|
|
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(bx3, bt);
|
|
|
|
elm_object_focus_allow_set(bt, 0);
|
|
|
|
evas_object_show(bt);
|
|
|
|
|
|
|
|
bt = elm_button_add(win);
|
|
|
|
elm_object_text_set(bt, "End Hide");
|
|
|
|
evas_object_smart_callback_add(bt, "clicked", _end_hide_cb, entry);
|
|
|
|
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(bx3, bt);
|
|
|
|
elm_object_focus_allow_set(bt, 0);
|
|
|
|
evas_object_show(bt);
|
|
|
|
|
|
|
|
elm_box_pack_end(bx, bx3);
|
|
|
|
evas_object_show(bx3);
|
|
|
|
|
2011-08-03 08:01:39 -07:00
|
|
|
elm_object_focus_set(win, EINA_TRUE);
|
2014-10-29 01:37:10 -07:00
|
|
|
evas_object_resize(win, 320, 500);
|
2009-08-13 15:41:43 -07:00
|
|
|
evas_object_show(win);
|
|
|
|
}
|
2010-03-09 23:58:29 -08:00
|
|
|
|
2016-07-04 01:22:11 -07:00
|
|
|
static void
|
2016-08-30 05:34:10 -07:00
|
|
|
my_pop_dismissed(void *data EINA_UNUSED, const Efl_Event *ev)
|
2016-07-04 01:22:11 -07:00
|
|
|
{
|
2016-08-10 07:23:04 -07:00
|
|
|
efl_del(ev->object);
|
2016-07-04 01:22:11 -07:00
|
|
|
}
|
|
|
|
|
2016-06-26 23:04:20 -07:00
|
|
|
static void
|
|
|
|
my_pop_close_cb(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
|
|
|
|
{
|
2016-06-27 00:40:10 -07:00
|
|
|
Evas_Object *pop, *en;
|
2016-06-26 23:04:20 -07:00
|
|
|
pop = data;
|
2016-08-10 07:23:04 -07:00
|
|
|
en = efl_parent_get(pop);
|
2016-06-26 23:04:20 -07:00
|
|
|
elm_object_text_set(en, "This is very long text,"
|
|
|
|
" it is longer than width of this page."
|
|
|
|
" So if scroller is moved to next page,"
|
|
|
|
" that is bug when you click under button"
|
|
|
|
" and then click this entry text");
|
|
|
|
elm_entry_cursor_end_set(en);
|
|
|
|
|
2016-08-10 07:23:04 -07:00
|
|
|
efl_event_callback_add(pop, ELM_POPUP_EVENT_DISMISSED, my_pop_dismissed, NULL);
|
2016-07-04 01:22:11 -07:00
|
|
|
elm_popup_dismiss(pop);
|
2016-06-26 23:04:20 -07:00
|
|
|
}
|
|
|
|
|
|
|
|
static void
|
|
|
|
my_pop_bt_clr(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
|
|
|
|
{
|
2016-07-04 01:22:11 -07:00
|
|
|
Evas_Object *pop, *btn, *en = data;
|
2016-06-26 23:04:20 -07:00
|
|
|
elm_object_text_set(en, "");
|
|
|
|
elm_entry_cursor_end_set(en);
|
|
|
|
|
2016-08-10 07:23:04 -07:00
|
|
|
pop = elm_popup_add(efl_key_data_get(en, "win"));
|
|
|
|
efl_parent_set(pop, en);
|
2016-06-26 23:04:20 -07:00
|
|
|
elm_object_text_set(pop, "If you click confirm, "
|
|
|
|
"set long text to entry "
|
|
|
|
"and delete popup obj");
|
|
|
|
|
|
|
|
btn = elm_button_add(pop);
|
|
|
|
elm_object_text_set(btn, "Confirm");
|
|
|
|
evas_object_smart_callback_add(btn, "clicked", my_pop_close_cb, pop);
|
|
|
|
elm_object_part_content_set(pop, "button1", btn);
|
|
|
|
|
|
|
|
evas_object_show(btn);
|
|
|
|
evas_object_show(pop);
|
|
|
|
}
|
|
|
|
|
Elm entry: fix returning wrong focus region
Summary:
In on_focus_region function,
entry returns relative x,y position from edje object.
It should be calculated from elm object's position.
@fix
Test Plan:
1. $elementary_test "Entry on Page Scroll"
2. click under button
3. click upper text in entry
4. page should not be scrolled
Reviewers: tasn, cedric, woohyun, Hermet, herdsman, raster
Subscribers: Blackmole, id213sin, cedric, jpeg
Differential Revision: https://phab.enlightenment.org/D3923
2016-05-26 01:19:34 -07:00
|
|
|
static void
|
|
|
|
my_en_bt_clr(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
|
|
|
|
{
|
|
|
|
Evas_Object *en = data;
|
|
|
|
elm_entry_cursor_end_set(en);
|
|
|
|
}
|
|
|
|
|
|
|
|
void
|
|
|
|
test_entry_on_page_scroll(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
|
|
|
|
{
|
|
|
|
Evas_Object *win, *sc, *bx, *ly, *rect, *en, *btn, *lb;
|
|
|
|
char buf[PATH_MAX];
|
|
|
|
|
|
|
|
win = elm_win_util_standard_add("entry-on-page-scroll", "Entry on Page Scroll");
|
|
|
|
elm_win_autodel_set(win, EINA_TRUE);
|
|
|
|
|
|
|
|
sc = elm_scroller_add(win);
|
|
|
|
evas_object_size_hint_weight_set(sc, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
|
|
|
|
elm_scroller_page_relative_set(sc, 1.0, 0.0);
|
|
|
|
elm_scroller_policy_set(sc, ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_OFF);
|
|
|
|
elm_scroller_page_scroll_limit_set(sc, 1, 0);
|
|
|
|
elm_win_resize_object_add(win, sc);
|
|
|
|
evas_object_show(sc);
|
|
|
|
|
|
|
|
bx = elm_box_add(sc);
|
|
|
|
elm_box_horizontal_set(bx, EINA_TRUE);
|
|
|
|
elm_object_content_set(sc, bx);
|
|
|
|
evas_object_show(bx);
|
|
|
|
|
|
|
|
ly = elm_layout_add(bx);
|
|
|
|
snprintf(buf, sizeof(buf), "%s/objects/test.edj", elm_app_data_dir_get());
|
|
|
|
elm_layout_file_set(ly, buf, "page_layout");
|
|
|
|
rect = evas_object_rectangle_add(evas_object_evas_get(ly));
|
|
|
|
evas_object_color_set(rect, 50, 0, 0, 50);
|
|
|
|
elm_object_part_content_set(ly, "page", rect);
|
|
|
|
|
|
|
|
en = elm_entry_add(ly);
|
|
|
|
elm_object_part_text_set(en, "guide", "Entry area");
|
2016-06-26 23:04:20 -07:00
|
|
|
elm_object_text_set(en, "This is very long text,"
|
|
|
|
" it is longer than width of this page."
|
|
|
|
" So if scroller is moved to next page,"
|
|
|
|
" that is bug when you click under button"
|
|
|
|
" and then click this entry text");
|
Elm entry: fix returning wrong focus region
Summary:
In on_focus_region function,
entry returns relative x,y position from edje object.
It should be calculated from elm object's position.
@fix
Test Plan:
1. $elementary_test "Entry on Page Scroll"
2. click under button
3. click upper text in entry
4. page should not be scrolled
Reviewers: tasn, cedric, woohyun, Hermet, herdsman, raster
Subscribers: Blackmole, id213sin, cedric, jpeg
Differential Revision: https://phab.enlightenment.org/D3923
2016-05-26 01:19:34 -07:00
|
|
|
elm_object_part_content_set(ly, "element1", en);
|
|
|
|
elm_entry_scrollable_set(en, EINA_TRUE);
|
|
|
|
elm_entry_single_line_set(en, EINA_TRUE);
|
2016-08-10 07:23:04 -07:00
|
|
|
efl_key_data_set(en, "win", win); // no ref
|
Elm entry: fix returning wrong focus region
Summary:
In on_focus_region function,
entry returns relative x,y position from edje object.
It should be calculated from elm object's position.
@fix
Test Plan:
1. $elementary_test "Entry on Page Scroll"
2. click under button
3. click upper text in entry
4. page should not be scrolled
Reviewers: tasn, cedric, woohyun, Hermet, herdsman, raster
Subscribers: Blackmole, id213sin, cedric, jpeg
Differential Revision: https://phab.enlightenment.org/D3923
2016-05-26 01:19:34 -07:00
|
|
|
evas_object_show(en);
|
|
|
|
|
|
|
|
btn = elm_button_add(ly);
|
|
|
|
elm_object_text_set(btn, "Click this and then click entry");
|
|
|
|
elm_object_part_content_set(ly, "element2", btn);
|
|
|
|
evas_object_smart_callback_add(btn, "clicked", my_en_bt_clr, en);
|
|
|
|
evas_object_show(btn);
|
|
|
|
elm_object_focus_set(btn, EINA_TRUE);
|
|
|
|
|
2016-06-26 23:04:20 -07:00
|
|
|
btn = elm_button_add(ly);
|
|
|
|
elm_object_text_set(btn, "Click this and close popup");
|
|
|
|
elm_object_part_content_set(ly, "element3", btn);
|
|
|
|
evas_object_smart_callback_add(btn, "clicked", my_pop_bt_clr, en);
|
|
|
|
evas_object_show(btn);
|
|
|
|
elm_object_focus_set(btn, EINA_TRUE);
|
|
|
|
|
Elm entry: fix returning wrong focus region
Summary:
In on_focus_region function,
entry returns relative x,y position from edje object.
It should be calculated from elm object's position.
@fix
Test Plan:
1. $elementary_test "Entry on Page Scroll"
2. click under button
3. click upper text in entry
4. page should not be scrolled
Reviewers: tasn, cedric, woohyun, Hermet, herdsman, raster
Subscribers: Blackmole, id213sin, cedric, jpeg
Differential Revision: https://phab.enlightenment.org/D3923
2016-05-26 01:19:34 -07:00
|
|
|
elm_object_part_text_set(ly, "text", "Page1");
|
|
|
|
elm_box_pack_end(bx, ly);
|
|
|
|
evas_object_show(ly);
|
|
|
|
|
|
|
|
ly = elm_layout_add(bx);
|
|
|
|
snprintf(buf, sizeof(buf), "%s/objects/test.edj", elm_app_data_dir_get());
|
|
|
|
elm_layout_file_set(ly, buf, "page_layout");
|
|
|
|
rect = evas_object_rectangle_add(evas_object_evas_get(ly));
|
|
|
|
evas_object_color_set(rect, 0, 50, 0, 50);
|
|
|
|
elm_object_part_content_set(ly, "page", rect);
|
|
|
|
elm_object_part_text_set(ly, "text", "Page2");
|
|
|
|
|
|
|
|
lb = elm_label_add(ly);
|
|
|
|
elm_object_text_set(lb, "It should be shown by user's scroll");
|
|
|
|
elm_object_part_content_set(ly, "element2", lb);
|
|
|
|
evas_object_show(lb);
|
|
|
|
|
|
|
|
elm_box_pack_end(bx, ly);
|
|
|
|
evas_object_show(ly);
|
|
|
|
|
|
|
|
evas_object_resize(win, 400, 550);
|
|
|
|
evas_object_show(win);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
2010-03-09 23:58:29 -08:00
|
|
|
static void
|
2013-08-31 18:18:03 -07:00
|
|
|
my_ent_bt_clr(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
|
2010-03-09 23:58:29 -08:00
|
|
|
{
|
|
|
|
Evas_Object *en = data;
|
2011-12-30 02:02:19 -08:00
|
|
|
elm_object_text_set(en, "");
|
2010-03-09 23:58:29 -08:00
|
|
|
}
|
|
|
|
|
|
|
|
static void
|
2013-08-31 18:18:03 -07:00
|
|
|
my_ent_bt_pri(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
|
2010-03-09 23:58:29 -08:00
|
|
|
{
|
|
|
|
Evas_Object *en = data;
|
2011-12-30 02:02:19 -08:00
|
|
|
const char *s = elm_object_text_get(en);
|
2010-03-09 23:58:29 -08:00
|
|
|
printf("ENTRY:\n");
|
|
|
|
if (s) printf("%s\n", s);
|
2010-03-21 22:52:05 -07:00
|
|
|
printf("ENTRY PLAIN UTF8:\n");
|
|
|
|
if (s)
|
|
|
|
{
|
|
|
|
s = elm_entry_markup_to_utf8(s);
|
|
|
|
if (s)
|
|
|
|
{
|
|
|
|
printf("%s\n", s);
|
|
|
|
free((char *)s);
|
|
|
|
}
|
|
|
|
}
|
2010-03-09 23:58:29 -08:00
|
|
|
}
|
|
|
|
|
|
|
|
static void
|
2013-08-31 18:18:03 -07:00
|
|
|
my_ent_bt_sel(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
|
2010-03-09 23:58:29 -08:00
|
|
|
{
|
|
|
|
Evas_Object *en = data;
|
2011-06-17 02:44:31 -07:00
|
|
|
const char *s = elm_entry_selection_get(en);
|
2016-02-12 03:18:05 -08:00
|
|
|
int start = 0, end = 0;
|
|
|
|
elm_entry_select_region_get(en, &start, &end);
|
|
|
|
printf("SELECTION REGION: %d - %d\n", start, end);
|
2010-03-09 23:58:29 -08:00
|
|
|
printf("SELECTION:\n");
|
|
|
|
if (s) printf("%s\n", s);
|
2010-03-21 22:52:05 -07:00
|
|
|
printf("SELECTION PLAIN UTF8:\n");
|
|
|
|
if (s)
|
|
|
|
{
|
|
|
|
s = elm_entry_markup_to_utf8(s);
|
|
|
|
if (s)
|
|
|
|
{
|
|
|
|
printf("%s\n", s);
|
|
|
|
free((char *)s);
|
|
|
|
}
|
|
|
|
}
|
2010-03-09 23:58:29 -08:00
|
|
|
}
|
|
|
|
|
|
|
|
static void
|
2013-08-31 18:18:03 -07:00
|
|
|
my_ent_bt_all(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
|
2010-03-09 23:58:29 -08:00
|
|
|
{
|
|
|
|
Evas_Object *en = data;
|
2011-06-17 02:44:31 -07:00
|
|
|
elm_entry_select_all(en);
|
2010-03-09 23:58:29 -08:00
|
|
|
}
|
|
|
|
|
|
|
|
static void
|
2013-08-31 18:18:03 -07:00
|
|
|
my_ent_bt_non(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
|
2010-03-09 23:58:29 -08:00
|
|
|
{
|
|
|
|
Evas_Object *en = data;
|
2011-06-17 02:44:31 -07:00
|
|
|
elm_entry_select_none(en);
|
2010-03-09 23:58:29 -08:00
|
|
|
}
|
|
|
|
|
2014-02-05 02:16:13 -08:00
|
|
|
static void
|
|
|
|
my_ent_bt_region(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
|
|
|
|
{
|
|
|
|
Evas_Object *en = data;
|
|
|
|
elm_entry_select_region_set(en, 10, 16);
|
|
|
|
}
|
|
|
|
|
2010-03-09 23:58:29 -08:00
|
|
|
static void
|
2013-08-31 18:18:03 -07:00
|
|
|
my_ent_bt_ins(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
|
2010-03-09 23:58:29 -08:00
|
|
|
{
|
|
|
|
Evas_Object *en = data;
|
2011-06-17 02:44:31 -07:00
|
|
|
elm_entry_entry_insert(en, "Insert text");
|
2010-03-09 23:58:29 -08:00
|
|
|
}
|
|
|
|
|
|
|
|
static void
|
2013-08-31 18:18:03 -07:00
|
|
|
my_ent_bt_lef(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
|
2010-03-09 23:58:29 -08:00
|
|
|
{
|
|
|
|
Evas_Object *en = data;
|
2011-06-17 02:44:31 -07:00
|
|
|
elm_entry_cursor_prev(en);
|
2010-03-09 23:58:29 -08:00
|
|
|
}
|
|
|
|
|
|
|
|
static void
|
2013-08-31 18:18:03 -07:00
|
|
|
my_ent_bt_rig(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
|
2010-03-09 23:58:29 -08:00
|
|
|
{
|
|
|
|
Evas_Object *en = data;
|
2011-06-17 02:44:31 -07:00
|
|
|
elm_entry_cursor_next(en);
|
2010-03-09 23:58:29 -08:00
|
|
|
}
|
|
|
|
|
|
|
|
static void
|
2013-08-31 18:18:03 -07:00
|
|
|
my_ent_bt_up_(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
|
2010-03-09 23:58:29 -08:00
|
|
|
{
|
|
|
|
Evas_Object *en = data;
|
2011-06-17 02:44:31 -07:00
|
|
|
elm_entry_cursor_up(en);
|
2010-03-09 23:58:29 -08:00
|
|
|
}
|
|
|
|
|
|
|
|
static void
|
2013-08-31 18:18:03 -07:00
|
|
|
my_ent_bt_dow(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
|
2010-03-09 23:58:29 -08:00
|
|
|
{
|
|
|
|
Evas_Object *en = data;
|
2011-06-17 02:44:31 -07:00
|
|
|
elm_entry_cursor_down(en);
|
2010-03-09 23:58:29 -08:00
|
|
|
}
|
|
|
|
|
|
|
|
static void
|
2013-08-31 18:18:03 -07:00
|
|
|
my_ent_bt_beg(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
|
2010-03-09 23:58:29 -08:00
|
|
|
{
|
|
|
|
Evas_Object *en = data;
|
2011-06-17 02:44:31 -07:00
|
|
|
elm_entry_cursor_begin_set(en);
|
2010-03-09 23:58:29 -08:00
|
|
|
}
|
|
|
|
|
|
|
|
static void
|
2013-08-31 18:18:03 -07:00
|
|
|
my_ent_bt_end(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
|
2010-03-09 23:58:29 -08:00
|
|
|
{
|
|
|
|
Evas_Object *en = data;
|
2011-06-17 02:44:31 -07:00
|
|
|
elm_entry_cursor_end_set(en);
|
2010-03-09 23:58:29 -08:00
|
|
|
}
|
|
|
|
|
|
|
|
static void
|
2013-08-31 18:18:03 -07:00
|
|
|
my_ent_bt_lbe(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
|
2010-03-09 23:58:29 -08:00
|
|
|
{
|
|
|
|
Evas_Object *en = data;
|
2011-06-17 02:44:31 -07:00
|
|
|
elm_entry_cursor_line_begin_set(en);
|
2010-03-09 23:58:29 -08:00
|
|
|
}
|
|
|
|
|
|
|
|
static void
|
2013-08-31 18:18:03 -07:00
|
|
|
my_ent_bt_len(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
|
2010-03-09 23:58:29 -08:00
|
|
|
{
|
|
|
|
Evas_Object *en = data;
|
2011-06-17 02:44:31 -07:00
|
|
|
elm_entry_cursor_line_end_set(en);
|
2010-03-09 23:58:29 -08:00
|
|
|
}
|
|
|
|
|
|
|
|
static void
|
2013-08-31 18:18:03 -07:00
|
|
|
my_ent_bt_sbe(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
|
2010-03-09 23:58:29 -08:00
|
|
|
{
|
|
|
|
Evas_Object *en = data;
|
2011-06-17 02:44:31 -07:00
|
|
|
elm_entry_cursor_selection_begin(en);
|
2010-03-09 23:58:29 -08:00
|
|
|
}
|
|
|
|
|
|
|
|
static void
|
2013-08-31 18:18:03 -07:00
|
|
|
my_ent_bt_sen(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
|
2010-03-09 23:58:29 -08:00
|
|
|
{
|
|
|
|
Evas_Object *en = data;
|
2011-06-17 02:44:31 -07:00
|
|
|
elm_entry_cursor_selection_end(en);
|
2010-03-09 23:58:29 -08:00
|
|
|
}
|
|
|
|
|
|
|
|
static void
|
2013-08-31 18:18:03 -07:00
|
|
|
my_ent_bt_fmt(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
|
2010-03-09 23:58:29 -08:00
|
|
|
{
|
|
|
|
Evas_Object *en = data;
|
2011-04-08 07:30:48 -07:00
|
|
|
printf("IS FORMAT: %i\n",
|
2011-06-17 02:44:31 -07:00
|
|
|
(int)elm_entry_cursor_is_format_get(en));
|
2010-03-09 23:58:29 -08:00
|
|
|
}
|
|
|
|
|
|
|
|
static void
|
2013-08-31 18:18:03 -07:00
|
|
|
my_ent_bt_vfm(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
|
2010-03-09 23:58:29 -08:00
|
|
|
{
|
|
|
|
Evas_Object *en = data;
|
|
|
|
printf("IS VISIBLE FORMAT %i\n",
|
2011-06-17 02:44:31 -07:00
|
|
|
(int)elm_entry_cursor_is_visible_format_get(en));
|
2010-03-09 23:58:29 -08:00
|
|
|
}
|
|
|
|
|
|
|
|
static void
|
2013-08-31 18:18:03 -07:00
|
|
|
my_ent_bt_chr(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
|
2010-03-09 23:58:29 -08:00
|
|
|
{
|
|
|
|
Evas_Object *en = data;
|
2011-06-17 02:44:31 -07:00
|
|
|
printf("CHAR '%s'\n", elm_entry_cursor_content_get(en));
|
2010-03-09 23:58:29 -08:00
|
|
|
}
|
|
|
|
|
|
|
|
static void
|
2013-08-31 18:18:03 -07:00
|
|
|
my_ent_bt_cut(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
|
2010-03-09 23:58:29 -08:00
|
|
|
{
|
|
|
|
Evas_Object *en = data;
|
2011-06-17 02:44:31 -07:00
|
|
|
elm_entry_selection_cut(en);
|
2010-03-09 23:58:29 -08:00
|
|
|
}
|
|
|
|
|
|
|
|
static void
|
2013-08-31 18:18:03 -07:00
|
|
|
my_ent_bt_cop(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
|
2010-03-09 23:58:29 -08:00
|
|
|
{
|
|
|
|
Evas_Object *en = data;
|
2011-06-17 02:44:31 -07:00
|
|
|
elm_entry_selection_copy(en);
|
2010-03-09 23:58:29 -08:00
|
|
|
}
|
|
|
|
|
|
|
|
static void
|
2013-08-31 18:18:03 -07:00
|
|
|
my_ent_bt_pas(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
|
2010-03-09 23:58:29 -08:00
|
|
|
{
|
|
|
|
Evas_Object *en = data;
|
2011-06-17 02:44:31 -07:00
|
|
|
elm_entry_selection_paste(en);
|
2010-03-09 23:58:29 -08:00
|
|
|
}
|
|
|
|
|
2014-02-09 05:46:27 -08:00
|
|
|
static char *user_style =
|
|
|
|
"DEFAULT='font_size=16 color=#F00'"
|
|
|
|
"em='+ backing=on backing_color=#FFF'"
|
|
|
|
"grn='+ color=#0F0'"
|
|
|
|
"ul='+ underline=on underline_color=#AAA'";
|
|
|
|
|
2012-05-30 05:18:48 -07:00
|
|
|
static void
|
2013-08-31 18:18:03 -07:00
|
|
|
ent_bt_style_user_peek(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
|
2012-05-30 05:18:48 -07:00
|
|
|
{
|
2012-05-30 16:59:08 -07:00
|
|
|
Evas_Object *en = data;
|
|
|
|
const char* cur_style = elm_entry_text_style_user_peek(en);
|
|
|
|
if (cur_style)
|
|
|
|
printf("Current style user: %s\n", cur_style);
|
|
|
|
else
|
|
|
|
printf("Style user stack is empty.\n");
|
2012-05-30 05:18:48 -07:00
|
|
|
}
|
|
|
|
|
|
|
|
static void
|
2013-08-31 18:18:03 -07:00
|
|
|
ent_bt_style_user_pop(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
|
2012-05-30 05:18:48 -07:00
|
|
|
{
|
2012-05-30 16:59:08 -07:00
|
|
|
Evas_Object *en = data;
|
|
|
|
elm_entry_text_style_user_pop(en);
|
|
|
|
printf("Style user popped\n");
|
2012-05-30 05:18:48 -07:00
|
|
|
}
|
|
|
|
|
2014-02-09 05:46:27 -08:00
|
|
|
static void
|
|
|
|
ent_bt_style_user_push(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
|
|
|
|
{
|
|
|
|
Evas_Object *en = data;
|
|
|
|
elm_entry_text_style_user_push(en, user_style);
|
|
|
|
printf("Style user pushed\n");
|
|
|
|
}
|
|
|
|
|
2012-05-30 05:18:48 -07:00
|
|
|
void
|
2013-08-31 18:18:03 -07:00
|
|
|
test_entry_style_user(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
|
2012-05-30 05:18:48 -07:00
|
|
|
{
|
2014-02-09 08:27:00 -08:00
|
|
|
Evas_Object *win, *bx, *hbx, *en, *bt, *bt2;
|
2012-05-30 05:18:48 -07:00
|
|
|
|
2014-02-09 08:27:00 -08:00
|
|
|
win = elm_win_util_standard_add("entry-user-style", "Entry User Style");
|
2012-05-30 05:18:48 -07:00
|
|
|
elm_win_autodel_set(win, EINA_TRUE);
|
|
|
|
|
|
|
|
bx = elm_box_add(win);
|
|
|
|
evas_object_size_hint_weight_set(bx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
|
|
|
|
elm_win_resize_object_add(win, bx);
|
|
|
|
evas_object_show(bx);
|
|
|
|
|
2014-02-09 08:27:00 -08:00
|
|
|
en = elm_entry_add(bx);
|
2012-05-30 05:18:48 -07:00
|
|
|
elm_entry_line_wrap_set(en, ELM_WRAP_MIXED);
|
2014-02-09 05:46:27 -08:00
|
|
|
elm_entry_text_style_user_push(en, user_style);
|
|
|
|
elm_object_text_set(en,
|
|
|
|
"Default style<br>"
|
|
|
|
"<em>Change a standard tag (backing)</em><br>"
|
|
|
|
"<grn>Create a custom tag (green)</grn><br>"
|
|
|
|
"<ul>Create a custom tag (underline)</ul><br>"
|
2014-02-14 10:53:59 -08:00
|
|
|
"<underline=double underline_color=#0F0 underline2_color=#00F>Unnamed tag (underline double)</underline><br>"
|
2014-02-09 05:46:27 -08:00
|
|
|
);
|
2012-05-30 05:18:48 -07:00
|
|
|
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_box_pack_end(bx, en);
|
|
|
|
evas_object_show(en);
|
2013-12-14 13:46:29 -08:00
|
|
|
elm_object_focus_set(en, EINA_TRUE);
|
2012-05-30 05:18:48 -07:00
|
|
|
|
2014-02-09 08:27:00 -08:00
|
|
|
hbx = elm_box_add(bx);
|
|
|
|
elm_box_horizontal_set(hbx, EINA_TRUE);
|
|
|
|
elm_box_pack_end(bx, hbx);
|
|
|
|
evas_object_show(hbx);
|
|
|
|
|
|
|
|
bt = elm_button_add(hbx);
|
2012-05-30 05:18:48 -07:00
|
|
|
elm_object_text_set(bt, "Peek");
|
|
|
|
evas_object_smart_callback_add(bt, "clicked", ent_bt_style_user_peek, en);
|
2014-02-09 08:27:00 -08:00
|
|
|
elm_box_pack_end(hbx, bt);
|
2014-01-06 23:48:58 -08:00
|
|
|
elm_object_focus_allow_set(bt, EINA_FALSE);
|
2012-05-30 05:18:48 -07:00
|
|
|
evas_object_show(bt);
|
|
|
|
|
2014-02-09 08:27:00 -08:00
|
|
|
bt2 = elm_button_add(hbx);
|
2012-05-30 05:18:48 -07:00
|
|
|
elm_object_text_set(bt2, "Pop");
|
|
|
|
evas_object_smart_callback_add(bt2, "clicked", ent_bt_style_user_pop, en);
|
2014-02-09 08:27:00 -08:00
|
|
|
elm_box_pack_end(hbx, bt2);
|
2014-02-09 05:46:27 -08:00
|
|
|
elm_object_focus_allow_set(bt2, EINA_FALSE);
|
|
|
|
evas_object_show(bt2);
|
|
|
|
|
2014-02-09 08:27:00 -08:00
|
|
|
bt2 = elm_button_add(hbx);
|
2014-02-09 05:46:27 -08:00
|
|
|
elm_object_text_set(bt2, "Push");
|
|
|
|
evas_object_smart_callback_add(bt2, "clicked", ent_bt_style_user_push, en);
|
2014-02-09 08:27:00 -08:00
|
|
|
elm_box_pack_end(hbx, bt2);
|
2014-01-06 23:48:58 -08:00
|
|
|
elm_object_focus_allow_set(bt2, EINA_FALSE);
|
2012-05-30 05:18:48 -07:00
|
|
|
evas_object_show(bt2);
|
|
|
|
|
2014-02-14 10:53:59 -08:00
|
|
|
evas_object_resize(win, 300, 300);
|
2012-05-30 05:18:48 -07:00
|
|
|
evas_object_show(win);
|
|
|
|
}
|
|
|
|
|
New textblock tags for elm entry widget.
This commit add the following new tags:
title, subtitle, bigger, big, small, smaller, code, comment,
string, number, brace, type, class, function, param, keyword,
preprocessor, line_added, line_removed, line_changed.
Tags has been unified in 3 new utility macros:
COMMON_TEXTBLOCK_TAGS, ENABLED_TEXTBLOCK_TAGS, and DISABLED_TEXTBLOCK_TAGS
to avoid repeating too much in the theme.
Also a new test is in: "Entry Style Default" that show all the new styles.
Docs will follow soon.
2014-02-08 11:09:42 -08:00
|
|
|
|
2014-03-01 07:51:59 -08:00
|
|
|
static char *default_style_text =
|
New textblock tags for elm entry widget.
This commit add the following new tags:
title, subtitle, bigger, big, small, smaller, code, comment,
string, number, brace, type, class, function, param, keyword,
preprocessor, line_added, line_removed, line_changed.
Tags has been unified in 3 new utility macros:
COMMON_TEXTBLOCK_TAGS, ENABLED_TEXTBLOCK_TAGS, and DISABLED_TEXTBLOCK_TAGS
to avoid repeating too much in the theme.
Also a new test is in: "Entry Style Default" that show all the new styles.
Docs will follow soon.
2014-02-08 11:09:42 -08:00
|
|
|
"<title>Elementary typography</title><br>"
|
|
|
|
"<ps>"
|
|
|
|
"<subtitle>Basic tags</subtitle><br>"
|
|
|
|
"Elm by default provide the <b>bold</b>, the <i>italic</i>, the "
|
|
|
|
"<hilight>hilight</hilight> and the <link>link</link> tags.<br>"
|
|
|
|
"<ps>"
|
|
|
|
"<subtitle>Font sizes</subtitle><br>"
|
|
|
|
"You can also use the <big>big</big> or <bigger>bigger</bigger> and "
|
|
|
|
"the <small>small</small> or <smaller>smaller</smaller> tags.<br>"
|
|
|
|
"<ps>"
|
|
|
|
"<subtitle>Status indicators</subtitle><br>"
|
|
|
|
"<info>info</info>, <success>success</success>, <warning>warning</warning> and <failure>failure</failure><br>"
|
|
|
|
"<ps>"
|
|
|
|
"<subtitle>Forms attributes</subtitle><br>"
|
|
|
|
"<name>Song:</name> <val>The show must go on</val><br>"
|
|
|
|
"<name>Artist:</name> <val>Queen</val><br>"
|
|
|
|
"<name>Album:</name> <val>Innuendo</val><br>"
|
|
|
|
"<ps>"
|
|
|
|
"<subtitle>Syntax highlight</subtitle><br>"
|
|
|
|
"<code>"
|
|
|
|
"<preprocessor>#include</preprocessor> <string><stdlib.h></string><br>"
|
|
|
|
"<preprocessor>#include</preprocessor> <string><Evas.h></string><br>"
|
|
|
|
"<br>"
|
|
|
|
"<preprocessor>#define</preprocessor> MESSAGE <string>\"Hello World\"</string><br>"
|
|
|
|
"<br>"
|
|
|
|
"<comment>/* Prints a message to standard output */</comment><br>"
|
|
|
|
"<type>void</type> <function>print_message</function><brace>(</brace><type>const char</type> *msg<brace>)</brace> <brace>{</brace><br>"
|
|
|
|
" printf<brace>(</brace><string>\"%s\\n\"</string>, msg<brace>)</brace>;<br>"
|
|
|
|
"<brace>}</brace><br>"
|
|
|
|
"<br>"
|
|
|
|
"<type>int</type> <function>main</function><brace>(</brace><type>int</type> argc, <type>char</type> *argv[]<brace>)</brace> <brace>{</brace><br>"
|
|
|
|
" <type>int</type> num_int = <number>123</number>;<br>"
|
|
|
|
" <type>float</type> num_float = <number>0.999</number>;<br>"
|
|
|
|
" <type>char</type> *str = <string>\"This is a string\"</string>;<br>"
|
|
|
|
" <type>Evas_Object</type> *obj = <keyword>NULL</keyword>;<br>"
|
|
|
|
" print_message<brace>(</brace>MESSAGE<brace>)</brace>;<br>"
|
|
|
|
" <keyword>return</keyword> <number>0</number>;<br>"
|
|
|
|
"<brace>}</brace><br>"
|
|
|
|
"<ps>"
|
|
|
|
"<line_added>+diff line added</line_added><br>"
|
|
|
|
"<line_removed>-diff line removed</line_removed><br>"
|
|
|
|
"<line_changed> diff line changed</line_changed><br>"
|
|
|
|
"</code>";
|
|
|
|
|
|
|
|
static void
|
|
|
|
ent_bt_def_style_disabled(void *data, Evas_Object *obj, void *event_info EINA_UNUSED)
|
|
|
|
{
|
|
|
|
Evas_Object *en = data;
|
|
|
|
elm_object_disabled_set(en, elm_check_state_get(obj));
|
|
|
|
}
|
|
|
|
|
|
|
|
static void
|
|
|
|
ent_bt_def_style_scrollable(void *data, Evas_Object *obj, void *event_info EINA_UNUSED)
|
|
|
|
{
|
|
|
|
Evas_Object *en = data;
|
|
|
|
elm_entry_scrollable_set(en, elm_check_state_get(obj));
|
|
|
|
}
|
|
|
|
|
|
|
|
static void
|
|
|
|
ent_bt_def_style_markup(void *data, Evas_Object *obj, void *event_info EINA_UNUSED)
|
|
|
|
{
|
|
|
|
Evas_Object *en = data;
|
|
|
|
|
|
|
|
if (elm_check_state_get(obj))
|
|
|
|
{
|
|
|
|
char *markup = elm_entry_utf8_to_markup(default_style_text);
|
|
|
|
elm_object_text_set(en, markup);
|
|
|
|
free(markup);
|
|
|
|
}
|
|
|
|
else
|
|
|
|
elm_object_text_set(en, default_style_text);
|
|
|
|
}
|
|
|
|
|
2015-08-08 08:08:45 -07:00
|
|
|
static void
|
|
|
|
ent_bt_def_style_wrap(void *data, Evas_Object *obj, void *event_info EINA_UNUSED)
|
|
|
|
{
|
|
|
|
Evas_Object *en = data;
|
|
|
|
|
|
|
|
if (elm_check_state_get(obj))
|
|
|
|
elm_entry_line_wrap_set(en, ELM_WRAP_NONE);
|
|
|
|
else
|
|
|
|
elm_entry_line_wrap_set(en, ELM_WRAP_WORD);
|
|
|
|
}
|
|
|
|
|
New textblock tags for elm entry widget.
This commit add the following new tags:
title, subtitle, bigger, big, small, smaller, code, comment,
string, number, brace, type, class, function, param, keyword,
preprocessor, line_added, line_removed, line_changed.
Tags has been unified in 3 new utility macros:
COMMON_TEXTBLOCK_TAGS, ENABLED_TEXTBLOCK_TAGS, and DISABLED_TEXTBLOCK_TAGS
to avoid repeating too much in the theme.
Also a new test is in: "Entry Style Default" that show all the new styles.
Docs will follow soon.
2014-02-08 11:09:42 -08:00
|
|
|
void
|
|
|
|
test_entry_style_default(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
|
|
|
|
{
|
|
|
|
Evas_Object *win, *bx, *vbx, *en, *o;
|
|
|
|
|
|
|
|
win = elm_win_util_standard_add("entry-style", "Entry Default Style");
|
|
|
|
elm_win_autodel_set(win, EINA_TRUE);
|
|
|
|
evas_object_resize(win, 400, 400);
|
|
|
|
|
|
|
|
bx = elm_box_add(win);
|
|
|
|
evas_object_size_hint_weight_set(bx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
|
|
|
|
elm_win_resize_object_add(win, bx);
|
|
|
|
evas_object_show(bx);
|
|
|
|
|
|
|
|
en = elm_entry_add(win);
|
|
|
|
evas_object_size_hint_weight_set(en, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
|
|
|
|
evas_object_size_hint_align_set(en, EVAS_HINT_FILL, EVAS_HINT_FILL);
|
|
|
|
elm_object_text_set(en, default_style_text);
|
|
|
|
elm_entry_editable_set(en, EINA_TRUE);
|
2015-08-08 08:08:45 -07:00
|
|
|
elm_entry_line_wrap_set(en, ELM_WRAP_WORD);
|
New textblock tags for elm entry widget.
This commit add the following new tags:
title, subtitle, bigger, big, small, smaller, code, comment,
string, number, brace, type, class, function, param, keyword,
preprocessor, line_added, line_removed, line_changed.
Tags has been unified in 3 new utility macros:
COMMON_TEXTBLOCK_TAGS, ENABLED_TEXTBLOCK_TAGS, and DISABLED_TEXTBLOCK_TAGS
to avoid repeating too much in the theme.
Also a new test is in: "Entry Style Default" that show all the new styles.
Docs will follow soon.
2014-02-08 11:09:42 -08:00
|
|
|
elm_box_pack_end(bx, en);
|
|
|
|
evas_object_show(en);
|
|
|
|
|
|
|
|
o = elm_separator_add(win);
|
|
|
|
elm_separator_horizontal_set(o, EINA_TRUE);
|
|
|
|
elm_box_pack_end(bx, o);
|
|
|
|
evas_object_show(o);
|
|
|
|
|
|
|
|
vbx = elm_box_add(win);
|
|
|
|
elm_box_horizontal_set(vbx, EINA_TRUE);
|
|
|
|
elm_box_pack_end(bx, vbx);
|
|
|
|
evas_object_show(vbx);
|
|
|
|
|
|
|
|
o = elm_check_add(win);
|
|
|
|
elm_object_text_set(o, "show markup");
|
|
|
|
evas_object_smart_callback_add(o, "changed", ent_bt_def_style_markup, en);
|
|
|
|
elm_box_pack_end(vbx, o);
|
|
|
|
evas_object_show(o);
|
2014-03-01 07:51:59 -08:00
|
|
|
|
New textblock tags for elm entry widget.
This commit add the following new tags:
title, subtitle, bigger, big, small, smaller, code, comment,
string, number, brace, type, class, function, param, keyword,
preprocessor, line_added, line_removed, line_changed.
Tags has been unified in 3 new utility macros:
COMMON_TEXTBLOCK_TAGS, ENABLED_TEXTBLOCK_TAGS, and DISABLED_TEXTBLOCK_TAGS
to avoid repeating too much in the theme.
Also a new test is in: "Entry Style Default" that show all the new styles.
Docs will follow soon.
2014-02-08 11:09:42 -08:00
|
|
|
o = elm_check_add(win);
|
|
|
|
elm_object_text_set(o, "disabled");
|
|
|
|
evas_object_smart_callback_add(o, "changed", ent_bt_def_style_disabled, en);
|
|
|
|
elm_box_pack_end(vbx, o);
|
|
|
|
evas_object_show(o);
|
|
|
|
|
|
|
|
o = elm_check_add(win);
|
|
|
|
elm_object_text_set(o, "scrollable");
|
|
|
|
evas_object_smart_callback_add(o, "changed", ent_bt_def_style_scrollable, en);
|
|
|
|
elm_box_pack_end(vbx, o);
|
|
|
|
evas_object_show(o);
|
|
|
|
|
2015-08-08 08:08:45 -07:00
|
|
|
o = elm_check_add(win);
|
|
|
|
elm_object_text_set(o, "no wrap");
|
|
|
|
evas_object_smart_callback_add(o, "changed", ent_bt_def_style_wrap, en);
|
|
|
|
elm_box_pack_end(vbx, o);
|
|
|
|
evas_object_show(o);
|
|
|
|
|
New textblock tags for elm entry widget.
This commit add the following new tags:
title, subtitle, bigger, big, small, smaller, code, comment,
string, number, brace, type, class, function, param, keyword,
preprocessor, line_added, line_removed, line_changed.
Tags has been unified in 3 new utility macros:
COMMON_TEXTBLOCK_TAGS, ENABLED_TEXTBLOCK_TAGS, and DISABLED_TEXTBLOCK_TAGS
to avoid repeating too much in the theme.
Also a new test is in: "Entry Style Default" that show all the new styles.
Docs will follow soon.
2014-02-08 11:09:42 -08:00
|
|
|
evas_object_show(win);
|
|
|
|
}
|
|
|
|
|
2012-12-28 04:19:20 -08:00
|
|
|
static void
|
2013-08-31 18:18:03 -07:00
|
|
|
_entry_activated_cb(void *data EINA_UNUSED, Evas_Object *obj,
|
|
|
|
void *event_info EINA_UNUSED)
|
2012-12-28 04:19:20 -08:00
|
|
|
{
|
|
|
|
printf("entry is activated: %s\n", elm_entry_entry_get(obj));
|
|
|
|
}
|
|
|
|
|
2010-03-09 23:58:29 -08:00
|
|
|
void
|
2013-08-31 18:18:03 -07:00
|
|
|
test_entry3(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
|
2010-03-09 23:58:29 -08:00
|
|
|
{
|
2012-04-01 23:20:28 -07:00
|
|
|
Evas_Object *win, *bx, *bx2, *bt, *en;
|
2010-03-09 23:58:29 -08:00
|
|
|
|
2012-04-01 23:20:28 -07:00
|
|
|
win = elm_win_util_standard_add("entry3", "Entry 3");
|
2011-07-25 07:22:19 -07:00
|
|
|
elm_win_autodel_set(win, EINA_TRUE);
|
2010-03-09 23:58:29 -08:00
|
|
|
|
|
|
|
bx = elm_box_add(win);
|
|
|
|
evas_object_size_hint_weight_set(bx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
|
|
|
|
elm_win_resize_object_add(win, bx);
|
|
|
|
evas_object_show(bx);
|
|
|
|
|
|
|
|
/* Single line selected entry */
|
2011-06-17 02:44:31 -07:00
|
|
|
en = elm_entry_add(win);
|
|
|
|
elm_entry_scrollable_set(en, EINA_TRUE);
|
2010-03-09 23:58:29 -08:00
|
|
|
evas_object_size_hint_weight_set(en, EVAS_HINT_EXPAND, 0.0);
|
|
|
|
evas_object_size_hint_align_set(en, EVAS_HINT_FILL, 0.5);
|
2012-08-30 09:45:15 -07:00
|
|
|
elm_scroller_policy_set(en, ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_OFF);
|
2011-12-30 02:02:19 -08:00
|
|
|
elm_object_text_set(en, "This is a single line");
|
2012-02-15 20:55:08 -08:00
|
|
|
elm_entry_single_line_set(en, EINA_TRUE);
|
2012-12-28 04:19:20 -08:00
|
|
|
evas_object_smart_callback_add(en, "activated", _entry_activated_cb, NULL);
|
2010-03-09 23:58:29 -08:00
|
|
|
elm_box_pack_end(bx, en);
|
2010-03-16 02:22:47 -07:00
|
|
|
evas_object_show(en);
|
2010-03-09 23:58:29 -08:00
|
|
|
|
|
|
|
bx2 = elm_box_add(win);
|
2011-04-15 04:44:05 -07:00
|
|
|
elm_box_horizontal_set(bx2, EINA_TRUE);
|
2010-03-09 23:58:29 -08:00
|
|
|
evas_object_size_hint_weight_set(bx2, EVAS_HINT_EXPAND, 0.0);
|
|
|
|
evas_object_size_hint_align_set(bx2, EVAS_HINT_FILL, EVAS_HINT_FILL);
|
|
|
|
|
|
|
|
bt = elm_button_add(win);
|
2011-06-29 00:11:54 -07:00
|
|
|
elm_object_text_set(bt, "Clr");
|
2010-03-09 23:58:29 -08:00
|
|
|
evas_object_smart_callback_add(bt, "clicked", my_ent_bt_clr, 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);
|
2014-01-06 23:48:58 -08:00
|
|
|
elm_object_focus_allow_set(bt, EINA_FALSE);
|
2010-03-09 23:58:29 -08:00
|
|
|
evas_object_show(bt);
|
|
|
|
|
|
|
|
bt = elm_button_add(win);
|
2011-06-29 00:11:54 -07:00
|
|
|
elm_object_text_set(bt, "Pri");
|
2010-03-09 23:58:29 -08:00
|
|
|
evas_object_smart_callback_add(bt, "clicked", my_ent_bt_pri, 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);
|
2014-01-06 23:48:58 -08:00
|
|
|
elm_object_focus_allow_set(bt, EINA_FALSE);
|
2010-03-09 23:58:29 -08:00
|
|
|
evas_object_show(bt);
|
|
|
|
|
|
|
|
bt = elm_button_add(win);
|
2011-06-29 00:11:54 -07:00
|
|
|
elm_object_text_set(bt, "Sel");
|
2010-03-09 23:58:29 -08:00
|
|
|
evas_object_smart_callback_add(bt, "clicked", my_ent_bt_sel, 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);
|
2014-01-06 23:48:58 -08:00
|
|
|
elm_object_focus_allow_set(bt, EINA_FALSE);
|
2010-03-09 23:58:29 -08:00
|
|
|
evas_object_show(bt);
|
|
|
|
|
|
|
|
bt = elm_button_add(win);
|
2011-06-29 00:11:54 -07:00
|
|
|
elm_object_text_set(bt, "All");
|
2010-03-09 23:58:29 -08:00
|
|
|
evas_object_smart_callback_add(bt, "clicked", my_ent_bt_all, 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);
|
2014-01-06 23:48:58 -08:00
|
|
|
elm_object_focus_allow_set(bt, EINA_FALSE);
|
2010-03-09 23:58:29 -08:00
|
|
|
evas_object_show(bt);
|
|
|
|
|
|
|
|
bt = elm_button_add(win);
|
2011-06-29 00:11:54 -07:00
|
|
|
elm_object_text_set(bt, "Non");
|
2010-03-09 23:58:29 -08:00
|
|
|
evas_object_smart_callback_add(bt, "clicked", my_ent_bt_non, 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);
|
2014-01-06 23:48:58 -08:00
|
|
|
elm_object_focus_allow_set(bt, EINA_FALSE);
|
2010-03-09 23:58:29 -08:00
|
|
|
evas_object_show(bt);
|
|
|
|
|
2014-02-05 02:16:13 -08:00
|
|
|
bt = elm_button_add(win);
|
|
|
|
elm_object_text_set(bt, "Region");
|
|
|
|
evas_object_smart_callback_add(bt, "clicked", my_ent_bt_region, 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);
|
|
|
|
elm_object_focus_allow_set(bt, EINA_FALSE);
|
|
|
|
evas_object_show(bt);
|
|
|
|
|
2010-03-09 23:58:29 -08:00
|
|
|
bt = elm_button_add(win);
|
2011-06-29 00:11:54 -07:00
|
|
|
elm_object_text_set(bt, "Ins");
|
2010-03-09 23:58:29 -08:00
|
|
|
evas_object_smart_callback_add(bt, "clicked", my_ent_bt_ins, 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);
|
2014-01-06 23:48:58 -08:00
|
|
|
elm_object_focus_allow_set(bt, EINA_FALSE);
|
2010-03-09 23:58:29 -08:00
|
|
|
evas_object_show(bt);
|
|
|
|
|
|
|
|
elm_box_pack_end(bx, bx2);
|
|
|
|
evas_object_show(bx2);
|
|
|
|
|
|
|
|
bx2 = elm_box_add(win);
|
2011-04-15 04:44:05 -07:00
|
|
|
elm_box_horizontal_set(bx2, EINA_TRUE);
|
2010-03-09 23:58:29 -08:00
|
|
|
evas_object_size_hint_weight_set(bx2, EVAS_HINT_EXPAND, 0.0);
|
|
|
|
evas_object_size_hint_align_set(bx2, EVAS_HINT_FILL, EVAS_HINT_FILL);
|
|
|
|
|
|
|
|
bt = elm_button_add(win);
|
2011-06-29 00:11:54 -07:00
|
|
|
elm_object_text_set(bt, "Lef");
|
2010-03-09 23:58:29 -08:00
|
|
|
evas_object_smart_callback_add(bt, "clicked", my_ent_bt_lef, 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);
|
2014-01-06 23:48:58 -08:00
|
|
|
elm_object_focus_allow_set(bt, EINA_FALSE);
|
2010-03-09 23:58:29 -08:00
|
|
|
evas_object_show(bt);
|
|
|
|
|
|
|
|
bt = elm_button_add(win);
|
2011-06-29 00:11:54 -07:00
|
|
|
elm_object_text_set(bt, "Rig");
|
2010-03-09 23:58:29 -08:00
|
|
|
evas_object_smart_callback_add(bt, "clicked", my_ent_bt_rig, 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);
|
2014-01-06 23:48:58 -08:00
|
|
|
elm_object_focus_allow_set(bt, EINA_FALSE);
|
2010-03-09 23:58:29 -08:00
|
|
|
evas_object_show(bt);
|
|
|
|
|
|
|
|
bt = elm_button_add(win);
|
2011-06-29 00:11:54 -07:00
|
|
|
elm_object_text_set(bt, "Up ");
|
2010-03-09 23:58:29 -08:00
|
|
|
evas_object_smart_callback_add(bt, "clicked", my_ent_bt_up_, 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);
|
2014-01-06 23:48:58 -08:00
|
|
|
elm_object_focus_allow_set(bt, EINA_FALSE);
|
2010-03-09 23:58:29 -08:00
|
|
|
evas_object_show(bt);
|
|
|
|
|
|
|
|
bt = elm_button_add(win);
|
2011-06-29 00:11:54 -07:00
|
|
|
elm_object_text_set(bt, "Dow");
|
2010-03-09 23:58:29 -08:00
|
|
|
evas_object_smart_callback_add(bt, "clicked", my_ent_bt_dow, 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);
|
2014-01-06 23:48:58 -08:00
|
|
|
elm_object_focus_allow_set(bt, EINA_FALSE);
|
2010-03-09 23:58:29 -08:00
|
|
|
evas_object_show(bt);
|
|
|
|
|
|
|
|
bt = elm_button_add(win);
|
2011-06-29 00:11:54 -07:00
|
|
|
elm_object_text_set(bt, "Beg");
|
2010-03-09 23:58:29 -08:00
|
|
|
evas_object_smart_callback_add(bt, "clicked", my_ent_bt_beg, 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);
|
2014-01-06 23:48:58 -08:00
|
|
|
elm_object_focus_allow_set(bt, EINA_FALSE);
|
2010-03-09 23:58:29 -08:00
|
|
|
evas_object_show(bt);
|
|
|
|
|
|
|
|
bt = elm_button_add(win);
|
2011-06-29 00:11:54 -07:00
|
|
|
elm_object_text_set(bt, "End");
|
2010-03-09 23:58:29 -08:00
|
|
|
evas_object_smart_callback_add(bt, "clicked", my_ent_bt_end, 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);
|
2014-01-06 23:48:58 -08:00
|
|
|
elm_object_focus_allow_set(bt, EINA_FALSE);
|
2010-03-09 23:58:29 -08:00
|
|
|
evas_object_show(bt);
|
|
|
|
|
|
|
|
elm_box_pack_end(bx, bx2);
|
|
|
|
evas_object_show(bx2);
|
|
|
|
|
|
|
|
bx2 = elm_box_add(win);
|
2011-04-15 04:44:05 -07:00
|
|
|
elm_box_horizontal_set(bx2, EINA_TRUE);
|
2010-03-09 23:58:29 -08:00
|
|
|
evas_object_size_hint_weight_set(bx2, EVAS_HINT_EXPAND, 0.0);
|
|
|
|
evas_object_size_hint_align_set(bx2, EVAS_HINT_FILL, EVAS_HINT_FILL);
|
|
|
|
|
|
|
|
bt = elm_button_add(win);
|
2011-06-29 00:11:54 -07:00
|
|
|
elm_object_text_set(bt, "LBe");
|
2010-03-09 23:58:29 -08:00
|
|
|
evas_object_smart_callback_add(bt, "clicked", my_ent_bt_lbe, 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);
|
2014-01-06 23:48:58 -08:00
|
|
|
elm_object_focus_allow_set(bt, EINA_FALSE);
|
2010-03-09 23:58:29 -08:00
|
|
|
evas_object_show(bt);
|
|
|
|
|
|
|
|
bt = elm_button_add(win);
|
2011-06-29 00:11:54 -07:00
|
|
|
elm_object_text_set(bt, "LEn");
|
2010-03-09 23:58:29 -08:00
|
|
|
evas_object_smart_callback_add(bt, "clicked", my_ent_bt_len, 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);
|
2014-01-06 23:48:58 -08:00
|
|
|
elm_object_focus_allow_set(bt, EINA_FALSE);
|
2010-03-09 23:58:29 -08:00
|
|
|
evas_object_show(bt);
|
|
|
|
|
|
|
|
bt = elm_button_add(win);
|
2011-06-29 00:11:54 -07:00
|
|
|
elm_object_text_set(bt, "SBe");
|
2010-03-09 23:58:29 -08:00
|
|
|
evas_object_smart_callback_add(bt, "clicked", my_ent_bt_sbe, 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);
|
2014-01-06 23:48:58 -08:00
|
|
|
elm_object_focus_allow_set(bt, EINA_FALSE);
|
2010-03-09 23:58:29 -08:00
|
|
|
evas_object_show(bt);
|
|
|
|
|
|
|
|
bt = elm_button_add(win);
|
2011-06-29 00:11:54 -07:00
|
|
|
elm_object_text_set(bt, "SEn");
|
2010-03-09 23:58:29 -08:00
|
|
|
evas_object_smart_callback_add(bt, "clicked", my_ent_bt_sen, 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);
|
2014-01-06 23:48:58 -08:00
|
|
|
elm_object_focus_allow_set(bt, EINA_FALSE);
|
2010-03-09 23:58:29 -08:00
|
|
|
evas_object_show(bt);
|
|
|
|
|
|
|
|
bt = elm_button_add(win);
|
2011-06-29 00:11:54 -07:00
|
|
|
elm_object_text_set(bt, "Fmt");
|
2010-03-09 23:58:29 -08:00
|
|
|
evas_object_smart_callback_add(bt, "clicked", my_ent_bt_fmt, 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);
|
2014-01-06 23:48:58 -08:00
|
|
|
elm_object_focus_allow_set(bt, EINA_FALSE);
|
2010-03-09 23:58:29 -08:00
|
|
|
evas_object_show(bt);
|
|
|
|
|
|
|
|
bt = elm_button_add(win);
|
2011-06-29 00:11:54 -07:00
|
|
|
elm_object_text_set(bt, "VFm");
|
2010-03-09 23:58:29 -08:00
|
|
|
evas_object_smart_callback_add(bt, "clicked", my_ent_bt_vfm, 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);
|
2014-01-06 23:48:58 -08:00
|
|
|
elm_object_focus_allow_set(bt, EINA_FALSE);
|
2010-03-09 23:58:29 -08:00
|
|
|
evas_object_show(bt);
|
|
|
|
|
|
|
|
elm_box_pack_end(bx, bx2);
|
|
|
|
evas_object_show(bx2);
|
|
|
|
|
|
|
|
bx2 = elm_box_add(win);
|
2011-04-15 04:44:05 -07:00
|
|
|
elm_box_horizontal_set(bx2, EINA_TRUE);
|
2010-03-09 23:58:29 -08:00
|
|
|
evas_object_size_hint_weight_set(bx2, EVAS_HINT_EXPAND, 0.0);
|
|
|
|
evas_object_size_hint_align_set(bx2, EVAS_HINT_FILL, EVAS_HINT_FILL);
|
|
|
|
|
|
|
|
bt = elm_button_add(win);
|
2011-06-29 00:11:54 -07:00
|
|
|
elm_object_text_set(bt, "Chr");
|
2010-03-09 23:58:29 -08:00
|
|
|
evas_object_smart_callback_add(bt, "clicked", my_ent_bt_chr, 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);
|
2014-01-06 23:48:58 -08:00
|
|
|
elm_object_focus_allow_set(bt, EINA_FALSE);
|
2010-03-09 23:58:29 -08:00
|
|
|
evas_object_show(bt);
|
|
|
|
|
|
|
|
bt = elm_button_add(win);
|
2011-06-29 00:11:54 -07:00
|
|
|
elm_object_text_set(bt, "Cut");
|
2010-03-09 23:58:29 -08:00
|
|
|
evas_object_smart_callback_add(bt, "clicked", my_ent_bt_cut, 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);
|
2014-01-06 23:48:58 -08:00
|
|
|
elm_object_focus_allow_set(bt, EINA_FALSE);
|
2010-03-09 23:58:29 -08:00
|
|
|
evas_object_show(bt);
|
|
|
|
|
|
|
|
bt = elm_button_add(win);
|
2011-06-29 00:11:54 -07:00
|
|
|
elm_object_text_set(bt, "Cop");
|
2010-03-09 23:58:29 -08:00
|
|
|
evas_object_smart_callback_add(bt, "clicked", my_ent_bt_cop, 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);
|
2014-01-06 23:48:58 -08:00
|
|
|
elm_object_focus_allow_set(bt, EINA_FALSE);
|
2010-03-09 23:58:29 -08:00
|
|
|
evas_object_show(bt);
|
|
|
|
|
|
|
|
bt = elm_button_add(win);
|
2011-06-29 00:11:54 -07:00
|
|
|
elm_object_text_set(bt, "Pas");
|
2010-03-09 23:58:29 -08:00
|
|
|
evas_object_smart_callback_add(bt, "clicked", my_ent_bt_pas, 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);
|
2014-01-06 23:48:58 -08:00
|
|
|
elm_object_focus_allow_set(bt, EINA_FALSE);
|
2010-03-09 23:58:29 -08:00
|
|
|
evas_object_show(bt);
|
|
|
|
|
|
|
|
elm_box_pack_end(bx, bx2);
|
|
|
|
evas_object_show(bx2);
|
|
|
|
|
2012-03-08 06:08:04 -08:00
|
|
|
/* markup entry */
|
2011-06-17 02:44:31 -07:00
|
|
|
en = elm_entry_add(win);
|
|
|
|
elm_entry_scrollable_set(en, EINA_TRUE);
|
2010-03-09 23:58:29 -08:00
|
|
|
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);
|
2011-12-30 02:02:19 -08:00
|
|
|
elm_object_text_set(en,
|
2012-03-08 06:59:38 -08:00
|
|
|
"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/>"
|
|
|
|
"<a href=X><link>links in the text</></a>, so enter text<br/>"
|
|
|
|
"in here to edit it. By them way, links are<br/>"
|
|
|
|
"called <a href=anc-02>Anchors</a> so you will need<br/>"
|
|
|
|
"to refer to them this way. At the end here is a really long "
|
|
|
|
"line to test line wrapping to see if it works. But just in "
|
|
|
|
"case this line is not long enough I will add more here to "
|
|
|
|
"really test it out, as Elementary really needs some "
|
|
|
|
"good testing to see if entry widgets work as advertised."
|
|
|
|
);
|
2010-03-09 23:58:29 -08:00
|
|
|
evas_object_smart_callback_add(en, "anchor,clicked", scrolled_anchor_test, en);
|
|
|
|
elm_box_pack_end(bx, en);
|
2010-03-16 02:22:47 -07:00
|
|
|
evas_object_show(en);
|
2011-04-08 07:30:48 -07:00
|
|
|
|
2010-03-09 23:58:29 -08:00
|
|
|
bx2 = elm_box_add(win);
|
2011-04-15 04:44:05 -07:00
|
|
|
elm_box_horizontal_set(bx2, EINA_TRUE);
|
2010-03-09 23:58:29 -08:00
|
|
|
evas_object_size_hint_weight_set(bx2, EVAS_HINT_EXPAND, 0.0);
|
|
|
|
evas_object_size_hint_align_set(bx2, EVAS_HINT_FILL, EVAS_HINT_FILL);
|
|
|
|
|
|
|
|
bt = elm_button_add(win);
|
2011-06-29 00:11:54 -07:00
|
|
|
elm_object_text_set(bt, "Clr");
|
2010-03-09 23:58:29 -08:00
|
|
|
evas_object_smart_callback_add(bt, "clicked", my_ent_bt_clr, 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);
|
2014-01-06 23:48:58 -08:00
|
|
|
elm_object_focus_allow_set(bt, EINA_FALSE);
|
2010-03-09 23:58:29 -08:00
|
|
|
evas_object_show(bt);
|
|
|
|
|
|
|
|
bt = elm_button_add(win);
|
2011-06-29 00:11:54 -07:00
|
|
|
elm_object_text_set(bt, "Pri");
|
2010-03-09 23:58:29 -08:00
|
|
|
evas_object_smart_callback_add(bt, "clicked", my_ent_bt_pri, 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);
|
2014-01-06 23:48:58 -08:00
|
|
|
elm_object_focus_allow_set(bt, EINA_FALSE);
|
2010-03-09 23:58:29 -08:00
|
|
|
evas_object_show(bt);
|
|
|
|
|
|
|
|
bt = elm_button_add(win);
|
2011-06-29 00:11:54 -07:00
|
|
|
elm_object_text_set(bt, "Sel");
|
2010-03-09 23:58:29 -08:00
|
|
|
evas_object_smart_callback_add(bt, "clicked", my_ent_bt_sel, 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);
|
2014-01-06 23:48:58 -08:00
|
|
|
elm_object_focus_allow_set(bt, EINA_FALSE);
|
2010-03-09 23:58:29 -08:00
|
|
|
evas_object_show(bt);
|
|
|
|
|
|
|
|
bt = elm_button_add(win);
|
2011-06-29 00:11:54 -07:00
|
|
|
elm_object_text_set(bt, "All");
|
2010-03-09 23:58:29 -08:00
|
|
|
evas_object_smart_callback_add(bt, "clicked", my_ent_bt_all, 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);
|
2014-01-06 23:48:58 -08:00
|
|
|
elm_object_focus_allow_set(bt, EINA_FALSE);
|
2010-03-09 23:58:29 -08:00
|
|
|
evas_object_show(bt);
|
|
|
|
|
|
|
|
bt = elm_button_add(win);
|
2011-06-29 00:11:54 -07:00
|
|
|
elm_object_text_set(bt, "Non");
|
2010-03-09 23:58:29 -08:00
|
|
|
evas_object_smart_callback_add(bt, "clicked", my_ent_bt_non, 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);
|
2014-01-06 23:48:58 -08:00
|
|
|
elm_object_focus_allow_set(bt, EINA_FALSE);
|
2010-03-09 23:58:29 -08:00
|
|
|
evas_object_show(bt);
|
|
|
|
|
|
|
|
bt = elm_button_add(win);
|
2011-06-29 00:11:54 -07:00
|
|
|
elm_object_text_set(bt, "Ins");
|
2010-03-09 23:58:29 -08:00
|
|
|
evas_object_smart_callback_add(bt, "clicked", my_ent_bt_ins, 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);
|
2014-01-06 23:48:58 -08:00
|
|
|
elm_object_focus_allow_set(bt, EINA_FALSE);
|
2010-03-09 23:58:29 -08:00
|
|
|
evas_object_show(bt);
|
|
|
|
|
|
|
|
elm_box_pack_end(bx, bx2);
|
|
|
|
evas_object_show(bx2);
|
|
|
|
|
|
|
|
bx2 = elm_box_add(win);
|
2011-04-15 04:44:05 -07:00
|
|
|
elm_box_horizontal_set(bx2, EINA_TRUE);
|
2010-03-09 23:58:29 -08:00
|
|
|
evas_object_size_hint_weight_set(bx2, EVAS_HINT_EXPAND, 0.0);
|
|
|
|
evas_object_size_hint_align_set(bx2, EVAS_HINT_FILL, EVAS_HINT_FILL);
|
|
|
|
|
|
|
|
bt = elm_button_add(win);
|
2011-06-29 00:11:54 -07:00
|
|
|
elm_object_text_set(bt, "Lef");
|
2010-03-09 23:58:29 -08:00
|
|
|
evas_object_smart_callback_add(bt, "clicked", my_ent_bt_lef, 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);
|
2014-01-06 23:48:58 -08:00
|
|
|
elm_object_focus_allow_set(bt, EINA_FALSE);
|
2010-03-09 23:58:29 -08:00
|
|
|
evas_object_show(bt);
|
|
|
|
|
|
|
|
bt = elm_button_add(win);
|
2011-06-29 00:11:54 -07:00
|
|
|
elm_object_text_set(bt, "Rig");
|
2010-03-09 23:58:29 -08:00
|
|
|
evas_object_smart_callback_add(bt, "clicked", my_ent_bt_rig, 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);
|
2014-01-06 23:48:58 -08:00
|
|
|
elm_object_focus_allow_set(bt, EINA_FALSE);
|
2010-03-09 23:58:29 -08:00
|
|
|
evas_object_show(bt);
|
|
|
|
|
|
|
|
bt = elm_button_add(win);
|
2011-06-29 00:11:54 -07:00
|
|
|
elm_object_text_set(bt, "Up ");
|
2010-03-09 23:58:29 -08:00
|
|
|
evas_object_smart_callback_add(bt, "clicked", my_ent_bt_up_, 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);
|
2014-01-06 23:48:58 -08:00
|
|
|
elm_object_focus_allow_set(bt, EINA_FALSE);
|
2010-03-09 23:58:29 -08:00
|
|
|
evas_object_show(bt);
|
|
|
|
|
|
|
|
bt = elm_button_add(win);
|
2011-06-29 00:11:54 -07:00
|
|
|
elm_object_text_set(bt, "Dow");
|
2010-03-09 23:58:29 -08:00
|
|
|
evas_object_smart_callback_add(bt, "clicked", my_ent_bt_dow, 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);
|
2014-01-06 23:48:58 -08:00
|
|
|
elm_object_focus_allow_set(bt, EINA_FALSE);
|
2010-03-09 23:58:29 -08:00
|
|
|
evas_object_show(bt);
|
|
|
|
|
|
|
|
bt = elm_button_add(win);
|
2011-06-29 00:11:54 -07:00
|
|
|
elm_object_text_set(bt, "Beg");
|
2010-03-09 23:58:29 -08:00
|
|
|
evas_object_smart_callback_add(bt, "clicked", my_ent_bt_beg, 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);
|
2014-01-06 23:48:58 -08:00
|
|
|
elm_object_focus_allow_set(bt, EINA_FALSE);
|
2010-03-09 23:58:29 -08:00
|
|
|
evas_object_show(bt);
|
|
|
|
|
|
|
|
bt = elm_button_add(win);
|
2011-06-29 00:11:54 -07:00
|
|
|
elm_object_text_set(bt, "LEn");
|
2010-03-09 23:58:29 -08:00
|
|
|
evas_object_smart_callback_add(bt, "clicked", my_ent_bt_len, 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);
|
2014-01-06 23:48:58 -08:00
|
|
|
elm_object_focus_allow_set(bt, EINA_FALSE);
|
2010-03-09 23:58:29 -08:00
|
|
|
evas_object_show(bt);
|
|
|
|
|
|
|
|
bt = elm_button_add(win);
|
2011-06-29 00:11:54 -07:00
|
|
|
elm_object_text_set(bt, "SBe");
|
2010-03-09 23:58:29 -08:00
|
|
|
evas_object_smart_callback_add(bt, "clicked", my_ent_bt_sbe, 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);
|
2014-01-06 23:48:58 -08:00
|
|
|
elm_object_focus_allow_set(bt, EINA_FALSE);
|
2010-03-09 23:58:29 -08:00
|
|
|
evas_object_show(bt);
|
|
|
|
|
|
|
|
bt = elm_button_add(win);
|
2011-06-29 00:11:54 -07:00
|
|
|
elm_object_text_set(bt, "SEn");
|
2010-03-09 23:58:29 -08:00
|
|
|
evas_object_smart_callback_add(bt, "clicked", my_ent_bt_sen, 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);
|
2014-01-06 23:48:58 -08:00
|
|
|
elm_object_focus_allow_set(bt, EINA_FALSE);
|
2010-03-09 23:58:29 -08:00
|
|
|
evas_object_show(bt);
|
|
|
|
|
|
|
|
bt = elm_button_add(win);
|
2011-06-29 00:11:54 -07:00
|
|
|
elm_object_text_set(bt, "Fmt");
|
2010-03-09 23:58:29 -08:00
|
|
|
evas_object_smart_callback_add(bt, "clicked", my_ent_bt_fmt, 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);
|
2014-01-06 23:48:58 -08:00
|
|
|
elm_object_focus_allow_set(bt, EINA_FALSE);
|
2010-03-09 23:58:29 -08:00
|
|
|
evas_object_show(bt);
|
|
|
|
|
|
|
|
bt = elm_button_add(win);
|
2011-06-29 00:11:54 -07:00
|
|
|
elm_object_text_set(bt, "VFm");
|
2010-03-09 23:58:29 -08:00
|
|
|
evas_object_smart_callback_add(bt, "clicked", my_ent_bt_vfm, 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);
|
2014-01-06 23:48:58 -08:00
|
|
|
elm_object_focus_allow_set(bt, EINA_FALSE);
|
2010-03-09 23:58:29 -08:00
|
|
|
evas_object_show(bt);
|
|
|
|
|
|
|
|
elm_box_pack_end(bx, bx2);
|
|
|
|
evas_object_show(bx2);
|
|
|
|
|
|
|
|
bx2 = elm_box_add(win);
|
2011-04-15 04:44:05 -07:00
|
|
|
elm_box_horizontal_set(bx2, EINA_TRUE);
|
2010-03-09 23:58:29 -08:00
|
|
|
evas_object_size_hint_weight_set(bx2, EVAS_HINT_EXPAND, 0.0);
|
|
|
|
evas_object_size_hint_align_set(bx2, EVAS_HINT_FILL, EVAS_HINT_FILL);
|
|
|
|
|
|
|
|
bt = elm_button_add(win);
|
2011-06-29 00:11:54 -07:00
|
|
|
elm_object_text_set(bt, "Chr");
|
2010-03-09 23:58:29 -08:00
|
|
|
evas_object_smart_callback_add(bt, "clicked", my_ent_bt_chr, 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);
|
2014-01-06 23:48:58 -08:00
|
|
|
elm_object_focus_allow_set(bt, EINA_FALSE);
|
2010-03-09 23:58:29 -08:00
|
|
|
evas_object_show(bt);
|
|
|
|
|
|
|
|
bt = elm_button_add(win);
|
2011-06-29 00:11:54 -07:00
|
|
|
elm_object_text_set(bt, "Cut");
|
2010-03-09 23:58:29 -08:00
|
|
|
evas_object_smart_callback_add(bt, "clicked", my_ent_bt_cut, 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);
|
2014-01-06 23:48:58 -08:00
|
|
|
elm_object_focus_allow_set(bt, EINA_FALSE);
|
2010-03-09 23:58:29 -08:00
|
|
|
evas_object_show(bt);
|
|
|
|
|
|
|
|
bt = elm_button_add(win);
|
2011-06-29 00:11:54 -07:00
|
|
|
elm_object_text_set(bt, "Cop");
|
2010-03-09 23:58:29 -08:00
|
|
|
evas_object_smart_callback_add(bt, "clicked", my_ent_bt_cop, 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);
|
2014-01-06 23:48:58 -08:00
|
|
|
elm_object_focus_allow_set(bt, EINA_FALSE);
|
2010-03-09 23:58:29 -08:00
|
|
|
evas_object_show(bt);
|
|
|
|
|
|
|
|
bt = elm_button_add(win);
|
2011-06-29 00:11:54 -07:00
|
|
|
elm_object_text_set(bt, "Pas");
|
2010-03-09 23:58:29 -08:00
|
|
|
evas_object_smart_callback_add(bt, "clicked", my_ent_bt_pas, 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);
|
2011-04-08 07:30:48 -07:00
|
|
|
elm_box_pack_end(bx2, bt);
|
2014-01-06 23:48:58 -08:00
|
|
|
elm_object_focus_allow_set(bt, EINA_FALSE);
|
2010-03-09 23:58:29 -08:00
|
|
|
evas_object_show(bt);
|
|
|
|
|
|
|
|
elm_box_pack_end(bx, bx2);
|
|
|
|
evas_object_show(bx2);
|
|
|
|
|
|
|
|
evas_object_resize(win, 320, 480);
|
|
|
|
|
2011-08-03 08:01:39 -07:00
|
|
|
elm_object_focus_set(win, EINA_TRUE);
|
2010-03-09 23:58:29 -08:00
|
|
|
evas_object_show(win);
|
|
|
|
}
|
2010-03-14 00:21:22 -08:00
|
|
|
|
2010-03-16 02:22:47 -07:00
|
|
|
void
|
2013-08-31 18:18:03 -07:00
|
|
|
test_entry4(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
|
2010-03-16 02:22:47 -07:00
|
|
|
{
|
2012-04-01 23:20:28 -07:00
|
|
|
Evas_Object *win, *ly, *en;
|
2010-03-16 02:22:47 -07:00
|
|
|
char buf[PATH_MAX];
|
2011-04-08 07:30:48 -07:00
|
|
|
|
2012-04-01 23:20:28 -07:00
|
|
|
win = elm_win_util_standard_add("entry4", "Entry 4");
|
2011-07-25 07:22:19 -07:00
|
|
|
elm_win_autodel_set(win, EINA_TRUE);
|
2010-03-16 02:22:47 -07:00
|
|
|
|
|
|
|
ly = elm_layout_add(win);
|
2011-08-25 03:01:59 -07:00
|
|
|
snprintf(buf, sizeof(buf), "%s/objects/test.edj", elm_app_data_dir_get());
|
2010-03-16 02:22:47 -07:00
|
|
|
elm_layout_file_set(ly, buf, "layout");
|
|
|
|
evas_object_size_hint_weight_set(ly, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
|
|
|
|
elm_win_resize_object_add(win, ly);
|
|
|
|
evas_object_show(ly);
|
2011-04-08 07:30:48 -07:00
|
|
|
|
2011-06-17 02:44:31 -07:00
|
|
|
en = elm_entry_add(win);
|
|
|
|
elm_entry_scrollable_set(en, EINA_TRUE);
|
2010-03-16 02:22:47 -07:00
|
|
|
evas_object_size_hint_weight_set(en, EVAS_HINT_EXPAND, 0.0);
|
|
|
|
evas_object_size_hint_align_set(en, EVAS_HINT_FILL, 0.5);
|
2012-08-30 09:45:15 -07:00
|
|
|
elm_scroller_policy_set(en, ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_OFF);
|
2011-12-30 02:02:19 -08:00
|
|
|
elm_object_text_set(en, "This is a single line");
|
2012-02-15 20:55:08 -08:00
|
|
|
elm_entry_single_line_set(en, EINA_TRUE);
|
2011-11-17 13:02:31 -08:00
|
|
|
elm_object_part_content_set(ly, "element1", en);
|
2010-03-16 02:22:47 -07:00
|
|
|
evas_object_show(en);
|
2011-04-08 07:30:48 -07:00
|
|
|
|
2010-03-16 02:22:47 -07:00
|
|
|
en = elm_entry_add(win);
|
2011-05-02 03:56:16 -07:00
|
|
|
elm_entry_line_wrap_set(en, ELM_WRAP_NONE);
|
2011-12-30 02:02:19 -08:00
|
|
|
elm_object_text_set(en,
|
2012-03-08 06:59:38 -08:00
|
|
|
"This is an entry widget<br/>"
|
|
|
|
"that uses markup<br/>"
|
2011-12-08 04:39:18 -08:00
|
|
|
"<b>like this</> and has<br/>"
|
2012-03-08 06:59:38 -08:00
|
|
|
"no scroller, so you can<br/>"
|
|
|
|
"use it more flexibly.");
|
2010-03-16 02:22:47 -07:00
|
|
|
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);
|
2011-11-17 13:02:31 -08:00
|
|
|
elm_object_part_content_set(ly, "element2", en);
|
2010-03-16 02:22:47 -07:00
|
|
|
evas_object_show(en);
|
|
|
|
|
2011-06-17 02:44:31 -07:00
|
|
|
en = elm_entry_add(win);
|
|
|
|
elm_entry_scrollable_set(en, EINA_TRUE);
|
2010-03-16 02:22:47 -07:00
|
|
|
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);
|
2011-12-30 02:02:19 -08:00
|
|
|
elm_object_text_set(en,
|
2012-03-08 06:59:38 -08:00
|
|
|
"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/>"
|
|
|
|
"<a href=X><link>links in the text</></a>, so enter text<br/>"
|
|
|
|
"in here to edit it. By them way, links are<br/>"
|
|
|
|
"called <a href=anc-02>Anchors</a> so you will need<br/>"
|
|
|
|
"to refer to them this way. At the end here is a really long "
|
|
|
|
"line to test line wrapping to see if it works. But just in "
|
|
|
|
"case this line is not long enough I will add more here to "
|
|
|
|
"really test it out, as Elementary really needs some "
|
|
|
|
"good testing to see if entry widgets work as advertised."
|
|
|
|
);
|
2010-03-16 02:22:47 -07:00
|
|
|
evas_object_smart_callback_add(en, "anchor,clicked", scrolled_anchor_test, en);
|
2011-11-17 13:02:31 -08:00
|
|
|
elm_object_part_content_set(ly, "element3", en);
|
2010-03-16 02:22:47 -07:00
|
|
|
evas_object_show(en);
|
|
|
|
|
|
|
|
evas_object_show(win);
|
|
|
|
}
|
2010-04-17 07:20:06 -07:00
|
|
|
|
|
|
|
void
|
2013-08-31 18:18:03 -07:00
|
|
|
test_entry5(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
|
2010-04-17 07:20:06 -07:00
|
|
|
{
|
2012-04-01 23:20:28 -07:00
|
|
|
Evas_Object *win, *bx, *bx2, *bt, *en;
|
2010-04-17 07:20:06 -07:00
|
|
|
|
2012-04-01 23:20:28 -07:00
|
|
|
win = elm_win_util_standard_add("entry5", "Entry 5");
|
2011-07-25 07:22:19 -07:00
|
|
|
elm_win_autodel_set(win, EINA_TRUE);
|
2010-04-17 07:20:06 -07:00
|
|
|
|
|
|
|
bx = elm_box_add(win);
|
|
|
|
evas_object_size_hint_weight_set(bx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
|
|
|
|
elm_win_resize_object_add(win, bx);
|
|
|
|
evas_object_show(bx);
|
|
|
|
|
2011-06-17 02:44:31 -07:00
|
|
|
en = elm_entry_add(win);
|
|
|
|
elm_entry_scrollable_set(en, EINA_TRUE);
|
|
|
|
elm_entry_line_wrap_set(en, ELM_WRAP_CHAR);
|
2010-04-17 07:20:06 -07:00
|
|
|
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);
|
2011-12-30 02:02:19 -08:00
|
|
|
elm_object_text_set(en,
|
2012-03-08 06:59:38 -08:00
|
|
|
"This is an entry widget in this window that "
|
|
|
|
"uses markup like this for styling and "
|
|
|
|
"formatting like this, as well as "
|
|
|
|
"to refer to them this way. At the end here is a really long "
|
|
|
|
"line to test line wrapping to see if it works. But just in "
|
|
|
|
"case this line is not long enough I will add more here to "
|
|
|
|
"really test it out, as Elementary really needs some "
|
|
|
|
"good testing to see if entry widgets work as advertised."
|
|
|
|
);
|
2010-04-17 07:20:06 -07:00
|
|
|
evas_object_smart_callback_add(en, "anchor,clicked", scrolled_anchor_test, en);
|
|
|
|
elm_box_pack_end(bx, en);
|
|
|
|
evas_object_show(en);
|
2011-04-08 07:30:48 -07:00
|
|
|
|
2010-04-17 07:20:06 -07:00
|
|
|
bx2 = elm_box_add(win);
|
2011-04-15 04:44:05 -07:00
|
|
|
elm_box_horizontal_set(bx2, EINA_TRUE);
|
2010-04-17 07:20:06 -07:00
|
|
|
evas_object_size_hint_weight_set(bx2, EVAS_HINT_EXPAND, 0.0);
|
|
|
|
evas_object_size_hint_align_set(bx2, EVAS_HINT_FILL, EVAS_HINT_FILL);
|
|
|
|
|
|
|
|
bt = elm_button_add(win);
|
2011-06-29 00:11:54 -07:00
|
|
|
elm_object_text_set(bt, "Clr");
|
2010-04-17 07:20:06 -07:00
|
|
|
evas_object_smart_callback_add(bt, "clicked", my_ent_bt_clr, 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);
|
2014-01-06 23:48:58 -08:00
|
|
|
elm_object_focus_allow_set(bt, EINA_FALSE);
|
2010-04-17 07:20:06 -07:00
|
|
|
evas_object_show(bt);
|
|
|
|
|
|
|
|
bt = elm_button_add(win);
|
2011-06-29 00:11:54 -07:00
|
|
|
elm_object_text_set(bt, "Pri");
|
2010-04-17 07:20:06 -07:00
|
|
|
evas_object_smart_callback_add(bt, "clicked", my_ent_bt_pri, 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);
|
2014-01-06 23:48:58 -08:00
|
|
|
elm_object_focus_allow_set(bt, EINA_FALSE);
|
2010-04-17 07:20:06 -07:00
|
|
|
evas_object_show(bt);
|
|
|
|
|
|
|
|
bt = elm_button_add(win);
|
2011-06-29 00:11:54 -07:00
|
|
|
elm_object_text_set(bt, "Sel");
|
2010-04-17 07:20:06 -07:00
|
|
|
evas_object_smart_callback_add(bt, "clicked", my_ent_bt_sel, 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);
|
2014-01-06 23:48:58 -08:00
|
|
|
elm_object_focus_allow_set(bt, EINA_FALSE);
|
2010-04-17 07:20:06 -07:00
|
|
|
evas_object_show(bt);
|
|
|
|
|
|
|
|
bt = elm_button_add(win);
|
2011-06-29 00:11:54 -07:00
|
|
|
elm_object_text_set(bt, "All");
|
2010-04-17 07:20:06 -07:00
|
|
|
evas_object_smart_callback_add(bt, "clicked", my_ent_bt_all, 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);
|
2014-01-06 23:48:58 -08:00
|
|
|
elm_object_focus_allow_set(bt, EINA_FALSE);
|
2010-04-17 07:20:06 -07:00
|
|
|
evas_object_show(bt);
|
|
|
|
|
|
|
|
bt = elm_button_add(win);
|
2011-06-29 00:11:54 -07:00
|
|
|
elm_object_text_set(bt, "Non");
|
2010-04-17 07:20:06 -07:00
|
|
|
evas_object_smart_callback_add(bt, "clicked", my_ent_bt_non, 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);
|
2014-01-06 23:48:58 -08:00
|
|
|
elm_object_focus_allow_set(bt, EINA_FALSE);
|
2010-04-17 07:20:06 -07:00
|
|
|
evas_object_show(bt);
|
|
|
|
|
|
|
|
bt = elm_button_add(win);
|
2011-06-29 00:11:54 -07:00
|
|
|
elm_object_text_set(bt, "Ins");
|
2010-04-17 07:20:06 -07:00
|
|
|
evas_object_smart_callback_add(bt, "clicked", my_ent_bt_ins, 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);
|
2014-01-06 23:48:58 -08:00
|
|
|
elm_object_focus_allow_set(bt, EINA_FALSE);
|
2010-04-17 07:20:06 -07:00
|
|
|
evas_object_show(bt);
|
|
|
|
|
|
|
|
elm_box_pack_end(bx, bx2);
|
|
|
|
evas_object_show(bx2);
|
|
|
|
|
|
|
|
bx2 = elm_box_add(win);
|
2011-04-15 04:44:05 -07:00
|
|
|
elm_box_horizontal_set(bx2, EINA_TRUE);
|
2010-04-17 07:20:06 -07:00
|
|
|
evas_object_size_hint_weight_set(bx2, EVAS_HINT_EXPAND, 0.0);
|
|
|
|
evas_object_size_hint_align_set(bx2, EVAS_HINT_FILL, EVAS_HINT_FILL);
|
|
|
|
|
|
|
|
bt = elm_button_add(win);
|
2011-06-29 00:11:54 -07:00
|
|
|
elm_object_text_set(bt, "Lef");
|
2010-04-17 07:20:06 -07:00
|
|
|
evas_object_smart_callback_add(bt, "clicked", my_ent_bt_lef, 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);
|
2014-01-06 23:48:58 -08:00
|
|
|
elm_object_focus_allow_set(bt, EINA_FALSE);
|
2010-04-17 07:20:06 -07:00
|
|
|
evas_object_show(bt);
|
|
|
|
|
|
|
|
bt = elm_button_add(win);
|
2011-06-29 00:11:54 -07:00
|
|
|
elm_object_text_set(bt, "Rig");
|
2010-04-17 07:20:06 -07:00
|
|
|
evas_object_smart_callback_add(bt, "clicked", my_ent_bt_rig, 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);
|
2014-01-06 23:48:58 -08:00
|
|
|
elm_object_focus_allow_set(bt, EINA_FALSE);
|
2010-04-17 07:20:06 -07:00
|
|
|
evas_object_show(bt);
|
|
|
|
|
|
|
|
bt = elm_button_add(win);
|
2011-06-29 00:11:54 -07:00
|
|
|
elm_object_text_set(bt, "Up ");
|
2010-04-17 07:20:06 -07:00
|
|
|
evas_object_smart_callback_add(bt, "clicked", my_ent_bt_up_, 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);
|
2014-01-06 23:48:58 -08:00
|
|
|
elm_object_focus_allow_set(bt, EINA_FALSE);
|
2010-04-17 07:20:06 -07:00
|
|
|
evas_object_show(bt);
|
|
|
|
|
|
|
|
bt = elm_button_add(win);
|
2011-06-29 00:11:54 -07:00
|
|
|
elm_object_text_set(bt, "Dow");
|
2010-04-17 07:20:06 -07:00
|
|
|
evas_object_smart_callback_add(bt, "clicked", my_ent_bt_dow, 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);
|
2014-01-06 23:48:58 -08:00
|
|
|
elm_object_focus_allow_set(bt, EINA_FALSE);
|
2010-04-17 07:20:06 -07:00
|
|
|
evas_object_show(bt);
|
|
|
|
|
|
|
|
bt = elm_button_add(win);
|
2011-06-29 00:11:54 -07:00
|
|
|
elm_object_text_set(bt, "Beg");
|
2010-04-17 07:20:06 -07:00
|
|
|
evas_object_smart_callback_add(bt, "clicked", my_ent_bt_beg, 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);
|
2014-01-06 23:48:58 -08:00
|
|
|
elm_object_focus_allow_set(bt, EINA_FALSE);
|
2010-04-17 07:20:06 -07:00
|
|
|
evas_object_show(bt);
|
|
|
|
|
|
|
|
bt = elm_button_add(win);
|
2011-06-29 00:11:54 -07:00
|
|
|
elm_object_text_set(bt, "End");
|
2010-04-17 07:20:06 -07:00
|
|
|
evas_object_smart_callback_add(bt, "clicked", my_ent_bt_end, 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);
|
2014-01-06 23:48:58 -08:00
|
|
|
elm_object_focus_allow_set(bt, EINA_FALSE);
|
2010-04-17 07:20:06 -07:00
|
|
|
evas_object_show(bt);
|
|
|
|
|
|
|
|
elm_box_pack_end(bx, bx2);
|
|
|
|
evas_object_show(bx2);
|
|
|
|
|
|
|
|
bx2 = elm_box_add(win);
|
2011-04-15 04:44:05 -07:00
|
|
|
elm_box_horizontal_set(bx2, EINA_TRUE);
|
2010-04-17 07:20:06 -07:00
|
|
|
evas_object_size_hint_weight_set(bx2, EVAS_HINT_EXPAND, 0.0);
|
|
|
|
evas_object_size_hint_align_set(bx2, EVAS_HINT_FILL, EVAS_HINT_FILL);
|
|
|
|
|
|
|
|
bt = elm_button_add(win);
|
2011-06-29 00:11:54 -07:00
|
|
|
elm_object_text_set(bt, "LBe");
|
2010-04-17 07:20:06 -07:00
|
|
|
evas_object_smart_callback_add(bt, "clicked", my_ent_bt_lbe, 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);
|
2014-01-06 23:48:58 -08:00
|
|
|
elm_object_focus_allow_set(bt, EINA_FALSE);
|
2010-04-17 07:20:06 -07:00
|
|
|
evas_object_show(bt);
|
|
|
|
|
|
|
|
bt = elm_button_add(win);
|
2011-06-29 00:11:54 -07:00
|
|
|
elm_object_text_set(bt, "LEn");
|
2010-04-17 07:20:06 -07:00
|
|
|
evas_object_smart_callback_add(bt, "clicked", my_ent_bt_len, 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);
|
2014-01-06 23:48:58 -08:00
|
|
|
elm_object_focus_allow_set(bt, EINA_FALSE);
|
2010-04-17 07:20:06 -07:00
|
|
|
evas_object_show(bt);
|
|
|
|
|
|
|
|
bt = elm_button_add(win);
|
2011-06-29 00:11:54 -07:00
|
|
|
elm_object_text_set(bt, "SBe");
|
2010-04-17 07:20:06 -07:00
|
|
|
evas_object_smart_callback_add(bt, "clicked", my_ent_bt_sbe, 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);
|
2014-01-06 23:48:58 -08:00
|
|
|
elm_object_focus_allow_set(bt, EINA_FALSE);
|
2010-04-17 07:20:06 -07:00
|
|
|
evas_object_show(bt);
|
|
|
|
|
|
|
|
bt = elm_button_add(win);
|
2011-06-29 00:11:54 -07:00
|
|
|
elm_object_text_set(bt, "SEn");
|
2010-04-17 07:20:06 -07:00
|
|
|
evas_object_smart_callback_add(bt, "clicked", my_ent_bt_sen, 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);
|
2014-01-06 23:48:58 -08:00
|
|
|
elm_object_focus_allow_set(bt, EINA_FALSE);
|
2010-04-17 07:20:06 -07:00
|
|
|
evas_object_show(bt);
|
|
|
|
|
|
|
|
bt = elm_button_add(win);
|
2011-06-29 00:11:54 -07:00
|
|
|
elm_object_text_set(bt, "Fmt");
|
2010-04-17 07:20:06 -07:00
|
|
|
evas_object_smart_callback_add(bt, "clicked", my_ent_bt_fmt, 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);
|
2014-01-06 23:48:58 -08:00
|
|
|
elm_object_focus_allow_set(bt, EINA_FALSE);
|
2010-04-17 07:20:06 -07:00
|
|
|
evas_object_show(bt);
|
|
|
|
|
|
|
|
bt = elm_button_add(win);
|
2011-06-29 00:11:54 -07:00
|
|
|
elm_object_text_set(bt, "VFm");
|
2010-04-17 07:20:06 -07:00
|
|
|
evas_object_smart_callback_add(bt, "clicked", my_ent_bt_vfm, 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);
|
2014-01-06 23:48:58 -08:00
|
|
|
elm_object_focus_allow_set(bt, EINA_FALSE);
|
2010-04-17 07:20:06 -07:00
|
|
|
evas_object_show(bt);
|
|
|
|
|
|
|
|
elm_box_pack_end(bx, bx2);
|
|
|
|
evas_object_show(bx2);
|
|
|
|
|
|
|
|
bx2 = elm_box_add(win);
|
2011-04-15 04:44:05 -07:00
|
|
|
elm_box_horizontal_set(bx2, EINA_TRUE);
|
2010-04-17 07:20:06 -07:00
|
|
|
evas_object_size_hint_weight_set(bx2, EVAS_HINT_EXPAND, 0.0);
|
|
|
|
evas_object_size_hint_align_set(bx2, EVAS_HINT_FILL, EVAS_HINT_FILL);
|
|
|
|
|
|
|
|
bt = elm_button_add(win);
|
2011-06-29 00:11:54 -07:00
|
|
|
elm_object_text_set(bt, "Chr");
|
2010-04-17 07:20:06 -07:00
|
|
|
evas_object_smart_callback_add(bt, "clicked", my_ent_bt_chr, 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);
|
2014-01-06 23:48:58 -08:00
|
|
|
elm_object_focus_allow_set(bt, EINA_FALSE);
|
2010-04-17 07:20:06 -07:00
|
|
|
evas_object_show(bt);
|
|
|
|
|
|
|
|
bt = elm_button_add(win);
|
2011-06-29 00:11:54 -07:00
|
|
|
elm_object_text_set(bt, "Cut");
|
2010-04-17 07:20:06 -07:00
|
|
|
evas_object_smart_callback_add(bt, "clicked", my_ent_bt_cut, 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);
|
2014-01-06 23:48:58 -08:00
|
|
|
elm_object_focus_allow_set(bt, EINA_FALSE);
|
2010-04-17 07:20:06 -07:00
|
|
|
evas_object_show(bt);
|
|
|
|
|
|
|
|
bt = elm_button_add(win);
|
2011-06-29 00:11:54 -07:00
|
|
|
elm_object_text_set(bt, "Cop");
|
2010-04-17 07:20:06 -07:00
|
|
|
evas_object_smart_callback_add(bt, "clicked", my_ent_bt_cop, 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);
|
2014-01-06 23:48:58 -08:00
|
|
|
elm_object_focus_allow_set(bt, EINA_FALSE);
|
2010-04-17 07:20:06 -07:00
|
|
|
evas_object_show(bt);
|
|
|
|
|
|
|
|
bt = elm_button_add(win);
|
2011-06-29 00:11:54 -07:00
|
|
|
elm_object_text_set(bt, "Pas");
|
2010-04-17 07:20:06 -07:00
|
|
|
evas_object_smart_callback_add(bt, "clicked", my_ent_bt_pas, 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);
|
2011-04-08 07:30:48 -07:00
|
|
|
elm_box_pack_end(bx2, bt);
|
2014-01-06 23:48:58 -08:00
|
|
|
elm_object_focus_allow_set(bt, EINA_FALSE);
|
2010-04-17 07:20:06 -07:00
|
|
|
evas_object_show(bt);
|
|
|
|
|
|
|
|
elm_box_pack_end(bx, bx2);
|
|
|
|
evas_object_show(bx2);
|
|
|
|
|
|
|
|
evas_object_resize(win, 320, 480);
|
|
|
|
|
2011-08-03 08:01:39 -07:00
|
|
|
elm_object_focus_set(win, EINA_TRUE);
|
2010-04-17 07:20:06 -07:00
|
|
|
evas_object_show(win);
|
|
|
|
}
|
Remove elm_notepad
Notepad had a big issue: users couldn't access the entry, so notepad
was something near to an useless widget.
We needed to choose between wrap all entry functions or add these file
save / load and autosave features to entries.
As discussed on the emails list, we decided to go with the second
option, so we won't have an extra widget with lots of wrap functions.
Notepad was internally just an elm_entry with a scroll, so using
a scrolled entry with a file set will do the job.
I've added a test called Entry Notepad that looks like the removed
Notepad test. But we will see the improvements - you can clear the entry
or whatever you want, because the entry is the object you are creating.
If you were using elm_notepad before, just s/notepad/scrolled_entry
and almost everything should work fine. Another change was the function
file_save(obj, file, format), is now just file_save(obj), and the
file and format used are defined by file_set().
At last, some getters were added.
SVN revision: 54145
2010-11-04 04:56:15 -07:00
|
|
|
|
2012-02-07 03:24:39 -08:00
|
|
|
void
|
2013-08-31 18:18:03 -07:00
|
|
|
test_entry6(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
|
2012-02-07 03:24:39 -08:00
|
|
|
{
|
2012-04-01 23:20:28 -07:00
|
|
|
Evas_Object *win, *bx, *en;
|
2012-02-07 03:24:39 -08:00
|
|
|
|
2012-04-01 23:20:28 -07:00
|
|
|
win = elm_win_util_standard_add("entry6", "Entry 6");
|
2012-02-07 03:24:39 -08:00
|
|
|
elm_win_autodel_set(win, EINA_TRUE);
|
|
|
|
|
|
|
|
bx = elm_box_add(win);
|
|
|
|
evas_object_size_hint_weight_set(bx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
|
|
|
|
elm_win_resize_object_add(win, bx);
|
|
|
|
evas_object_show(bx);
|
|
|
|
|
|
|
|
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_object_text_set(en,
|
2012-03-08 06:59:38 -08:00
|
|
|
"input_panel_enabled: TRUE.<br>"
|
|
|
|
"When this entry gets a focus, virtual keyboard will be shown "
|
|
|
|
"in illume environment.");
|
2012-02-07 03:24:39 -08:00
|
|
|
elm_box_pack_end(bx, en);
|
|
|
|
evas_object_show(en);
|
|
|
|
|
|
|
|
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_object_text_set(en,
|
2012-03-08 06:59:38 -08:00
|
|
|
"input_panel_enabled: FALSE.<br>"
|
|
|
|
"This entry doesn't allow to show virtual keyboard automatically.<br>"
|
|
|
|
"it is used in case that wants its own keypad such as calculator.");
|
2012-02-07 03:24:39 -08:00
|
|
|
elm_entry_input_panel_enabled_set(en, EINA_FALSE);
|
|
|
|
elm_box_pack_end(bx, en);
|
|
|
|
evas_object_show(en);
|
|
|
|
|
|
|
|
evas_object_resize(win, 320, 300);
|
|
|
|
|
|
|
|
elm_object_focus_set(win, EINA_TRUE);
|
|
|
|
evas_object_show(win);
|
|
|
|
}
|
|
|
|
|
2012-02-22 04:33:25 -08:00
|
|
|
static void
|
2013-08-31 18:18:03 -07:00
|
|
|
changed_cb(void *data, Evas_Object *obj, void *event_info EINA_UNUSED)
|
2012-02-22 04:33:25 -08:00
|
|
|
{
|
2012-03-08 06:59:38 -08:00
|
|
|
Evas_Object *en;
|
|
|
|
en = (Evas_Object*)data;
|
2012-02-22 04:33:25 -08:00
|
|
|
|
2012-03-08 06:59:38 -08:00
|
|
|
elm_entry_editable_set(en, elm_check_state_get(obj));
|
2012-02-22 04:33:25 -08:00
|
|
|
}
|
|
|
|
|
|
|
|
static void
|
2013-08-31 18:18:03 -07:00
|
|
|
en_changed_cb(void *data, Evas_Object *obj, void *event_info EINA_UNUSED)
|
2012-02-22 04:33:25 -08:00
|
|
|
{
|
|
|
|
Evas_Object *sp, *en;
|
|
|
|
sp = (Evas_Object *)data;
|
|
|
|
en = (Evas_Object *)obj;
|
|
|
|
elm_spinner_min_max_set(sp, 0, strlen(elm_object_text_get(en)));
|
|
|
|
}
|
|
|
|
|
|
|
|
static void
|
2013-08-31 18:18:03 -07:00
|
|
|
sp_changed_cb(void *data, Evas_Object *obj, void *event_info EINA_UNUSED)
|
2012-02-22 04:33:25 -08:00
|
|
|
{
|
|
|
|
Evas_Object *en, *sp;
|
|
|
|
en = (Evas_Object *)data;
|
|
|
|
sp = (Evas_Object *)obj;
|
|
|
|
elm_entry_cursor_pos_set(en, elm_spinner_value_get(sp));
|
|
|
|
elm_object_focus_set(en, EINA_TRUE);
|
|
|
|
}
|
|
|
|
|
|
|
|
static void
|
2013-08-31 18:18:03 -07:00
|
|
|
add_bt_clicked(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
|
2012-02-22 04:33:25 -08:00
|
|
|
{
|
|
|
|
Evas_Object *en;
|
|
|
|
en = (Evas_Object *)data;
|
|
|
|
|
|
|
|
elm_entry_context_menu_item_add(en, "item", NULL, ELM_ICON_NONE, NULL, NULL);
|
|
|
|
}
|
|
|
|
|
|
|
|
static void
|
2013-08-31 18:18:03 -07:00
|
|
|
clear_bt_clicked(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
|
2012-02-22 04:33:25 -08:00
|
|
|
{
|
|
|
|
Evas_Object *en;
|
|
|
|
en = (Evas_Object *)data;
|
|
|
|
|
|
|
|
elm_entry_context_menu_clear(en);
|
|
|
|
}
|
|
|
|
|
|
|
|
static Evas_Object *
|
2013-08-31 18:18:03 -07:00
|
|
|
item_provider(void *images EINA_UNUSED, Evas_Object *en, const char *item)
|
2012-02-22 04:33:25 -08:00
|
|
|
{
|
|
|
|
Evas_Object *o = NULL;;
|
|
|
|
char buf[1024];
|
|
|
|
|
2012-03-29 04:09:45 -07:00
|
|
|
if (!strcmp(item, "itemprovider"))
|
2012-02-22 04:33:25 -08:00
|
|
|
{
|
|
|
|
snprintf(buf, sizeof(buf), "%s/images/icon_00.png",
|
|
|
|
elm_app_data_dir_get());
|
|
|
|
o = evas_object_image_filled_add(evas_object_evas_get(en));
|
|
|
|
evas_object_image_file_set(o, buf, NULL);
|
|
|
|
}
|
|
|
|
|
|
|
|
return o;
|
|
|
|
}
|
|
|
|
|
|
|
|
static Evas_Object *
|
2013-08-31 18:18:03 -07:00
|
|
|
prepend_item_provider(void *images EINA_UNUSED, Evas_Object *en, const char *item)
|
2012-02-22 04:33:25 -08:00
|
|
|
{
|
|
|
|
Evas_Object *o = NULL;;
|
|
|
|
char buf[1024];
|
|
|
|
|
2012-03-29 04:09:45 -07:00
|
|
|
if (!strcmp(item, "itemprovider"))
|
2012-02-22 04:33:25 -08:00
|
|
|
{
|
|
|
|
snprintf(buf, sizeof(buf), "%s/images/icon_10.png",
|
|
|
|
elm_app_data_dir_get());
|
|
|
|
o = evas_object_image_filled_add(evas_object_evas_get(en));
|
|
|
|
evas_object_image_file_set(o, buf, NULL);
|
|
|
|
}
|
|
|
|
|
|
|
|
return o;
|
|
|
|
}
|
|
|
|
|
|
|
|
static void
|
2013-08-31 18:18:03 -07:00
|
|
|
prepend_bt_clicked(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
|
2012-02-22 04:33:25 -08:00
|
|
|
{
|
|
|
|
Evas_Object *en;
|
|
|
|
en = (Evas_Object *)data;
|
|
|
|
|
|
|
|
elm_entry_item_provider_prepend(en, prepend_item_provider, NULL);
|
|
|
|
elm_object_text_set(en,
|
|
|
|
"Item Provider"
|
|
|
|
"<item size=50x50 vsize=full href=itemprovider></item>"
|
|
|
|
);
|
|
|
|
}
|
|
|
|
|
|
|
|
static void
|
2013-08-31 18:18:03 -07:00
|
|
|
remove_bt_clicked(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
|
2012-02-22 04:33:25 -08:00
|
|
|
{
|
|
|
|
Evas_Object *en;
|
|
|
|
en = (Evas_Object *)data;
|
|
|
|
|
|
|
|
elm_entry_item_provider_remove(en, item_provider, NULL);
|
|
|
|
elm_entry_item_provider_remove(en, prepend_item_provider, NULL);
|
|
|
|
elm_object_text_set(en,
|
|
|
|
"Item Provider"
|
|
|
|
"<item size=50x50 vsize=full href=itemprovider></item>"
|
|
|
|
);
|
|
|
|
}
|
|
|
|
|
|
|
|
static void
|
2013-08-31 18:18:03 -07:00
|
|
|
enable_changed_cb(void *data, Evas_Object *obj, void *event_info EINA_UNUSED)
|
2012-02-22 04:33:25 -08:00
|
|
|
{
|
2012-02-23 18:54:03 -08:00
|
|
|
Evas_Object *en;
|
|
|
|
en = (Evas_Object*)data;
|
2012-02-22 04:33:25 -08:00
|
|
|
|
2012-02-23 18:54:03 -08:00
|
|
|
elm_entry_context_menu_disabled_set(en, elm_check_state_get(obj));
|
2012-02-22 04:33:25 -08:00
|
|
|
}
|
|
|
|
|
|
|
|
void
|
2013-08-31 18:18:03 -07:00
|
|
|
test_entry7(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
|
2012-02-22 04:33:25 -08:00
|
|
|
{
|
2012-02-23 18:54:03 -08:00
|
|
|
Evas_Object *win, *gd, *bg, *en, *tg, *lb, *sp;
|
2012-02-23 23:41:38 -08:00
|
|
|
Evas_Object *bt, *en2;
|
2012-02-23 18:54:03 -08:00
|
|
|
|
2012-02-22 04:33:25 -08:00
|
|
|
win = elm_win_util_standard_add("entry7", "Entry 7");
|
|
|
|
elm_win_autodel_set(win, EINA_TRUE);
|
|
|
|
|
|
|
|
gd = elm_grid_add(win);
|
|
|
|
elm_grid_size_set(gd, 100, 100);
|
|
|
|
evas_object_size_hint_weight_set(gd, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
|
2012-02-23 18:54:03 -08:00
|
|
|
elm_win_resize_object_add(win, gd);
|
2012-02-22 04:33:25 -08:00
|
|
|
evas_object_show(gd);
|
|
|
|
|
2012-02-23 18:54:03 -08:00
|
|
|
/* upper entry group */
|
|
|
|
bg = elm_bg_add(win);
|
|
|
|
elm_bg_color_set(bg, 255, 0, 0);
|
|
|
|
elm_grid_pack(gd, bg, 10, 10, 60, 30);
|
|
|
|
evas_object_show(bg);
|
2012-02-22 04:33:25 -08:00
|
|
|
|
|
|
|
en = elm_entry_add(win);
|
2012-02-23 18:54:03 -08:00
|
|
|
elm_entry_scrollable_set(en, EINA_TRUE);
|
2012-02-22 04:33:25 -08:00
|
|
|
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);
|
2012-10-28 17:30:51 -07:00
|
|
|
elm_object_text_set(en, "Editable, Cursor Position");
|
2012-02-22 04:33:25 -08:00
|
|
|
evas_object_show(en);
|
2012-02-23 18:54:03 -08:00
|
|
|
elm_grid_pack(gd, en, 10, 10, 60, 30);
|
2012-02-22 04:33:25 -08:00
|
|
|
|
|
|
|
tg = elm_check_add(win);
|
|
|
|
evas_object_size_hint_weight_set(tg, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
|
|
|
|
evas_object_size_hint_align_set(tg, EVAS_HINT_FILL, EVAS_HINT_FILL);
|
|
|
|
elm_object_text_set(tg, "Editable");
|
|
|
|
elm_check_state_set(tg, EINA_TRUE);
|
|
|
|
evas_object_smart_callback_add(tg, "changed", changed_cb, en);
|
|
|
|
elm_grid_pack(gd, tg, 70, 10, 22, 10);
|
|
|
|
evas_object_show(tg);
|
|
|
|
|
|
|
|
lb = elm_label_add(win);
|
|
|
|
elm_object_text_set(lb, "Cursor position:");
|
|
|
|
evas_object_size_hint_weight_set(lb, 0.0, 0.0);
|
|
|
|
evas_object_size_hint_align_set(lb, EVAS_HINT_FILL, EVAS_HINT_FILL);
|
|
|
|
elm_grid_pack(gd, lb, 70, 25, 25, 5);
|
|
|
|
evas_object_show(lb);
|
|
|
|
|
|
|
|
sp = elm_spinner_add(win);
|
|
|
|
elm_spinner_label_format_set(sp, "%1.0f");
|
|
|
|
elm_spinner_step_set(sp, 1);
|
|
|
|
elm_spinner_wrap_set(sp, ELM_WRAP_CHAR);
|
|
|
|
elm_spinner_min_max_set(sp, 0, strlen(elm_object_text_get(en)));
|
|
|
|
evas_object_size_hint_align_set(sp, EVAS_HINT_FILL, EVAS_HINT_FILL);
|
|
|
|
evas_object_size_hint_weight_set(sp, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
|
|
|
|
elm_grid_pack(gd, sp, 70, 30, 25, 10);
|
|
|
|
evas_object_smart_callback_add(en, "changed", en_changed_cb, sp);
|
|
|
|
evas_object_smart_callback_add(sp, "delay,changed", sp_changed_cb, en);
|
|
|
|
evas_object_show(sp);
|
|
|
|
|
2012-02-23 18:54:03 -08:00
|
|
|
/* bottom entry group */
|
|
|
|
bg = elm_bg_add(win);
|
|
|
|
elm_bg_color_set(bg, 0, 255, 0);
|
|
|
|
elm_grid_pack(gd, bg, 10, 50, 45, 30);
|
|
|
|
evas_object_show(bg);
|
2012-02-22 04:33:25 -08:00
|
|
|
|
|
|
|
en2 = elm_entry_add(win);
|
2012-02-23 18:54:03 -08:00
|
|
|
elm_entry_scrollable_set(en2, EINA_TRUE);
|
2012-02-22 04:33:25 -08:00
|
|
|
evas_object_size_hint_weight_set(en2, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
|
|
|
|
evas_object_size_hint_align_set(en2, EVAS_HINT_FILL, EVAS_HINT_FILL);
|
|
|
|
elm_object_text_set(en2,
|
|
|
|
"Item Provider"
|
|
|
|
"<item size=50x50 vsize=full href=itemprovider></item>"
|
|
|
|
);
|
|
|
|
elm_entry_item_provider_append(en2, item_provider, NULL);
|
2014-05-12 23:50:05 -07:00
|
|
|
elm_entry_context_menu_disabled_set(en2, EINA_TRUE);
|
2012-02-23 18:54:03 -08:00
|
|
|
elm_grid_pack(gd, en2, 10, 50, 45, 30);
|
2012-02-22 04:33:25 -08:00
|
|
|
evas_object_show(en2);
|
|
|
|
|
|
|
|
tg = elm_check_add(win);
|
|
|
|
evas_object_size_hint_weight_set(tg, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
|
|
|
|
evas_object_size_hint_align_set(tg, EVAS_HINT_FILL, EVAS_HINT_FILL);
|
|
|
|
elm_object_text_set(tg, "Disable Context Menu");
|
|
|
|
elm_check_state_set(tg, EINA_TRUE);
|
|
|
|
evas_object_smart_callback_add(tg, "changed", enable_changed_cb, en2);
|
|
|
|
elm_grid_pack(gd, tg, 55, 50, 40, 10);
|
|
|
|
evas_object_show(tg);
|
|
|
|
|
|
|
|
bt = elm_button_add(win);
|
|
|
|
elm_object_text_set(bt, "Add Context Menu");
|
|
|
|
elm_grid_pack(gd, bt, 55, 60, 40, 10);
|
|
|
|
evas_object_smart_callback_add(bt, "clicked", add_bt_clicked, en2);
|
|
|
|
evas_object_show(bt);
|
|
|
|
|
|
|
|
bt = elm_button_add(win);
|
|
|
|
elm_object_text_set(bt, "Clear Context Menu");
|
|
|
|
elm_grid_pack(gd, bt, 55, 70, 40, 10);
|
|
|
|
evas_object_smart_callback_add(bt, "clicked", clear_bt_clicked, en2);
|
|
|
|
evas_object_show(bt);
|
|
|
|
|
|
|
|
bt = elm_button_add(win);
|
|
|
|
elm_object_text_set(bt, "Prepend Item Provider");
|
|
|
|
elm_grid_pack(gd, bt, 10, 80, 45, 10);
|
|
|
|
evas_object_smart_callback_add(bt, "clicked", prepend_bt_clicked, en2);
|
|
|
|
evas_object_show(bt);
|
|
|
|
|
|
|
|
bt = elm_button_add(win);
|
|
|
|
elm_object_text_set(bt, "Remove Item Provider");
|
|
|
|
elm_grid_pack(gd, bt, 55, 80, 40, 10);
|
|
|
|
evas_object_smart_callback_add(bt, "clicked", remove_bt_clicked, en2);
|
|
|
|
evas_object_show(bt);
|
|
|
|
|
|
|
|
evas_object_resize(win, 320, 320);
|
|
|
|
evas_object_show(win);
|
|
|
|
}
|
|
|
|
|
2012-02-23 23:41:38 -08:00
|
|
|
static void
|
2013-08-31 18:18:03 -07:00
|
|
|
filter_prepend_bt_clicked(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
|
2012-02-23 23:41:38 -08:00
|
|
|
{
|
|
|
|
Evas_Object *en, *en2;
|
|
|
|
static Elm_Entry_Filter_Accept_Set digits_filter_data;
|
|
|
|
|
|
|
|
en = (Evas_Object *)data;
|
|
|
|
en2 = evas_object_data_get(en, "filter-entry");
|
|
|
|
digits_filter_data.accepted = elm_object_text_get(en2);
|
|
|
|
digits_filter_data.rejected = NULL;
|
|
|
|
|
|
|
|
elm_entry_markup_filter_append(en, elm_entry_filter_accept_set,
|
|
|
|
&digits_filter_data);
|
|
|
|
elm_object_text_set(en, "Markup Filter Prepend Test:");
|
|
|
|
}
|
|
|
|
|
|
|
|
static void
|
2013-08-31 18:18:03 -07:00
|
|
|
filter_remove_bt_clicked(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
|
2012-02-23 23:41:38 -08:00
|
|
|
{
|
|
|
|
Evas_Object *en;
|
|
|
|
en = (Evas_Object *)data;
|
|
|
|
|
|
|
|
elm_entry_markup_filter_remove(en, elm_entry_filter_accept_set, NULL);
|
|
|
|
elm_object_text_set(en, "Markup Filter Prepend Test:");
|
|
|
|
}
|
|
|
|
|
|
|
|
static void
|
2013-08-31 18:18:03 -07:00
|
|
|
icon_visible_changed_cb(void *data, Evas_Object *obj, void *event_info EINA_UNUSED)
|
2012-02-23 23:41:38 -08:00
|
|
|
{
|
|
|
|
Evas_Object *en;
|
|
|
|
en = (Evas_Object*)data;
|
|
|
|
|
|
|
|
elm_entry_icon_visible_set(en, elm_check_state_get(obj));
|
|
|
|
}
|
|
|
|
|
|
|
|
static void
|
2013-08-31 18:18:03 -07:00
|
|
|
end_visible_changed_cb(void *data, Evas_Object *obj, void *event_info EINA_UNUSED)
|
2012-02-23 23:41:38 -08:00
|
|
|
{
|
|
|
|
Evas_Object *en;
|
|
|
|
en = (Evas_Object*)data;
|
|
|
|
|
|
|
|
elm_entry_end_visible_set(en, elm_check_state_get(obj));
|
|
|
|
}
|
|
|
|
|
|
|
|
static void
|
2013-08-31 18:18:03 -07:00
|
|
|
horizontal_bounce_changed_cb(void *data, Evas_Object *obj, void *event_info EINA_UNUSED)
|
2012-02-23 23:41:38 -08:00
|
|
|
{
|
|
|
|
Evas_Object *en;
|
|
|
|
Eina_Bool vb;
|
|
|
|
Eina_Bool bounce = elm_check_state_get(obj);
|
|
|
|
en = (Evas_Object*)data;
|
|
|
|
|
2012-08-30 09:45:15 -07:00
|
|
|
elm_scroller_bounce_get(en, NULL, &vb);
|
|
|
|
elm_scroller_bounce_set(en, bounce, bounce);
|
2012-02-23 23:41:38 -08:00
|
|
|
}
|
|
|
|
|
|
|
|
static void
|
2013-08-31 18:18:03 -07:00
|
|
|
vertical_bounce_changed_cb(void *data, Evas_Object *obj, void *event_info EINA_UNUSED)
|
2012-02-23 23:41:38 -08:00
|
|
|
{
|
2012-03-08 06:59:38 -08:00
|
|
|
Evas_Object *en;
|
|
|
|
Eina_Bool hb;
|
|
|
|
Eina_Bool bounce = elm_check_state_get(obj);
|
|
|
|
en = (Evas_Object*)data;
|
2012-02-23 23:41:38 -08:00
|
|
|
|
2012-08-30 09:45:15 -07:00
|
|
|
elm_scroller_bounce_get(en, &hb, NULL);
|
|
|
|
elm_scroller_bounce_set(en, hb, bounce);
|
2012-02-23 23:41:38 -08:00
|
|
|
}
|
|
|
|
|
|
|
|
void
|
2013-08-31 18:18:03 -07:00
|
|
|
test_entry8(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
|
2012-02-23 23:41:38 -08:00
|
|
|
{
|
|
|
|
Evas_Object *win, *gd, *rect, *en, *lb;
|
|
|
|
Evas_Object *bt, *en2;
|
2012-08-14 06:01:02 -07:00
|
|
|
Evas_Object *ch, *en3;
|
2012-02-23 23:41:38 -08:00
|
|
|
Evas_Object *en4;
|
|
|
|
static Elm_Entry_Filter_Limit_Size limit_filter_data;
|
|
|
|
|
|
|
|
win = elm_win_util_standard_add("entry8", "Entry 8");
|
|
|
|
elm_win_autodel_set(win, EINA_TRUE);
|
|
|
|
|
|
|
|
gd = elm_grid_add(win);
|
|
|
|
elm_grid_size_set(gd, 100, 100);
|
|
|
|
evas_object_size_hint_weight_set(gd, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
|
2012-11-14 02:49:45 -08:00
|
|
|
elm_win_resize_object_add(win, gd);
|
2012-02-23 23:41:38 -08:00
|
|
|
evas_object_show(gd);
|
|
|
|
|
|
|
|
rect = evas_object_rectangle_add(evas_object_evas_get(win));
|
|
|
|
elm_grid_pack(gd, rect, 5, 5, 90, 10);
|
|
|
|
evas_object_color_set(rect, 125, 125, 255, 255);
|
|
|
|
evas_object_show(rect);
|
|
|
|
|
|
|
|
en = elm_entry_add(win);
|
|
|
|
elm_entry_scrollable_set(en, EINA_TRUE);
|
2012-08-30 09:45:15 -07:00
|
|
|
elm_scroller_policy_set(en, ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_OFF);
|
2012-02-23 23:41:38 -08:00
|
|
|
evas_object_size_hint_weight_set(en, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
|
|
|
|
evas_object_size_hint_align_set(en, EVAS_HINT_FILL, EVAS_HINT_FILL);
|
|
|
|
elm_object_text_set(en, "Markup Filter Prepend Test");
|
|
|
|
elm_grid_pack(gd, en, 5, 5, 90, 10);
|
|
|
|
evas_object_show(en);
|
|
|
|
|
|
|
|
lb = elm_label_add(win);
|
|
|
|
elm_object_text_set(lb, "Markup Filter (20 Characters):");
|
|
|
|
evas_object_size_hint_weight_set(lb, 0.0, 0.0);
|
|
|
|
evas_object_size_hint_align_set(lb, EVAS_HINT_FILL, EVAS_HINT_FILL);
|
|
|
|
elm_grid_pack(gd, lb, 5, 15, 50, 10);
|
|
|
|
evas_object_show(lb);
|
|
|
|
|
|
|
|
rect = evas_object_rectangle_add(evas_object_evas_get(win));
|
|
|
|
elm_grid_pack(gd, rect, 55, 15, 40, 10);
|
|
|
|
evas_object_color_set(rect, 0, 125, 255, 255);
|
|
|
|
evas_object_show(rect);
|
|
|
|
|
|
|
|
en2 = elm_entry_add(win);
|
|
|
|
elm_entry_scrollable_set(en2, EINA_TRUE);
|
2012-08-30 09:45:15 -07:00
|
|
|
elm_scroller_policy_set(en2, ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_OFF);
|
2012-02-23 23:41:38 -08:00
|
|
|
evas_object_size_hint_weight_set(en2, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
|
|
|
|
evas_object_size_hint_align_set(en2, EVAS_HINT_FILL, EVAS_HINT_FILL);
|
|
|
|
limit_filter_data.max_char_count = 20;
|
|
|
|
limit_filter_data.max_byte_count = 0;
|
|
|
|
elm_entry_markup_filter_append(en2, elm_entry_filter_limit_size, &limit_filter_data);
|
|
|
|
evas_object_data_set(en, "filter-entry", en2);
|
|
|
|
evas_object_show(en2);
|
|
|
|
elm_grid_pack(gd, en2, 55, 15, 40, 10);
|
|
|
|
|
|
|
|
bt = elm_button_add(win);
|
|
|
|
elm_object_text_set(bt, "Markup Filter Prepend");
|
|
|
|
elm_grid_pack(gd, bt, 5, 25, 45, 10);
|
|
|
|
evas_object_smart_callback_add(bt, "clicked", filter_prepend_bt_clicked, en);
|
|
|
|
evas_object_show(bt);
|
|
|
|
|
|
|
|
bt = elm_button_add(win);
|
|
|
|
elm_object_text_set(bt, "Markup Filter Remove");
|
|
|
|
elm_grid_pack(gd, bt, 50, 25, 45, 10);
|
|
|
|
evas_object_smart_callback_add(bt, "clicked", filter_remove_bt_clicked, en);
|
|
|
|
evas_object_show(bt);
|
|
|
|
|
|
|
|
en3 = elm_entry_add(win);
|
|
|
|
elm_entry_scrollable_set(en3, EINA_TRUE);
|
2012-08-30 09:45:15 -07:00
|
|
|
elm_scroller_policy_set(en3, ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_OFF);
|
2012-02-23 23:41:38 -08:00
|
|
|
elm_entry_single_line_set(en3, EINA_TRUE);
|
|
|
|
evas_object_size_hint_weight_set(en3, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
|
|
|
|
evas_object_size_hint_align_set(en3, EVAS_HINT_FILL, EVAS_HINT_FILL);
|
|
|
|
evas_object_show(en3);
|
2012-08-14 06:01:02 -07:00
|
|
|
elm_grid_pack(gd, en3, 5, 35, 90, 20);
|
2012-02-23 23:41:38 -08:00
|
|
|
|
|
|
|
bt = elm_icon_add(win);
|
2016-04-26 16:01:08 -07:00
|
|
|
elm_icon_standard_set(bt, "go-home");
|
2012-02-23 23:41:38 -08:00
|
|
|
evas_object_size_hint_min_set(bt, 48, 48);
|
2012-04-08 22:25:27 -07:00
|
|
|
evas_object_color_set(bt, 128, 0, 0, 128);
|
2012-02-23 23:41:38 -08:00
|
|
|
evas_object_show(bt);
|
|
|
|
elm_object_part_content_set(en3, "icon", bt);
|
|
|
|
|
|
|
|
bt = elm_icon_add(win);
|
|
|
|
elm_icon_standard_set(bt, "delete");
|
2012-04-08 22:25:27 -07:00
|
|
|
evas_object_color_set(bt, 128, 0, 0, 128);
|
2012-02-23 23:41:38 -08:00
|
|
|
evas_object_size_hint_min_set(bt, 48, 48);
|
|
|
|
evas_object_show(bt);
|
|
|
|
elm_object_part_content_set(en3, "end", bt);
|
|
|
|
|
|
|
|
ch = elm_check_add(win);
|
|
|
|
evas_object_size_hint_weight_set(ch, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
|
|
|
|
evas_object_size_hint_align_set(ch, EVAS_HINT_FILL, EVAS_HINT_FILL);
|
|
|
|
elm_object_text_set(ch, "Icon Visible");
|
|
|
|
elm_check_state_set(ch, EINA_TRUE);
|
|
|
|
evas_object_smart_callback_add(ch, "changed", icon_visible_changed_cb, en3);
|
|
|
|
elm_grid_pack(gd, ch, 5, 55, 30, 10);
|
|
|
|
evas_object_show(ch);
|
|
|
|
|
|
|
|
ch = elm_check_add(win);
|
|
|
|
evas_object_size_hint_weight_set(ch, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
|
|
|
|
evas_object_size_hint_align_set(ch, EVAS_HINT_FILL, EVAS_HINT_FILL);
|
|
|
|
elm_object_text_set(ch, "End Visible");
|
|
|
|
elm_check_state_set(ch, EINA_TRUE);
|
|
|
|
evas_object_smart_callback_add(ch, "changed", end_visible_changed_cb, en3);
|
|
|
|
elm_grid_pack(gd, ch, 70, 55, 25, 10);
|
|
|
|
evas_object_show(ch);
|
|
|
|
|
|
|
|
rect = evas_object_rectangle_add(evas_object_evas_get(win));
|
|
|
|
elm_grid_pack(gd, rect, 5, 65, 90, 20);
|
|
|
|
evas_object_color_set(rect, 255, 125, 125, 255);
|
|
|
|
evas_object_show(rect);
|
|
|
|
|
|
|
|
en4 = elm_entry_add(win);
|
2012-04-08 22:25:27 -07:00
|
|
|
elm_object_part_text_set(en4, "guide", "Type in here");
|
2012-02-23 23:41:38 -08:00
|
|
|
elm_entry_scrollable_set(en4, EINA_TRUE);
|
2012-08-30 09:45:15 -07:00
|
|
|
elm_scroller_bounce_set(en4, EINA_TRUE, EINA_TRUE);
|
2016-10-21 05:57:15 -07:00
|
|
|
elm_entry_autocapital_type_set(en4, ELM_AUTOCAPITAL_TYPE_WORD);
|
2012-02-23 23:41:38 -08:00
|
|
|
evas_object_size_hint_weight_set(en4, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
|
|
|
|
evas_object_size_hint_align_set(en4, EVAS_HINT_FILL, EVAS_HINT_FILL);
|
|
|
|
elm_grid_pack(gd, en4, 5, 65, 90, 20);
|
|
|
|
evas_object_show(en4);
|
|
|
|
|
|
|
|
ch = elm_check_add(win);
|
|
|
|
evas_object_size_hint_weight_set(ch, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
|
|
|
|
evas_object_size_hint_align_set(ch, EVAS_HINT_FILL, EVAS_HINT_FILL);
|
|
|
|
elm_object_text_set(ch, "Horizontal Bounce Set");
|
|
|
|
elm_check_state_set(ch, EINA_TRUE);
|
|
|
|
evas_object_smart_callback_add(ch, "changed", horizontal_bounce_changed_cb, en4);
|
|
|
|
elm_grid_pack(gd, ch, 5, 85, 45, 10);
|
|
|
|
evas_object_show(ch);
|
|
|
|
|
|
|
|
ch = elm_check_add(win);
|
|
|
|
evas_object_size_hint_weight_set(ch, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
|
|
|
|
evas_object_size_hint_align_set(ch, EVAS_HINT_FILL, EVAS_HINT_FILL);
|
|
|
|
elm_object_text_set(ch, "Vertical Bounce Set");
|
|
|
|
elm_check_state_set(ch, EINA_TRUE);
|
|
|
|
evas_object_smart_callback_add(ch, "changed", vertical_bounce_changed_cb, en4);
|
|
|
|
elm_grid_pack(gd, ch, 50, 85, 45, 10);
|
|
|
|
evas_object_show(ch);
|
|
|
|
|
|
|
|
evas_object_resize(win, 320, 320);
|
|
|
|
evas_object_show(win);
|
|
|
|
}
|
|
|
|
|
2015-04-02 02:37:37 -07:00
|
|
|
typedef struct {
|
|
|
|
Evas_Object *en_regex;
|
|
|
|
Evas_Object *lb_regex;
|
|
|
|
Evas_Object *en_single;
|
|
|
|
Evas_Object *en_multi;
|
|
|
|
Elm_Validator_Regexp *re;
|
|
|
|
} _test_regex_data_t;
|
|
|
|
|
|
|
|
static void
|
|
|
|
_test_regex_data_del(void *data,
|
|
|
|
Evas *e EINA_UNUSED,
|
|
|
|
Evas_Object *obj EINA_UNUSED,
|
|
|
|
void *event_info EINA_UNUSED)
|
|
|
|
{
|
|
|
|
_test_regex_data_t *test_data = data;
|
|
|
|
if (test_data->re) elm_validator_regexp_free(test_data->re);
|
|
|
|
free(test_data);
|
|
|
|
}
|
|
|
|
|
|
|
|
static void
|
|
|
|
_test_regex_bt_cb(void *data,
|
|
|
|
Evas_Object *obj EINA_UNUSED,
|
|
|
|
void *event_info EINA_UNUSED)
|
|
|
|
{
|
|
|
|
int status;
|
|
|
|
_test_regex_data_t *test_data = data;
|
|
|
|
Eina_Strbuf *tmp;
|
|
|
|
|
|
|
|
if (test_data->re)
|
|
|
|
{
|
2016-08-10 07:23:04 -07:00
|
|
|
efl_event_callback_del(test_data->en_single, ELM_ENTRY_EVENT_VALIDATE, elm_validator_regexp_helper, test_data->re);
|
|
|
|
efl_event_callback_del(test_data->en_multi, ELM_ENTRY_EVENT_VALIDATE, elm_validator_regexp_helper, test_data->re);
|
2015-04-02 02:37:37 -07:00
|
|
|
elm_validator_regexp_free(test_data->re);
|
|
|
|
}
|
|
|
|
test_data->re = elm_validator_regexp_new(elm_entry_entry_get(test_data->en_regex), NULL);
|
|
|
|
|
|
|
|
status = elm_validator_regexp_status_get(test_data->re);
|
|
|
|
tmp = eina_strbuf_manage_new(strdup("Regex error: "));
|
|
|
|
switch (status)
|
|
|
|
{
|
|
|
|
case ELM_REG_NOERROR:
|
|
|
|
{
|
|
|
|
eina_strbuf_append(tmp, "No error. Regex maches to the Entrys text.");
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
case ELM_REG_BADPAT:
|
|
|
|
{
|
|
|
|
eina_strbuf_append(tmp, "Invalid regular expression.");
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
default:
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
if (!status)
|
|
|
|
{
|
2016-08-10 07:23:04 -07:00
|
|
|
efl_event_callback_add(test_data->en_single, ELM_ENTRY_EVENT_VALIDATE, elm_validator_regexp_helper, test_data->re);
|
|
|
|
efl_event_callback_add(test_data->en_multi, ELM_ENTRY_EVENT_VALIDATE, elm_validator_regexp_helper, test_data->re);
|
2015-04-02 02:37:37 -07:00
|
|
|
}
|
|
|
|
|
|
|
|
elm_object_text_set(test_data->lb_regex, eina_strbuf_string_get(tmp));
|
|
|
|
eina_strbuf_free(tmp);
|
|
|
|
}
|
|
|
|
|
|
|
|
static inline Evas_Object *
|
|
|
|
_test_regex_entry_add(Evas_Object *parent, Eina_Bool is_singleline)
|
|
|
|
{
|
|
|
|
Evas_Object *entry = elm_entry_add(parent);
|
|
|
|
elm_entry_scrollable_set(entry, EINA_TRUE);
|
|
|
|
elm_entry_single_line_set(entry, is_singleline);
|
|
|
|
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);
|
|
|
|
elm_entry_editable_set(entry, EINA_TRUE);
|
|
|
|
evas_object_show(entry);
|
|
|
|
return entry;
|
|
|
|
}
|
|
|
|
|
|
|
|
void
|
|
|
|
test_entry_regex(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
|
|
|
|
{
|
|
|
|
Evas_Object *win, *scr, *box;
|
|
|
|
Evas_Object *item, *label, *bt, *sep;
|
|
|
|
_test_regex_data_t *test_data;
|
|
|
|
#define REGEX "^[0-9]*$"
|
|
|
|
|
|
|
|
test_data = malloc(sizeof(_test_regex_data_t));
|
|
|
|
|
|
|
|
win = elm_win_util_standard_add("Entry", "Entry Regex Test");
|
|
|
|
elm_win_autodel_set(win, EINA_TRUE);
|
|
|
|
evas_object_event_callback_add(win, EVAS_CALLBACK_DEL,
|
|
|
|
_test_regex_data_del, test_data);
|
|
|
|
|
|
|
|
scr = elm_scroller_add(win);
|
|
|
|
elm_scroller_bounce_set(scr, EINA_FALSE, EINA_TRUE);
|
|
|
|
elm_scroller_policy_set(scr, ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_AUTO);
|
|
|
|
evas_object_size_hint_weight_set(scr, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
|
|
|
|
elm_win_resize_object_add(win, scr);
|
|
|
|
evas_object_show(scr);
|
|
|
|
|
|
|
|
box = elm_box_add(win);
|
|
|
|
evas_object_size_hint_weight_set(box, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
|
|
|
|
elm_box_homogeneous_set(box, EINA_FALSE);
|
|
|
|
elm_object_content_set(scr, box);
|
|
|
|
|
|
|
|
evas_object_show(box);
|
|
|
|
|
|
|
|
label = elm_label_add(box);
|
|
|
|
elm_object_text_set(label, "Regular Expression");
|
|
|
|
elm_box_pack_end(box, label);
|
|
|
|
evas_object_show(label);
|
|
|
|
|
|
|
|
item = elm_box_add(win);
|
|
|
|
evas_object_size_hint_weight_set(item, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
|
|
|
|
evas_object_size_hint_align_set(item, EVAS_HINT_FILL, EVAS_HINT_FILL);
|
|
|
|
elm_box_horizontal_set(item, EINA_TRUE);
|
|
|
|
elm_box_homogeneous_set(item, EINA_FALSE);
|
|
|
|
evas_object_show(item);
|
|
|
|
elm_box_pack_end(box, item);
|
|
|
|
|
|
|
|
test_data->en_regex = _test_regex_entry_add(item, EINA_TRUE);
|
|
|
|
elm_box_pack_end(item, test_data->en_regex);
|
|
|
|
|
|
|
|
bt = elm_button_add(item);
|
|
|
|
elm_object_text_set(bt, "Set");
|
|
|
|
evas_object_smart_callback_add(bt, "clicked", _test_regex_bt_cb, test_data);
|
|
|
|
evas_object_show(bt);
|
|
|
|
elm_box_pack_end(item, bt);
|
|
|
|
|
|
|
|
test_data->lb_regex = elm_label_add(box);
|
|
|
|
elm_object_text_set(test_data->lb_regex, "Regex error: no error.");
|
|
|
|
elm_box_pack_end(box, test_data->lb_regex);
|
|
|
|
evas_object_show(test_data->lb_regex);
|
|
|
|
|
|
|
|
sep = elm_separator_add(box);
|
|
|
|
elm_separator_horizontal_set(sep, EINA_TRUE);
|
|
|
|
evas_object_show(sep);
|
|
|
|
elm_box_pack_end(box, sep);
|
|
|
|
|
|
|
|
label = elm_label_add(box);
|
|
|
|
elm_object_text_set(label, "Test regex in single line entry");
|
|
|
|
elm_box_pack_end(box, label);
|
|
|
|
evas_object_show(label);
|
|
|
|
|
|
|
|
test_data->en_single = _test_regex_entry_add(box, EINA_TRUE);
|
|
|
|
elm_box_pack_end(box, test_data->en_single);
|
|
|
|
|
|
|
|
label = elm_label_add(box);
|
|
|
|
elm_object_text_set(label, "Test regex in multi line entry");
|
|
|
|
elm_box_pack_end(box, label);
|
|
|
|
evas_object_show(label);
|
|
|
|
|
|
|
|
test_data->en_multi = _test_regex_entry_add(box, EINA_FALSE);
|
|
|
|
elm_box_pack_end(box, test_data->en_multi);
|
|
|
|
|
|
|
|
test_data->re = elm_validator_regexp_new(REGEX, NULL);
|
|
|
|
elm_entry_entry_set(test_data->en_regex, REGEX);
|
2016-08-10 07:23:04 -07:00
|
|
|
efl_event_callback_add(test_data->en_single, ELM_ENTRY_EVENT_VALIDATE, elm_validator_regexp_helper, test_data->re);
|
|
|
|
efl_event_callback_add(test_data->en_multi, ELM_ENTRY_EVENT_VALIDATE, elm_validator_regexp_helper, test_data->re);
|
2015-04-02 02:37:37 -07:00
|
|
|
|
|
|
|
evas_object_resize(win, 400, 400);
|
|
|
|
evas_object_show(win);
|
|
|
|
|
|
|
|
#undef REGEX
|
|
|
|
}
|
|
|
|
|
Remove elm_notepad
Notepad had a big issue: users couldn't access the entry, so notepad
was something near to an useless widget.
We needed to choose between wrap all entry functions or add these file
save / load and autosave features to entries.
As discussed on the emails list, we decided to go with the second
option, so we won't have an extra widget with lots of wrap functions.
Notepad was internally just an elm_entry with a scroll, so using
a scrolled entry with a file set will do the job.
I've added a test called Entry Notepad that looks like the removed
Notepad test. But we will see the improvements - you can clear the entry
or whatever you want, because the entry is the object you are creating.
If you were using elm_notepad before, just s/notepad/scrolled_entry
and almost everything should work fine. Another change was the function
file_save(obj, file, format), is now just file_save(obj), and the
file and format used are defined by file_set().
At last, some getters were added.
SVN revision: 54145
2010-11-04 04:56:15 -07:00
|
|
|
static void
|
2013-08-31 18:18:03 -07:00
|
|
|
_scrolled_entry_clear(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
|
Remove elm_notepad
Notepad had a big issue: users couldn't access the entry, so notepad
was something near to an useless widget.
We needed to choose between wrap all entry functions or add these file
save / load and autosave features to entries.
As discussed on the emails list, we decided to go with the second
option, so we won't have an extra widget with lots of wrap functions.
Notepad was internally just an elm_entry with a scroll, so using
a scrolled entry with a file set will do the job.
I've added a test called Entry Notepad that looks like the removed
Notepad test. But we will see the improvements - you can clear the entry
or whatever you want, because the entry is the object you are creating.
If you were using elm_notepad before, just s/notepad/scrolled_entry
and almost everything should work fine. Another change was the function
file_save(obj, file, format), is now just file_save(obj), and the
file and format used are defined by file_set().
At last, some getters were added.
SVN revision: 54145
2010-11-04 04:56:15 -07:00
|
|
|
{
|
|
|
|
Evas_Object *en = data;
|
2011-12-30 02:02:19 -08:00
|
|
|
elm_object_text_set(en, "");
|
Remove elm_notepad
Notepad had a big issue: users couldn't access the entry, so notepad
was something near to an useless widget.
We needed to choose between wrap all entry functions or add these file
save / load and autosave features to entries.
As discussed on the emails list, we decided to go with the second
option, so we won't have an extra widget with lots of wrap functions.
Notepad was internally just an elm_entry with a scroll, so using
a scrolled entry with a file set will do the job.
I've added a test called Entry Notepad that looks like the removed
Notepad test. But we will see the improvements - you can clear the entry
or whatever you want, because the entry is the object you are creating.
If you were using elm_notepad before, just s/notepad/scrolled_entry
and almost everything should work fine. Another change was the function
file_save(obj, file, format), is now just file_save(obj), and the
file and format used are defined by file_set().
At last, some getters were added.
SVN revision: 54145
2010-11-04 04:56:15 -07:00
|
|
|
}
|
|
|
|
|
2012-02-23 23:41:38 -08:00
|
|
|
static void
|
2013-08-31 18:18:03 -07:00
|
|
|
_scrolled_entry_save(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
|
2012-02-23 23:41:38 -08:00
|
|
|
{
|
|
|
|
Evas_Object *en = data;
|
|
|
|
elm_entry_file_save(en);
|
|
|
|
}
|
|
|
|
|
|
|
|
static void
|
2013-08-31 18:18:03 -07:00
|
|
|
auto_save_changed_cb(void *data, Evas_Object *obj, void *event_info EINA_UNUSED)
|
2012-02-23 23:41:38 -08:00
|
|
|
{
|
2012-03-08 06:59:38 -08:00
|
|
|
Evas_Object *en;
|
|
|
|
en = (Evas_Object*)data;
|
2012-02-23 23:41:38 -08:00
|
|
|
|
2012-03-08 06:59:38 -08:00
|
|
|
elm_entry_autosave_set(en, elm_check_state_get(obj));
|
2012-02-23 23:41:38 -08:00
|
|
|
}
|
|
|
|
|
Remove elm_notepad
Notepad had a big issue: users couldn't access the entry, so notepad
was something near to an useless widget.
We needed to choose between wrap all entry functions or add these file
save / load and autosave features to entries.
As discussed on the emails list, we decided to go with the second
option, so we won't have an extra widget with lots of wrap functions.
Notepad was internally just an elm_entry with a scroll, so using
a scrolled entry with a file set will do the job.
I've added a test called Entry Notepad that looks like the removed
Notepad test. But we will see the improvements - you can clear the entry
or whatever you want, because the entry is the object you are creating.
If you were using elm_notepad before, just s/notepad/scrolled_entry
and almost everything should work fine. Another change was the function
file_save(obj, file, format), is now just file_save(obj), and the
file and format used are defined by file_set().
At last, some getters were added.
SVN revision: 54145
2010-11-04 04:56:15 -07:00
|
|
|
void
|
2013-08-31 18:18:03 -07:00
|
|
|
test_entry_notepad(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
|
Remove elm_notepad
Notepad had a big issue: users couldn't access the entry, so notepad
was something near to an useless widget.
We needed to choose between wrap all entry functions or add these file
save / load and autosave features to entries.
As discussed on the emails list, we decided to go with the second
option, so we won't have an extra widget with lots of wrap functions.
Notepad was internally just an elm_entry with a scroll, so using
a scrolled entry with a file set will do the job.
I've added a test called Entry Notepad that looks like the removed
Notepad test. But we will see the improvements - you can clear the entry
or whatever you want, because the entry is the object you are creating.
If you were using elm_notepad before, just s/notepad/scrolled_entry
and almost everything should work fine. Another change was the function
file_save(obj, file, format), is now just file_save(obj), and the
file and format used are defined by file_set().
At last, some getters were added.
SVN revision: 54145
2010-11-04 04:56:15 -07:00
|
|
|
{
|
2012-04-01 23:20:28 -07:00
|
|
|
Evas_Object *win, *bx, *bx2, *bt, *np, *ch;
|
Remove elm_notepad
Notepad had a big issue: users couldn't access the entry, so notepad
was something near to an useless widget.
We needed to choose between wrap all entry functions or add these file
save / load and autosave features to entries.
As discussed on the emails list, we decided to go with the second
option, so we won't have an extra widget with lots of wrap functions.
Notepad was internally just an elm_entry with a scroll, so using
a scrolled entry with a file set will do the job.
I've added a test called Entry Notepad that looks like the removed
Notepad test. But we will see the improvements - you can clear the entry
or whatever you want, because the entry is the object you are creating.
If you were using elm_notepad before, just s/notepad/scrolled_entry
and almost everything should work fine. Another change was the function
file_save(obj, file, format), is now just file_save(obj), and the
file and format used are defined by file_set().
At last, some getters were added.
SVN revision: 54145
2010-11-04 04:56:15 -07:00
|
|
|
|
2012-04-01 23:20:28 -07:00
|
|
|
win = elm_win_util_standard_add("entry-notepad", "Entry Notepad");
|
Remove elm_notepad
Notepad had a big issue: users couldn't access the entry, so notepad
was something near to an useless widget.
We needed to choose between wrap all entry functions or add these file
save / load and autosave features to entries.
As discussed on the emails list, we decided to go with the second
option, so we won't have an extra widget with lots of wrap functions.
Notepad was internally just an elm_entry with a scroll, so using
a scrolled entry with a file set will do the job.
I've added a test called Entry Notepad that looks like the removed
Notepad test. But we will see the improvements - you can clear the entry
or whatever you want, because the entry is the object you are creating.
If you were using elm_notepad before, just s/notepad/scrolled_entry
and almost everything should work fine. Another change was the function
file_save(obj, file, format), is now just file_save(obj), and the
file and format used are defined by file_set().
At last, some getters were added.
SVN revision: 54145
2010-11-04 04:56:15 -07:00
|
|
|
elm_win_autodel_set(win, EINA_TRUE);
|
|
|
|
|
|
|
|
bx = elm_box_add(win);
|
|
|
|
evas_object_size_hint_weight_set(bx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
|
|
|
|
elm_win_resize_object_add(win, bx);
|
|
|
|
evas_object_show(bx);
|
|
|
|
|
2011-06-17 02:44:31 -07:00
|
|
|
np = elm_entry_add(win);
|
|
|
|
elm_entry_scrollable_set(np, EINA_TRUE);
|
|
|
|
elm_entry_file_set(np, "note.txt", ELM_TEXT_FORMAT_PLAIN_UTF8);
|
Remove elm_notepad
Notepad had a big issue: users couldn't access the entry, so notepad
was something near to an useless widget.
We needed to choose between wrap all entry functions or add these file
save / load and autosave features to entries.
As discussed on the emails list, we decided to go with the second
option, so we won't have an extra widget with lots of wrap functions.
Notepad was internally just an elm_entry with a scroll, so using
a scrolled entry with a file set will do the job.
I've added a test called Entry Notepad that looks like the removed
Notepad test. But we will see the improvements - you can clear the entry
or whatever you want, because the entry is the object you are creating.
If you were using elm_notepad before, just s/notepad/scrolled_entry
and almost everything should work fine. Another change was the function
file_save(obj, file, format), is now just file_save(obj), and the
file and format used are defined by file_set().
At last, some getters were added.
SVN revision: 54145
2010-11-04 04:56:15 -07:00
|
|
|
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);
|
|
|
|
evas_object_show(np);
|
|
|
|
|
|
|
|
bx2 = elm_box_add(win);
|
|
|
|
elm_box_horizontal_set(bx2, EINA_TRUE);
|
2011-05-03 21:53:39 -07:00
|
|
|
elm_box_homogeneous_set(bx2, EINA_TRUE);
|
Remove elm_notepad
Notepad had a big issue: users couldn't access the entry, so notepad
was something near to an useless widget.
We needed to choose between wrap all entry functions or add these file
save / load and autosave features to entries.
As discussed on the emails list, we decided to go with the second
option, so we won't have an extra widget with lots of wrap functions.
Notepad was internally just an elm_entry with a scroll, so using
a scrolled entry with a file set will do the job.
I've added a test called Entry Notepad that looks like the removed
Notepad test. But we will see the improvements - you can clear the entry
or whatever you want, because the entry is the object you are creating.
If you were using elm_notepad before, just s/notepad/scrolled_entry
and almost everything should work fine. Another change was the function
file_save(obj, file, format), is now just file_save(obj), and the
file and format used are defined by file_set().
At last, some getters were added.
SVN revision: 54145
2010-11-04 04:56:15 -07:00
|
|
|
evas_object_size_hint_weight_set(bx2, EVAS_HINT_EXPAND, 0.0);
|
|
|
|
evas_object_size_hint_align_set(bx2, EVAS_HINT_FILL, EVAS_HINT_FILL);
|
|
|
|
|
|
|
|
bt = elm_button_add(win);
|
2011-06-29 00:11:54 -07:00
|
|
|
elm_object_text_set(bt, "Clear");
|
Remove elm_notepad
Notepad had a big issue: users couldn't access the entry, so notepad
was something near to an useless widget.
We needed to choose between wrap all entry functions or add these file
save / load and autosave features to entries.
As discussed on the emails list, we decided to go with the second
option, so we won't have an extra widget with lots of wrap functions.
Notepad was internally just an elm_entry with a scroll, so using
a scrolled entry with a file set will do the job.
I've added a test called Entry Notepad that looks like the removed
Notepad test. But we will see the improvements - you can clear the entry
or whatever you want, because the entry is the object you are creating.
If you were using elm_notepad before, just s/notepad/scrolled_entry
and almost everything should work fine. Another change was the function
file_save(obj, file, format), is now just file_save(obj), and the
file and format used are defined by file_set().
At last, some getters were added.
SVN revision: 54145
2010-11-04 04:56:15 -07:00
|
|
|
evas_object_smart_callback_add(bt, "clicked", _scrolled_entry_clear, np);
|
|
|
|
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_show(bt);
|
|
|
|
|
2012-02-23 23:41:38 -08:00
|
|
|
bt = elm_button_add(win);
|
|
|
|
elm_object_text_set(bt, "Save");
|
|
|
|
evas_object_smart_callback_add(bt, "clicked", _scrolled_entry_save, np);
|
|
|
|
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_show(bt);
|
|
|
|
|
|
|
|
ch = elm_check_add(win);
|
|
|
|
evas_object_size_hint_weight_set(ch, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
|
|
|
|
evas_object_size_hint_align_set(ch, EVAS_HINT_FILL, EVAS_HINT_FILL);
|
|
|
|
elm_object_text_set(ch, "Auto Save");
|
|
|
|
elm_check_state_set(ch, EINA_FALSE);
|
|
|
|
evas_object_smart_callback_add(ch, "changed", auto_save_changed_cb, np);
|
|
|
|
elm_box_pack_end(bx2, ch);
|
|
|
|
evas_object_show(ch);
|
|
|
|
|
Remove elm_notepad
Notepad had a big issue: users couldn't access the entry, so notepad
was something near to an useless widget.
We needed to choose between wrap all entry functions or add these file
save / load and autosave features to entries.
As discussed on the emails list, we decided to go with the second
option, so we won't have an extra widget with lots of wrap functions.
Notepad was internally just an elm_entry with a scroll, so using
a scrolled entry with a file set will do the job.
I've added a test called Entry Notepad that looks like the removed
Notepad test. But we will see the improvements - you can clear the entry
or whatever you want, because the entry is the object you are creating.
If you were using elm_notepad before, just s/notepad/scrolled_entry
and almost everything should work fine. Another change was the function
file_save(obj, file, format), is now just file_save(obj), and the
file and format used are defined by file_set().
At last, some getters were added.
SVN revision: 54145
2010-11-04 04:56:15 -07:00
|
|
|
elm_box_pack_end(bx, bx2);
|
|
|
|
evas_object_show(bx2);
|
|
|
|
|
|
|
|
evas_object_resize(win, 320, 300);
|
|
|
|
|
2011-08-03 08:01:39 -07:00
|
|
|
elm_object_focus_set(win, EINA_TRUE);
|
Remove elm_notepad
Notepad had a big issue: users couldn't access the entry, so notepad
was something near to an useless widget.
We needed to choose between wrap all entry functions or add these file
save / load and autosave features to entries.
As discussed on the emails list, we decided to go with the second
option, so we won't have an extra widget with lots of wrap functions.
Notepad was internally just an elm_entry with a scroll, so using
a scrolled entry with a file set will do the job.
I've added a test called Entry Notepad that looks like the removed
Notepad test. But we will see the improvements - you can clear the entry
or whatever you want, because the entry is the object you are creating.
If you were using elm_notepad before, just s/notepad/scrolled_entry
and almost everything should work fine. Another change was the function
file_save(obj, file, format), is now just file_save(obj), and the
file and format used are defined by file_set().
At last, some getters were added.
SVN revision: 54145
2010-11-04 04:56:15 -07:00
|
|
|
evas_object_show(win);
|
|
|
|
}
|
2012-12-03 04:49:13 -08:00
|
|
|
|
|
|
|
void
|
2013-08-31 18:18:03 -07:00
|
|
|
test_entry_emoticon(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED,
|
|
|
|
void *event_info EINA_UNUSED)
|
2012-12-03 04:49:13 -08:00
|
|
|
{
|
|
|
|
Evas_Object *win, *en;
|
|
|
|
|
|
|
|
win = elm_win_util_standard_add("entry-emoticon", "Entry Emoticon");
|
|
|
|
elm_win_autodel_set(win, EINA_TRUE);
|
|
|
|
|
|
|
|
en = elm_entry_add(win);
|
|
|
|
evas_object_size_hint_weight_set(en, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
|
|
|
|
elm_win_resize_object_add(win, en);
|
|
|
|
elm_entry_scrollable_set(en, EINA_TRUE);
|
|
|
|
elm_object_text_set(en,
|
|
|
|
"angry <item absize=64x64 vsize=ascent href=emoticon/angry></item> <br>"
|
|
|
|
"angry-shout <item absize=64x64 vsize=ascent href=emoticon/angry-shout></item> <br>"
|
|
|
|
"crazy-laugh <item absize=64x64 vsize=ascent href=emoticon/crazy-laugh></item> <br>"
|
|
|
|
"evil-laugh <item absize=64x64 vsize=ascent href=emoticon/evil-laugh></item> <br>"
|
|
|
|
"evil <item absize=64x64 vsize=ascent href=emoticon/evil></item> <br>"
|
|
|
|
"goggle-smile <item absize=64x64 vsize=ascent href=emoticon/goggle-smile></item> <br>"
|
|
|
|
"grumpy <item absize=64x64 vsize=ascent href=emoticon/grumpy></item> <br>"
|
|
|
|
"guilty <item absize=64x64 vsize=ascent href=emoticon/guilty></item> <br>"
|
|
|
|
"haha <item absize=64x64 vsize=ascent href=emoticon/haha></item> <br>"
|
|
|
|
"happy-panting <item absize=64x64 vsize=ascent href=emoticon/happy-panting></item> <br>"
|
|
|
|
"happy <item absize=64x64 vsize=ascent href=emoticon/happy></item> <br>"
|
|
|
|
"indifferent <item absize=64x64 vsize=ascent href=emoticon/indifferent></item> <br>"
|
|
|
|
"kiss <item absize=64x64 vsize=ascent href=emoticon/kiss></item> <br>"
|
|
|
|
"knowing-grin <item absize=64x64 vsize=ascent href=emoticon/knowing-grin></item> <br>"
|
|
|
|
"laugh <item absize=64x64 vsize=ascent href=emoticon/laugh></item> <br>"
|
|
|
|
"little-bit-sorry <item absize=64x64 vsize=ascent href=emoticon/little-bit-sorry></item> <br>"
|
|
|
|
"love-lots <item absize=64x64 vsize=ascent href=emoticon/love-lots></item> <br>"
|
|
|
|
"love <item absize=64x64 vsize=ascent href=emoticon/love></item> <br>"
|
|
|
|
"minimal-smile <item absize=64x64 vsize=ascent href=emoticon/minimal-smile></item> <br>"
|
|
|
|
"not-happy <item absize=64x64 vsize=ascent href=emoticon/not-happy></item> <br>"
|
|
|
|
"not-impressed <item absize=64x64 vsize=ascent href=emoticon/not-impressed></item> <br>"
|
|
|
|
"omg <item absize=64x64 vsize=ascent href=emoticon/omg></item> <br>"
|
|
|
|
"opensmile <item absize=64x64 vsize=ascent href=emoticon/opensmile></item> <br>"
|
|
|
|
"smile <item absize=64x64 vsize=ascent href=emoticon/smile></item> <br>"
|
|
|
|
"sorry <item absize=64x64 vsize=ascent href=emoticon/sorry></item> <br>"
|
|
|
|
"squint-laugh <item absize=64x64 vsize=ascent href=emoticon/squint-laugh></item> <br>"
|
|
|
|
"surprised <item absize=64x64 vsize=ascent href=emoticon/surprised></item> <br>"
|
|
|
|
"suspicious <item absize=64x64 vsize=ascent href=emoticon/suspicious></item> <br>"
|
|
|
|
"tongue-dangling <item absize=64x64 vsize=ascent href=emoticon/tongue-dangling></item> <br>"
|
|
|
|
"tongue-poke <item absize=64x64 vsize=ascent href=emoticon/tongue-poke></item> <br>"
|
|
|
|
"uh <item absize=64x64 vsize=ascent href=emoticon/uh></item> <br>"
|
|
|
|
"unhappy <item absize=64x64 vsize=ascent href=emoticon/unhappy></item> <br>"
|
|
|
|
"very-sorry <item absize=64x64 vsize=ascent href=emoticon/very-sorry></item> <br>"
|
|
|
|
"what <item absize=64x64 vsize=ascent href=emoticon/what></item> <br>"
|
|
|
|
"wink <item absize=64x64 vsize=ascent href=emoticon/wink></item> <br>"
|
|
|
|
"worried <item absize=64x64 vsize=ascent href=emoticon/worried></item> <br>"
|
|
|
|
"wtf <item absize=64x64 vsize=ascent href=emoticon/wtf></item> <br>"
|
|
|
|
);
|
|
|
|
evas_object_show(en);
|
|
|
|
elm_object_focus_set(en, EINA_TRUE);
|
2013-12-14 12:45:57 -08:00
|
|
|
|
|
|
|
evas_object_resize(win, 400, 500);
|
|
|
|
evas_object_show(win);
|
2012-12-03 04:49:13 -08:00
|
|
|
}
|
2016-06-08 08:37:35 -07:00
|
|
|
|
Edje, Elementary: Remove <password=off> tag when password mode is disabled
Summary:
When edje_password_show_last option is enabled, the edje_entry uses <password=off>
for showing last character. But, when password mode is disabled by the elm_entry,
<password=off> is remained in the text. It can cause some problems.
Because, there is no way to control password mode by API for the edje_entry.
The elm_entry can't remove <password=off> tag before getting text from the edje_entry.
So, the patch adds edje_object_part_text_hide_visible_password() function and
the elm_entry will use this when elm_layout_theme_apply() is called.
@fix
Test Plan:
1. Run "elementary_test".
2. Show "Entry Password" demo. (Newly added by this patch)
3. Password mode is enabled. Put some text.
4. Click "Show Password" check box to disable password mode.
5. Put more text.
6. Click "Hide Password" check box to enable password mode again.
7. See a character among the text is visible. (without this patch)
Reviewers: tasn, herdsman, cedric, jpeg, thiepha, raster
Reviewed By: raster
Subscribers: Blackmole, z-wony, woohyun
Differential Revision: https://phab.enlightenment.org/D3988
2016-06-20 05:11:25 -07:00
|
|
|
static void
|
|
|
|
password_entry_changed_cb(void *data EINA_UNUSED, Evas_Object *obj, void *event_info EINA_UNUSED)
|
|
|
|
{
|
|
|
|
printf("Password : %s\n", elm_entry_entry_get(obj));
|
|
|
|
}
|
|
|
|
|
|
|
|
static void
|
|
|
|
show_password_check_changed_cb(void *data, Evas_Object *obj, void *event_info EINA_UNUSED)
|
|
|
|
{
|
|
|
|
Evas_Object *en = (Evas_Object *)data;
|
|
|
|
Eina_Bool state = elm_check_state_get(obj);
|
|
|
|
|
|
|
|
if (state)
|
|
|
|
{
|
|
|
|
printf(" * Show Password...\n");
|
|
|
|
elm_object_text_set(obj, "Hide Password");
|
|
|
|
elm_entry_password_set(en, EINA_FALSE);
|
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
|
|
|
printf(" * Hide Password...\n");
|
|
|
|
elm_object_text_set(obj, "Show Password");
|
|
|
|
elm_entry_password_set(en, EINA_TRUE);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
void
|
|
|
|
test_entry_password(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
|
|
|
|
{
|
|
|
|
Evas_Object *win, *bx, *en, *ck;
|
|
|
|
|
|
|
|
edje_password_show_last_set(EINA_TRUE);
|
|
|
|
edje_password_show_last_timeout_set(-1);
|
|
|
|
|
|
|
|
win = elm_win_util_standard_add("entry", "Entry");
|
|
|
|
elm_win_autodel_set(win, EINA_TRUE);
|
|
|
|
|
|
|
|
bx = elm_box_add(win);
|
|
|
|
evas_object_size_hint_weight_set(bx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
|
|
|
|
elm_win_resize_object_add(win, bx);
|
|
|
|
evas_object_show(bx);
|
|
|
|
|
|
|
|
en = elm_entry_add(bx);
|
|
|
|
elm_entry_single_line_set(en, EINA_TRUE);
|
|
|
|
elm_entry_scrollable_set(en, EINA_TRUE);
|
|
|
|
elm_entry_password_set(en, EINA_TRUE);
|
|
|
|
elm_object_part_text_set(en, "elm.guide", "Enter Your Password");
|
|
|
|
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_box_pack_end(bx, en);
|
|
|
|
evas_object_show(en);
|
|
|
|
|
|
|
|
evas_object_smart_callback_add(en, "changed", password_entry_changed_cb, NULL);
|
|
|
|
|
|
|
|
ck = elm_check_add(bx);
|
|
|
|
elm_object_text_set(ck, "Show Password");
|
|
|
|
evas_object_smart_callback_add(ck, "changed", show_password_check_changed_cb, en);
|
|
|
|
elm_box_pack_end(bx, ck);
|
|
|
|
evas_object_show(ck);
|
|
|
|
|
|
|
|
evas_object_resize(win, 300, 100);
|
|
|
|
evas_object_show(win);
|
|
|
|
}
|
|
|
|
|
2016-10-05 07:10:20 -07:00
|
|
|
static void
|
|
|
|
my_efl_ui_text_anchor_hover_opened(void *data EINA_UNUSED, const Efl_Event *event)
|
|
|
|
{
|
|
|
|
Eo *bt;
|
|
|
|
Eo *en = data;
|
|
|
|
|
|
|
|
Efl_Ui_Text_Anchor_Hover_Info *ei = event->info;
|
|
|
|
|
|
|
|
bt = efl_add(ELM_BUTTON_CLASS, en);
|
|
|
|
elm_object_text_set(bt, ei->anchor_info->name);
|
|
|
|
evas_object_show(bt);
|
|
|
|
elm_object_part_content_set(ei->hover, "middle", bt);
|
|
|
|
|
|
|
|
printf("anchor hover\n");
|
|
|
|
}
|
|
|
|
|
2016-07-11 04:21:56 -07:00
|
|
|
static void
|
|
|
|
my_efl_ui_text_bt_3(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
|
|
|
|
{
|
|
|
|
Eo *sel_start, *sel_end;
|
|
|
|
|
|
|
|
efl_ui_text_interactive_selection_cursors_get(data, &sel_start, &sel_end);
|
|
|
|
const char *s = efl_canvas_text_range_text_get(data, sel_start, sel_end);
|
|
|
|
|
|
|
|
printf("SELECTION REGION: %d - %d\n",
|
|
|
|
efl_canvas_text_cursor_position_get(sel_start),
|
|
|
|
efl_canvas_text_cursor_position_get(sel_end));
|
|
|
|
printf("SELECTION:\n");
|
|
|
|
if (s) printf("%s\n", s);
|
|
|
|
}
|
|
|
|
|
|
|
|
static void
|
|
|
|
my_efl_ui_text_bt_4(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
|
|
|
|
{
|
|
|
|
Evas_Object *en = data;
|
|
|
|
efl_canvas_text_cursor_object_item_insert(efl_canvas_text_cursor_get(en),
|
|
|
|
"size=32x32 href=emoticon");
|
|
|
|
}
|
|
|
|
|
2016-06-08 08:37:35 -07:00
|
|
|
static void
|
|
|
|
my_efl_ui_text_bt_5(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
|
|
|
|
{
|
|
|
|
Evas_Object *en = data;
|
|
|
|
efl_ui_text_scrollable_set(en, !efl_ui_text_scrollable_get(en));
|
|
|
|
}
|
|
|
|
|
|
|
|
void
|
|
|
|
test_efl_ui_text(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
|
|
|
|
{
|
|
|
|
Evas_Object *win, *bx, *bx2, *bx3, *bt, *en, *ck;
|
2016-10-05 07:10:20 -07:00
|
|
|
Efl_Canvas_Text_Cursor *main_cur, *cur;
|
2016-06-08 08:37:35 -07:00
|
|
|
|
|
|
|
win = elm_win_util_standard_add("entry", "Entry");
|
|
|
|
elm_win_autodel_set(win, EINA_TRUE);
|
|
|
|
|
|
|
|
bx = elm_box_add(win);
|
|
|
|
evas_object_size_hint_weight_set(bx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
|
|
|
|
elm_win_resize_object_add(win, bx);
|
|
|
|
evas_object_show(bx);
|
|
|
|
|
2016-08-15 06:44:41 -07:00
|
|
|
en = efl_add(EFL_UI_TEXT_CLASS, win);
|
2016-06-08 08:37:35 -07:00
|
|
|
printf("Added Efl.Ui.Text object\n");
|
2016-07-10 07:30:51 -07:00
|
|
|
efl_text_set(en, "Hello world! Goodbye world! This is a test text for the"
|
|
|
|
" new UI Text widget.\xE2\x80\xA9This is the next paragraph.\nThis"
|
|
|
|
" is the next line.\nThis is Yet another line! Line and paragraph"
|
|
|
|
" separators are actually different!");
|
2016-10-05 07:10:20 -07:00
|
|
|
|
|
|
|
main_cur = efl_canvas_text_cursor_get(en);
|
2016-06-22 05:12:15 -07:00
|
|
|
cur = efl_ui_text_cursor_new(en);
|
2016-10-05 07:10:20 -07:00
|
|
|
|
2016-06-22 05:12:15 -07:00
|
|
|
efl_canvas_text_cursor_position_set(cur, 2);
|
|
|
|
efl_canvas_text_cursor_object_item_insert(cur, "size=32x32 href=emoticon");
|
2016-10-05 07:10:20 -07:00
|
|
|
efl_canvas_text_cursor_position_set(cur, 50);
|
2016-07-11 04:21:56 -07:00
|
|
|
efl_canvas_text_cursor_object_item_insert(cur, "size=32x32 href=emoticon");
|
2016-10-05 07:10:20 -07:00
|
|
|
|
|
|
|
efl_canvas_text_cursor_position_set(main_cur, 5);
|
|
|
|
efl_canvas_text_cursor_position_set(cur, 20);
|
|
|
|
|
|
|
|
efl_canvas_text_annotation_insert(en, main_cur, cur, "a href=#hello");
|
|
|
|
|
2016-07-10 07:30:51 -07:00
|
|
|
efl_ui_text_interactive_editable_set(en, EINA_TRUE);
|
2016-07-10 09:52:14 -07:00
|
|
|
efl_ui_text_selection_handler_disabled_set(en, EINA_FALSE);
|
2016-07-10 07:30:51 -07:00
|
|
|
efl_ui_text_scrollable_set(en, EINA_TRUE);
|
2016-06-08 08:37:35 -07:00
|
|
|
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_box_pack_end(bx, en);
|
|
|
|
evas_object_show(en);
|
|
|
|
elm_object_focus_set(en, EINA_TRUE);
|
|
|
|
|
|
|
|
bx2 = elm_box_add(win);
|
|
|
|
elm_box_horizontal_set(bx2, EINA_TRUE);
|
|
|
|
evas_object_size_hint_weight_set(bx2, EVAS_HINT_EXPAND, 0.0);
|
|
|
|
evas_object_size_hint_align_set(bx2, EVAS_HINT_FILL, EVAS_HINT_FILL);
|
|
|
|
|
|
|
|
bt = elm_button_add(win);
|
|
|
|
elm_object_text_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);
|
|
|
|
elm_box_pack_end(bx2, bt);
|
|
|
|
elm_object_focus_allow_set(bt, EINA_FALSE);
|
|
|
|
evas_object_show(bt);
|
|
|
|
|
|
|
|
bt = elm_button_add(win);
|
|
|
|
elm_object_text_set(bt, "Sel");
|
2016-07-11 04:21:56 -07:00
|
|
|
evas_object_smart_callback_add(bt, "clicked", my_efl_ui_text_bt_3, en);
|
2016-06-08 08:37:35 -07:00
|
|
|
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);
|
|
|
|
elm_object_focus_allow_set(bt, EINA_FALSE);
|
|
|
|
evas_object_show(bt);
|
|
|
|
|
|
|
|
bt = elm_button_add(win);
|
|
|
|
elm_object_text_set(bt, "Ins");
|
2016-07-11 04:21:56 -07:00
|
|
|
evas_object_smart_callback_add(bt, "clicked", my_efl_ui_text_bt_4, en);
|
2016-06-08 08:37:35 -07:00
|
|
|
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);
|
|
|
|
elm_object_focus_allow_set(bt, EINA_FALSE);
|
|
|
|
evas_object_show(bt);
|
|
|
|
|
|
|
|
bt = elm_button_add(win);
|
|
|
|
elm_object_text_set(bt, "Scrl");
|
|
|
|
evas_object_smart_callback_add(bt, "clicked", my_efl_ui_text_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);
|
|
|
|
elm_object_focus_allow_set(bt, EINA_FALSE);
|
|
|
|
evas_object_show(bt);
|
|
|
|
|
|
|
|
bt = elm_button_add(win);
|
|
|
|
elm_object_text_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);
|
|
|
|
elm_object_focus_allow_set(bt, EINA_FALSE);
|
|
|
|
evas_object_show(bt);
|
|
|
|
|
|
|
|
bt = elm_button_add(win);
|
|
|
|
elm_object_text_set(bt, "Edit");
|
|
|
|
evas_object_smart_callback_add(bt, "clicked", my_entry_bt_7, 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);
|
|
|
|
elm_object_focus_allow_set(bt, EINA_FALSE);
|
|
|
|
evas_object_show(bt);
|
|
|
|
|
|
|
|
bx3 = elm_box_add(win);
|
|
|
|
elm_box_horizontal_set(bx3, EINA_TRUE);
|
|
|
|
evas_object_size_hint_weight_set(bx3, EVAS_HINT_EXPAND, 0.0);
|
|
|
|
evas_object_size_hint_align_set(bx3, EVAS_HINT_FILL, EVAS_HINT_FILL);
|
|
|
|
|
|
|
|
ck = elm_check_add(win);
|
|
|
|
elm_object_text_set(ck, "Context Menu Disable");
|
|
|
|
evas_object_smart_callback_add(ck, "changed", changed_cb1, ck);
|
|
|
|
elm_box_pack_end(bx3, ck);
|
|
|
|
evas_object_show(ck);
|
|
|
|
|
|
|
|
ck = elm_check_add(win);
|
|
|
|
elm_object_text_set(ck, "Select Allow");
|
|
|
|
// elm_check_state_set(ck, elm_entry_select_allow_get(en));
|
|
|
|
evas_object_smart_callback_add(ck, "changed", select_allow_check_changed_cb, en);
|
|
|
|
elm_box_pack_end(bx3, ck);
|
|
|
|
evas_object_show(ck);
|
|
|
|
|
|
|
|
elm_box_pack_end(bx, bx3);
|
|
|
|
elm_box_pack_end(bx, bx2);
|
|
|
|
evas_object_show(bx3);
|
|
|
|
evas_object_show(bx2);
|
|
|
|
|
2016-10-05 07:10:20 -07:00
|
|
|
efl_event_callback_add(en, EFL_UI_TEXT_EVENT_ANCHOR_HOVER_OPENED, my_efl_ui_text_anchor_hover_opened, en);
|
|
|
|
|
2016-06-08 08:37:35 -07:00
|
|
|
evas_object_show(win);
|
|
|
|
}
|