efl_ui_popup_alert_button_set(efl_ui_popup, EFL_UI_POPUP_ALERT_BUTTON_NEGATIVE, "No");
efl_ui_popup_alert_button_set(efl_ui_popup, EFL_UI_POPUP_ALERT_BUTTON_USER, "Cancel");
- efl_ui_popup_alert_scroll_expandable_set(efl_ui_popup, EINA_TRUE, EINA_TRUE);
- efl_gfx_size_hint_max_set(efl_ui_popup, EINA_SIZE2D(300, 180));
-
efl_event_callback_add(efl_ui_popup, EFL_UI_POPUP_ALERT_EVENT_CLICKED, efl_ui_popup_alert_clicked_cb, NULL);
}
efl_ui_popup_alert_button_set(efl_ui_popup, EFL_UI_POPUP_ALERT_BUTTON_NEGATIVE, "No");
efl_ui_popup_alert_button_set(efl_ui_popup, EFL_UI_POPUP_ALERT_BUTTON_USER, "Cancel");
- efl_ui_popup_alert_text_expandable_set(efl_ui_popup, EINA_TRUE);
- efl_gfx_size_hint_max_set(efl_ui_popup, EINA_SIZE2D(100, 180));
-
efl_event_callback_add(efl_ui_popup, EFL_UI_POPUP_ALERT_EVENT_CLICKED, efl_ui_popup_alert_clicked_cb, NULL);
}
#define MY_CLASS EFL_UI_POPUP_ALERT_SCROLL_CLASS
#define MY_CLASS_NAME "Efl.Ui.Popup.Alert.Scroll"
-static void
-_scroller_sizing_eval(Eo *obj, Efl_Ui_Popup_Alert_Scroll_Data *pd, Eina_Size2D min)
-{
- Eina_Rect geom = efl_gfx_geometry_get(obj);
-
- pd->is_sizing_eval = EINA_TRUE;
-
- if (pd->is_expandable_w && !pd->is_expandable_h)
- {
- if ((pd->max_scroll.w > -1) && (min.w > pd->max_scroll.w))
- {
- elm_scroller_content_min_limit(pd->scroller, EINA_FALSE, EINA_FALSE);
- efl_gfx_size_set(obj, EINA_SIZE2D(pd->max_scroll.w, geom.h));
- }
- }
- else if (!pd->is_expandable_w && pd->is_expandable_h)
- {
- if ((pd->max_scroll.h > -1) && (min.h > pd->max_scroll.h))
- {
- elm_scroller_content_min_limit(pd->scroller, EINA_FALSE, EINA_FALSE);
- efl_gfx_size_set(obj, EINA_SIZE2D(geom.w, pd->max_scroll.h));
- }
- }
- else if (pd->is_expandable_w && pd->is_expandable_h)
- {
- Eina_Bool wdir, hdir;
- wdir = hdir = EINA_FALSE;
-
- if ((pd->max_scroll.w > -1) && (min.w > pd->max_scroll.w))
- wdir = 1;
- if ((pd->max_scroll.h > -1) && (min.h > pd->max_scroll.h))
- hdir = 1;
- if (wdir && !hdir)
- {
- elm_scroller_content_min_limit(pd->scroller, EINA_FALSE, EINA_TRUE);
- efl_gfx_size_set(obj, EINA_SIZE2D(pd->max_scroll.w, geom.h));
- }
- else if (!wdir && hdir)
- {
- elm_scroller_content_min_limit(pd->scroller, EINA_TRUE, EINA_FALSE);
- efl_gfx_size_set(obj, EINA_SIZE2D(geom.w, pd->max_scroll.h));
- }
- else if(wdir && hdir)
- {
- elm_scroller_content_min_limit(pd->scroller, EINA_FALSE, EINA_FALSE);
- efl_gfx_size_set(obj, pd->max_scroll);
- }
- }
-
- pd->is_sizing_eval = EINA_FALSE;
-}
-
EOLIAN static void
-_efl_ui_popup_alert_scroll_elm_layout_sizing_eval(Eo *obj, Efl_Ui_Popup_Alert_Scroll_Data *pd)
+_efl_ui_popup_alert_scroll_elm_layout_sizing_eval(Eo *obj, Efl_Ui_Popup_Alert_Scroll_Data *pd EINA_UNUSED)
{
- if (pd->is_sizing_eval) return;
-
elm_layout_sizing_eval(efl_super(obj, MY_CLASS));
ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd);
edje_object_size_min_restricted_calc
(wd->resize_obj, &minw, &minh, minw, minh);
efl_gfx_size_hint_min_set(obj, EINA_SIZE2D(minw, minh));
-
- _scroller_sizing_eval(obj, pd, EINA_SIZE2D(minw, minh));
}
static Eina_Bool
return efl_text_get(efl_part(efl_super(obj, MY_CLASS), part));
}
-static void
-_efl_ui_popup_alert_scroll_expandable_set(Eo *obj EINA_UNUSED, Efl_Ui_Popup_Alert_Scroll_Data *pd, Eina_Bool is_expandable_w, Eina_Bool is_expandable_h)
-{
- if (is_expandable_w && !is_expandable_h)
- {
- pd->is_expandable_w = EINA_TRUE;
- pd->is_expandable_h = EINA_FALSE;
- elm_scroller_content_min_limit(pd->scroller, EINA_TRUE, EINA_FALSE);
- }
- else if(!is_expandable_w && is_expandable_h)
- {
- pd->is_expandable_w = EINA_FALSE;
- pd->is_expandable_h = EINA_TRUE;
- elm_scroller_content_min_limit(pd->scroller, EINA_FALSE, EINA_TRUE);
- }
- else if(is_expandable_w && is_expandable_h)
- {
- pd->is_expandable_w = EINA_TRUE;
- pd->is_expandable_h = EINA_TRUE;
- elm_scroller_content_min_limit(pd->scroller, EINA_TRUE, EINA_TRUE);
- }
- else
- {
- pd->is_expandable_w = EINA_FALSE;
- pd->is_expandable_h = EINA_FALSE;
- elm_scroller_content_min_limit(pd->scroller, EINA_FALSE, EINA_FALSE);
- }
-}
-
-static void
-_efl_ui_popup_alert_scroll_efl_gfx_size_hint_hint_max_set(Eo *obj, Efl_Ui_Popup_Alert_Scroll_Data *pd, Eina_Size2D size)
-{
- efl_gfx_size_hint_max_set(efl_super(obj, MY_CLASS), size);
- pd->max_scroll = size;
- elm_layout_sizing_eval(obj);
-}
-
EOLIAN static Eo *
_efl_ui_popup_alert_scroll_efl_object_constructor(Eo *obj,
Efl_Ui_Popup_Alert_Scroll_Data *pd)
efl_content_set(efl_part(efl_super(obj, MY_CLASS), "elm.swallow.content"),
pd->scroller);
- pd->max_scroll = EINA_SIZE2D(-1, -1);
-
return obj;
}
#define MY_CLASS EFL_UI_POPUP_ALERT_TEXT_CLASS
#define MY_CLASS_NAME "Efl.Ui.Popup.Alert.Text"
-static void
-_scroller_sizing_eval(Eo *obj, Efl_Ui_Popup_Alert_Text_Data *pd, Evas_Coord minh)
-{
- Eina_Rect geom = efl_gfx_geometry_get(obj);
-
- if (pd->is_expandable_h)
- {
- if ((pd->max_scroll_h > -1) && (minh > pd->max_scroll_h))
- {
- elm_scroller_content_min_limit(pd->scroller, EINA_FALSE, EINA_FALSE);
- efl_gfx_size_set(obj, EINA_SIZE2D(geom.w, pd->max_scroll_h));
- }
- }
-}
-
EOLIAN static void
-_efl_ui_popup_alert_text_elm_layout_sizing_eval(Eo *obj, Efl_Ui_Popup_Alert_Text_Data *pd)
+_efl_ui_popup_alert_text_elm_layout_sizing_eval(Eo *obj, Efl_Ui_Popup_Alert_Text_Data *pd EINA_UNUSED)
{
elm_layout_sizing_eval(efl_super(obj, MY_CLASS));
elm_coords_finger_size_adjust(1, &minw, 1, &minh);
edje_object_size_min_restricted_calc(wd->resize_obj, &minw, &minh, minw, minh);
efl_gfx_size_hint_min_set(obj, EINA_SIZE2D(minw, minh));
-
- _scroller_sizing_eval(obj, pd, minh);
}
static Eina_Bool
return _efl_ui_popup_alert_text_text_get(obj, pd, "elm.text");
}
-static void
-_efl_ui_popup_alert_text_expandable_set(Eo *obj EINA_UNUSED, Efl_Ui_Popup_Alert_Text_Data *pd, Eina_Bool is_expandable_h)
-{
- if (is_expandable_h)
- {
- pd->is_expandable_h = EINA_TRUE;
- elm_scroller_content_min_limit(pd->scroller, EINA_FALSE, EINA_TRUE);
- }
- else
- {
- pd->is_expandable_h = EINA_FALSE;
- elm_scroller_content_min_limit(pd->scroller, EINA_FALSE, EINA_FALSE);
- }
-}
-
-static void
-_efl_ui_popup_alert_text_efl_gfx_size_hint_hint_max_set(Eo *obj, Efl_Ui_Popup_Alert_Text_Data *pd, Eina_Size2D size)
-{
- efl_gfx_size_hint_max_set(efl_super(obj, MY_CLASS), size);
- pd->max_scroll_h = size.h;
- elm_layout_sizing_eval(obj);
-}
-
EOLIAN static Eo *
_efl_ui_popup_alert_text_efl_object_constructor(Eo *obj,
Efl_Ui_Popup_Alert_Text_Data *pd)
efl_content_set(efl_part(efl_super(obj, MY_CLASS), "elm.swallow.content"),
pd->scroller);
- pd->max_scroll_h = -1;
-
return obj;
}