[elm] Init code placement fix -- gengrid.
SVN revision: 74002
This commit is contained in:
parent
0d1638272e
commit
18a193ad22
|
@ -2306,6 +2306,9 @@ _elm_gengrid_smart_sizing_eval(Evas_Object *obj __UNUSED__)
|
|||
static void
|
||||
_elm_gengrid_smart_add(Evas_Object *obj)
|
||||
{
|
||||
Eina_Bool bounce = _elm_config->thumbscroll_bounce_enable;
|
||||
Elm_Gengrid_Pan_Smart_Data *pan_data;
|
||||
|
||||
EVAS_SMART_DATA_ALLOC(obj, Elm_Gengrid_Smart_Data);
|
||||
|
||||
ELM_WIDGET_CLASS(_elm_gengrid_parent_sc)->base.add(obj);
|
||||
|
@ -2314,11 +2317,50 @@ _elm_gengrid_smart_add(Evas_Object *obj)
|
|||
evas_object_smart_member_add(priv->hit_rect, obj);
|
||||
elm_widget_sub_object_add(obj, priv->hit_rect);
|
||||
|
||||
/* common scroller hit rectangle setup -- it has to take place
|
||||
* AFTER smart_member_add() */
|
||||
/* common scroller hit rectangle setup */
|
||||
evas_object_color_set(priv->hit_rect, 0, 0, 0, 0);
|
||||
evas_object_show(priv->hit_rect);
|
||||
evas_object_repeat_events_set(priv->hit_rect, EINA_TRUE);
|
||||
|
||||
elm_widget_can_focus_set(obj, EINA_TRUE);
|
||||
|
||||
priv->calc_cb = (Ecore_Cb)_calc_job;
|
||||
|
||||
priv->generation = 1;
|
||||
|
||||
elm_layout_theme_set(obj, "gengrid", "base", elm_widget_style_get(obj));
|
||||
|
||||
/* interface's add() routine issued AFTER the object's smart_add() */
|
||||
priv->s_iface = evas_object_smart_interface_get
|
||||
(obj, ELM_SCROLLABLE_IFACE_NAME);
|
||||
|
||||
priv->s_iface->objects_set
|
||||
(obj, ELM_WIDGET_DATA(priv)->resize_obj, priv->hit_rect);
|
||||
|
||||
priv->old_h_bounce = bounce;
|
||||
priv->old_v_bounce = bounce;
|
||||
priv->s_iface->bounce_allow_set(obj, bounce, bounce);
|
||||
|
||||
priv->s_iface->animate_start_cb_set(obj, _scroll_animate_start_cb);
|
||||
priv->s_iface->animate_stop_cb_set(obj, _scroll_animate_stop_cb);
|
||||
priv->s_iface->drag_start_cb_set(obj, _scroll_drag_start_cb);
|
||||
priv->s_iface->drag_stop_cb_set(obj, _scroll_drag_stop_cb);
|
||||
priv->s_iface->edge_left_cb_set(obj, _edge_left_cb);
|
||||
priv->s_iface->edge_right_cb_set(obj, _edge_right_cb);
|
||||
priv->s_iface->edge_top_cb_set(obj, _edge_top_cb);
|
||||
priv->s_iface->edge_bottom_cb_set(obj, _edge_bottom_cb);
|
||||
priv->s_iface->scroll_cb_set(obj, _scroll_cb);
|
||||
|
||||
priv->align_x = 0.5;
|
||||
priv->align_y = 0.5;
|
||||
priv->highlight = EINA_TRUE;
|
||||
|
||||
priv->pan_obj = evas_object_smart_add
|
||||
(evas_object_evas_get(obj), _elm_gengrid_pan_smart_class_new());
|
||||
pan_data = evas_object_smart_data_get(priv->pan_obj);
|
||||
pan_data->wsd = priv;
|
||||
|
||||
priv->s_iface->extern_pan_set(obj, priv->pan_obj);
|
||||
}
|
||||
|
||||
static void
|
||||
|
@ -2392,8 +2434,6 @@ elm_gengrid_add(Evas_Object *parent)
|
|||
{
|
||||
Evas *e;
|
||||
Evas_Object *obj;
|
||||
Eina_Bool bounce = _elm_config->thumbscroll_bounce_enable;
|
||||
Elm_Gengrid_Pan_Smart_Data *pan_data;
|
||||
|
||||
EINA_SAFETY_ON_NULL_RETURN_VAL(parent, NULL);
|
||||
|
||||
|
@ -2404,49 +2444,6 @@ elm_gengrid_add(Evas_Object *parent)
|
|||
|
||||
if (!elm_widget_sub_object_add(parent, obj))
|
||||
ERR("could not add %p as sub object of %p", obj, parent);
|
||||
|
||||
ELM_GENGRID_DATA_GET(obj, sd);
|
||||
|
||||
elm_widget_can_focus_set(obj, EINA_TRUE);
|
||||
|
||||
sd->calc_cb = (Ecore_Cb)_calc_job;
|
||||
|
||||
sd->generation = 1;
|
||||
|
||||
elm_layout_theme_set(obj, "gengrid", "base", elm_widget_style_get(obj));
|
||||
|
||||
/* interface's add() routine issued AFTER the object's smart_add() */
|
||||
sd->s_iface = evas_object_smart_interface_get
|
||||
(obj, ELM_SCROLLABLE_IFACE_NAME);
|
||||
|
||||
sd->s_iface->objects_set
|
||||
(obj, ELM_WIDGET_DATA(sd)->resize_obj, sd->hit_rect);
|
||||
|
||||
sd->old_h_bounce = bounce;
|
||||
sd->old_v_bounce = bounce;
|
||||
sd->s_iface->bounce_allow_set(obj, bounce, bounce);
|
||||
|
||||
sd->s_iface->animate_start_cb_set(obj, _scroll_animate_start_cb);
|
||||
sd->s_iface->animate_stop_cb_set(obj, _scroll_animate_stop_cb);
|
||||
sd->s_iface->drag_start_cb_set(obj, _scroll_drag_start_cb);
|
||||
sd->s_iface->drag_stop_cb_set(obj, _scroll_drag_stop_cb);
|
||||
sd->s_iface->edge_left_cb_set(obj, _edge_left_cb);
|
||||
sd->s_iface->edge_right_cb_set(obj, _edge_right_cb);
|
||||
sd->s_iface->edge_top_cb_set(obj, _edge_top_cb);
|
||||
sd->s_iface->edge_bottom_cb_set(obj, _edge_bottom_cb);
|
||||
sd->s_iface->scroll_cb_set(obj, _scroll_cb);
|
||||
|
||||
sd->align_x = 0.5;
|
||||
sd->align_y = 0.5;
|
||||
sd->highlight = EINA_TRUE;
|
||||
|
||||
sd->pan_obj = evas_object_smart_add
|
||||
(evas_object_evas_get(obj), _elm_gengrid_pan_smart_class_new());
|
||||
pan_data = evas_object_smart_data_get(sd->pan_obj);
|
||||
pan_data->wsd = sd;
|
||||
|
||||
sd->s_iface->extern_pan_set(obj, sd->pan_obj);
|
||||
|
||||
return obj;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue