Eina_Bool autosave : 1;
Eina_Bool usedown : 1;
Eina_Bool scroll : 1;
+ Eina_Bool h_bounce : 1;
+ Eina_Bool v_bounce : 1;
Eina_Bool input_panel_enable : 1;
Eina_Bool autoreturnkey : 1;
Eina_Bool autoperiod : 1;
edje_object_signal_emit(wd->ent, "elm,action,focus", "elm");
edje_object_message_signal_process(wd->ent);
edje_object_scale_set(wd->ent, elm_widget_scale_get(obj) * _elm_config->scale);
- elm_smart_scroller_mirrored_set(wd->scroller, elm_widget_mirrored_get(obj));
- elm_smart_scroller_object_theme_set(obj, wd->scroller, "scroller", "entry",
- elm_widget_style_get(obj));
if (wd->scroll)
{
const char *str;
Evas_Object *edj;
+ elm_smart_scroller_mirrored_set(wd->scroller, elm_widget_mirrored_get(obj));
+ elm_smart_scroller_object_theme_set(obj, wd->scroller, "scroller", "entry",
+ elm_widget_style_get(obj));
edj = elm_smart_scroller_edje_object_get(wd->scroller);
str = edje_object_data_get(edj, "focus_highlight");
if ((str) && (!strcmp(str, "on")))
evas_object_smart_callback_add(obj, "sub-object-del", _sub_del, wd);
- wd->scroller = elm_smart_scroller_add(e);
- elm_widget_sub_object_add(obj, wd->scroller);
- elm_smart_scroller_widget_set(wd->scroller, obj);
- elm_smart_scroller_object_theme_set(obj, wd->scroller, "scroller", "entry",
- elm_widget_style_get(obj));
- evas_object_size_hint_weight_set(wd->scroller, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(wd->scroller, EVAS_HINT_FILL, EVAS_HINT_FILL);
- elm_smart_scroller_bounce_allow_set(wd->scroller, EINA_FALSE, EINA_FALSE);
- elm_smart_scroller_propagate_events_set(wd->scroller, EINA_TRUE);
-
wd->linewrap = ELM_WRAP_WORD;
wd->editable = EINA_TRUE;
wd->disabled = EINA_FALSE;
wd->context_menu = EINA_TRUE;
wd->magnifier_enabled = EINA_TRUE;
wd->autosave = EINA_TRUE;
+ wd->scroll = EINA_FALSE;
wd->cnp_mode = ELM_CNP_MODE_MARKUP;
wd->autoperiod = EINA_TRUE;
{
ELM_CHECK_WIDTYPE(obj, widtype);
Widget_Data *wd = elm_widget_data_get(obj);
+ const Elm_Scroller_Policy map[3] =
+ {
+ ELM_SMART_SCROLLER_POLICY_AUTO,
+ ELM_SMART_SCROLLER_POLICY_ON,
+ ELM_SMART_SCROLLER_POLICY_OFF
+ };
if (!wd) return;
scroll = !!scroll;
if (wd->scroll == scroll) return;
wd->scroll = scroll;
if (wd->scroll)
{
- elm_widget_sub_object_del(obj, wd->scroller);
- elm_widget_resize_object_set(obj, wd->scroller);
+ if (!wd->scroller)
+ {
+ wd->scroller = elm_smart_scroller_add(evas_object_evas_get(obj));
+ elm_widget_resize_object_set(obj, wd->scroller);
+ elm_smart_scroller_widget_set(wd->scroller, obj);
+ elm_smart_scroller_object_theme_set(obj, wd->scroller, "scroller", "entry",
+ elm_widget_style_get(obj));
+ evas_object_size_hint_weight_set(wd->scroller, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ evas_object_size_hint_align_set(wd->scroller, EVAS_HINT_FILL, EVAS_HINT_FILL);
+ evas_object_propagate_events_set(wd->scroller, EINA_TRUE);
+ evas_object_propagate_events_set(elm_smart_scroller_edje_object_get(wd->scroller),
+ EINA_TRUE);
+ }
+ elm_smart_scroller_bounce_allow_set(wd->scroller, wd->h_bounce, wd->v_bounce);
+ if (wd->single_line)
+ elm_smart_scroller_policy_set(wd->scroller, ELM_SMART_SCROLLER_POLICY_OFF,
+ ELM_SMART_SCROLLER_POLICY_OFF);
+ else
+ elm_smart_scroller_policy_set(wd->scroller, map[wd->policy_h], map[wd->policy_v]);
elm_widget_sub_object_add(obj, wd->ent);
elm_smart_scroller_child_set(wd->scroller, wd->ent);
evas_object_show(wd->scroller);
elm_widget_on_show_region_hook_set(obj, _show_region_hook, obj);
- if (wd->single_line)
- {
- elm_smart_scroller_policy_set(wd->scroller,
- ELM_SMART_SCROLLER_POLICY_OFF,
- ELM_SMART_SCROLLER_POLICY_OFF);
- elm_smart_scroller_bounce_allow_set(wd->scroller, EINA_FALSE, EINA_FALSE);
- }
- else
- {
- const Elm_Scroller_Policy map[3] =
- {
- ELM_SMART_SCROLLER_POLICY_AUTO,
- ELM_SMART_SCROLLER_POLICY_ON,
- ELM_SMART_SCROLLER_POLICY_OFF
- };
- elm_smart_scroller_policy_set(wd->scroller,
- map[wd->policy_h],
- map[wd->policy_v]);
- elm_smart_scroller_bounce_allow_set(wd->scroller, EINA_FALSE, EINA_FALSE);
- }
}
else
{
- elm_smart_scroller_child_set(wd->scroller, NULL);
+ if (wd->scroller)
+ {
+ elm_smart_scroller_child_set(wd->scroller, NULL);
+ evas_object_smart_member_add(wd->scroller, obj);
+ elm_widget_sub_object_add(obj, wd->scroller);
+ evas_object_hide(wd->scroller);
+ }
elm_widget_sub_object_del(obj, wd->ent);
elm_widget_resize_object_set(obj, wd->ent);
- evas_object_smart_member_add(wd->scroller, obj);
- elm_widget_sub_object_add(obj, wd->scroller);
- evas_object_hide(wd->scroller);
elm_widget_on_show_region_hook_set(obj, NULL, NULL);
}
wd->lastw = -1;
ELM_CHECK_WIDTYPE(obj, widtype);
Widget_Data *wd = elm_widget_data_get(obj);
if (!wd) return;
+ wd->h_bounce = h_bounce;
+ wd->v_bounce = v_bounce;
elm_smart_scroller_bounce_allow_set(wd->scroller, h_bounce, v_bounce);
}