forked from enlightenment/efl
elm: Move elm_layout_sizing_eval to legacy
elm_layout_sizing_eval() marks an object as requiring recalc. Unfortunately, it's been massively abused by various widgets into actually doing the calc, or the min calc. So we end up with one API that has 3 different definitions depending on the widget type: 1. Mark as requiring recalc (correct, respects doc, elm_layout) 2. Calculate min size and other size hints 3. Actually do some geometry modification I believe we need to clarify these 3 requirements into 3 very clear and specific APIs in elementary. Right now we have similar functions in evas for 1 (evas_object_smart_changed) and 3 (smart_calculate). But their exact definition also isn't necessarily what we want for elementary. Another clear problem is that layout_eval does not do any calculation (in theory), so the "eval" word is a bit of a stretch here. Once we're sure about the exact API we want, we can add this back to EO and make it work across our EO widgets. For now let's just keep the legacy API, and its EO overrides, as is. Ref T5315
This commit is contained in:
parent
b7840d9177
commit
6864495c99
|
@ -487,6 +487,7 @@ ELM_LAYOUT_TEXT_ALIASES_IMPLEMENT()
|
|||
#define EFL_UI_BUTTON_EXTRA_OPS \
|
||||
ELM_LAYOUT_CONTENT_ALIASES_OPS(), \
|
||||
ELM_LAYOUT_TEXT_ALIASES_OPS(), \
|
||||
ELM_LAYOUT_SIZING_EVAL_OPS(efl_ui_button), \
|
||||
EFL_CANVAS_GROUP_ADD_OPS(efl_ui_button)
|
||||
|
||||
#include "efl_ui_button.eo.c"
|
||||
|
|
|
@ -22,7 +22,6 @@ class Efl.Ui.Button (Elm.Layout, Efl.Ui.Clickable, Efl.Ui.Autorepeat, Efl.Text,
|
|||
Elm.Widget.theme_apply;
|
||||
Elm.Widget.sub_object_del;
|
||||
Elm.Widget.widget_event;
|
||||
Elm.Layout.sizing_eval;
|
||||
Elm.Interface.Atspi_Widget_Action.elm_actions { get; }
|
||||
Efl.Part.part;
|
||||
Efl.Text.text { get; set; }
|
||||
|
|
|
@ -1205,6 +1205,7 @@ _efl_ui_clock_class_constructor(Efl_Class *klass)
|
|||
/* Internal EO APIs and hidden overrides */
|
||||
|
||||
#define EFL_UI_CLOCK_EXTRA_OPS \
|
||||
ELM_LAYOUT_SIZING_EVAL_OPS(efl_ui_clock), \
|
||||
EFL_CANVAS_GROUP_ADD_DEL_OPS(efl_ui_clock)
|
||||
|
||||
#include "efl_ui_clock.eo.c"
|
||||
|
|
|
@ -250,7 +250,6 @@ class Efl.Ui.Clock (Elm.Layout)
|
|||
Elm.Widget.disable;
|
||||
Elm.Widget.on_focus;
|
||||
Elm.Widget.translate;
|
||||
Elm.Layout.sizing_eval;
|
||||
}
|
||||
events {
|
||||
changed; [[Called when clock changed]]
|
||||
|
|
|
@ -555,7 +555,7 @@ _efl_ui_panes_class_constructor(Efl_Class *klass)
|
|||
|
||||
/* Internal EO APIs and hidden overrides */
|
||||
|
||||
ELM_LAYOUT_CONTENT_ALIASES_IMPLEMENT()
|
||||
ELM_LAYOUT_CONTENT_ALIASES_IMPLEMENT();
|
||||
|
||||
#define EFL_UI_PANES_EXTRA_OPS \
|
||||
EFL_CANVAS_GROUP_ADD_OPS(efl_ui_panes), \
|
||||
|
|
|
@ -686,6 +686,7 @@ ELM_LAYOUT_TEXT_ALIASES_IMPLEMENT()
|
|||
#define EFL_UI_PROGRESSBAR_EXTRA_OPS \
|
||||
ELM_LAYOUT_CONTENT_ALIASES_OPS(), \
|
||||
ELM_LAYOUT_TEXT_ALIASES_OPS(), \
|
||||
ELM_LAYOUT_SIZING_EVAL_OPS(efl_ui_progressbar), \
|
||||
EFL_CANVAS_GROUP_ADD_DEL_OPS(efl_ui_progressbar)
|
||||
|
||||
#include "efl_ui_progressbar.eo.c"
|
||||
|
|
|
@ -54,7 +54,6 @@ class Efl.Ui.Progressbar (Elm.Layout, Efl.Ui.Range,
|
|||
Elm.Widget.focus_next_manager_is;
|
||||
Elm.Widget.focus_direction_manager_is;
|
||||
Elm.Widget.sub_object_del;
|
||||
Elm.Layout.sizing_eval;
|
||||
Efl.Ui.Range.span_size { get; set; }
|
||||
Efl.Ui.Range.range_value { get; set; }
|
||||
Efl.Ui.Range.range_unit_format { get; set; }
|
||||
|
|
|
@ -1788,6 +1788,7 @@ ELM_LAYOUT_TEXT_ALIASES_IMPLEMENT()
|
|||
#define EFL_UI_SLIDER_EXTRA_OPS \
|
||||
ELM_LAYOUT_CONTENT_ALIASES_OPS(), \
|
||||
ELM_LAYOUT_TEXT_ALIASES_OPS(), \
|
||||
ELM_LAYOUT_SIZING_EVAL_OPS(efl_ui_slider), \
|
||||
EFL_CANVAS_GROUP_ADD_DEL_OPS(efl_ui_slider)
|
||||
|
||||
#include "efl_ui_slider.eo.c"
|
||||
|
|
|
@ -122,7 +122,6 @@ class Efl.Ui.Slider (Elm.Layout, Efl.Ui.Range,
|
|||
Elm.Widget.focus_direction_manager_is;
|
||||
Elm.Widget.on_focus;
|
||||
Elm.Widget.widget_event;
|
||||
Elm.Layout.sizing_eval;
|
||||
Efl.Ui.Range.span_size { get; set; }
|
||||
Efl.Ui.Range.range_value { get; set; }
|
||||
Efl.Ui.Range.range_unit_format { get; set; }
|
||||
|
|
|
@ -5341,6 +5341,7 @@ ELM_LAYOUT_CONTENT_ALIASES_IMPLEMENT()
|
|||
|
||||
#define EFL_UI_TEXT_EXTRA_OPS \
|
||||
EFL_CANVAS_GROUP_ADD_DEL_OPS(efl_ui_text), \
|
||||
ELM_LAYOUT_SIZING_EVAL_OPS(efl_ui_text), \
|
||||
ELM_LAYOUT_CONTENT_ALIASES_OPS()
|
||||
|
||||
#include "efl_ui_text.eo.c"
|
||||
|
|
|
@ -415,7 +415,6 @@ class Efl.Ui.Text (Elm.Layout, Elm.Interface_Scrollable, Efl.Ui.Clickable,
|
|||
Elm.Widget.disable;
|
||||
Elm.Widget.sub_object_del;
|
||||
Elm.Widget.focus_next_manager_is;
|
||||
Elm.Layout.sizing_eval;
|
||||
Elm.Interface_Scrollable.policy { set; }
|
||||
Elm.Interface_Scrollable.bounce_allow { set; }
|
||||
Elm.Interface.Atspi_Accessible.state_set { get; }
|
||||
|
|
|
@ -473,6 +473,7 @@ elm_video_play_position_get(const Evas_Object *obj)
|
|||
/* Internal EO APIs and hidden overrides */
|
||||
|
||||
#define EFL_UI_VIDEO_EXTRA_OPS \
|
||||
ELM_LAYOUT_SIZING_EVAL_OPS(efl_ui_video), \
|
||||
EFL_CANVAS_GROUP_ADD_DEL_OPS(efl_ui_video)
|
||||
|
||||
#include "efl_ui_video.eo.c"
|
||||
|
|
|
@ -67,7 +67,6 @@ class Efl.Ui.Video (Elm.Layout, Efl.File,
|
|||
Elm.Widget.focus_next_manager_is;
|
||||
Elm.Widget.focus_direction_manager_is;
|
||||
Elm.Widget.widget_event;
|
||||
Elm.Layout.sizing_eval;
|
||||
Elm.Interface.Atspi_Widget_Action.elm_actions { get; }
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1585,6 +1585,7 @@ ELM_PART_CONTENT_DEFAULT_SET(elm_ctxpopup, "default")
|
|||
/* Internal EO APIs and hidden overrides */
|
||||
|
||||
#define ELM_CTXPOPUP_EXTRA_OPS \
|
||||
ELM_LAYOUT_SIZING_EVAL_OPS(elm_ctxpopup), \
|
||||
ELM_PART_CONTENT_DEFAULT_OPS(elm_ctxpopup), \
|
||||
EFL_CANVAS_GROUP_ADD_DEL_OPS(elm_ctxpopup)
|
||||
|
||||
|
|
|
@ -690,6 +690,7 @@ ELM_PART_CONTENT_DEFAULT_SET(elm_fileselector_entry, "button icon")
|
|||
|
||||
#define ELM_FILESELECTOR_ENTRY_EXTRA_OPS \
|
||||
ELM_PART_CONTENT_DEFAULT_OPS(elm_fileselector_entry), \
|
||||
ELM_LAYOUT_SIZING_EVAL_OPS(elm_fileselector_entry), \
|
||||
EFL_CANVAS_GROUP_ADD_DEL_OPS(elm_fileselector_entry)
|
||||
|
||||
#include "elm_fileselector_entry.eo.c"
|
||||
|
|
|
@ -2143,6 +2143,7 @@ ELM_PART_OVERRIDE_TEXT_GET(elm_multibuttonentry, ELM_MULTIBUTTONENTRY, ELM_LAYOU
|
|||
/* Internal EO APIs and hidden overrides */
|
||||
|
||||
#define ELM_MULTIBUTTONENTRY_EXTRA_OPS \
|
||||
ELM_LAYOUT_SIZING_EVAL_OPS(elm_multibuttonentry), \
|
||||
EFL_CANVAS_GROUP_ADD_DEL_OPS(elm_multibuttonentry)
|
||||
|
||||
#include "elm_multibuttonentry_item.eo.c"
|
||||
|
|
|
@ -2082,6 +2082,7 @@ ELM_PART_OVERRIDE_TEXT_GET(elm_naviframe, ELM_NAVIFRAME, ELM_LAYOUT, Elm_Navifra
|
|||
/* Internal EO APIs and hidden overrides */
|
||||
|
||||
#define ELM_NAVIFRAME_EXTRA_OPS \
|
||||
ELM_LAYOUT_SIZING_EVAL_OPS(elm_naviframe), \
|
||||
EFL_CANVAS_GROUP_ADD_DEL_OPS(elm_naviframe)
|
||||
|
||||
#include "elm_naviframe_item.eo.c"
|
||||
|
|
|
@ -718,6 +718,7 @@ ELM_PART_CONTENT_DEFAULT_SET(elm_player, "video")
|
|||
|
||||
#define ELM_PLAYER_EXTRA_OPS \
|
||||
ELM_PART_CONTENT_DEFAULT_OPS(elm_player), \
|
||||
ELM_LAYOUT_SIZING_EVAL_OPS(elm_player), \
|
||||
EFL_CANVAS_GROUP_ADD_DEL_OPS(elm_player)
|
||||
|
||||
#include "elm_player.eo.c"
|
||||
|
|
|
@ -1944,6 +1944,7 @@ ELM_PART_CONTENT_DEFAULT_SET(elm_popup, "default")
|
|||
|
||||
#define ELM_POPUP_EXTRA_OPS \
|
||||
ELM_PART_CONTENT_DEFAULT_OPS(elm_popup), \
|
||||
ELM_LAYOUT_SIZING_EVAL_OPS(elm_popup), \
|
||||
EFL_CANVAS_GROUP_ADD_DEL_OPS(elm_popup)
|
||||
|
||||
#include "elm_popup.eo.c"
|
||||
|
|
|
@ -672,6 +672,7 @@ ELM_LAYOUT_TEXT_ALIASES_IMPLEMENT()
|
|||
|
||||
#define ELM_ACTIONSLIDER_EXTRA_OPS \
|
||||
ELM_LAYOUT_TEXT_ALIASES_OPS(), \
|
||||
ELM_LAYOUT_SIZING_EVAL_OPS(elm_actionslider), \
|
||||
EFL_CANVAS_GROUP_ADD_OPS(elm_actionslider)
|
||||
|
||||
#include "elm_actionslider.eo.c"
|
||||
|
|
|
@ -74,7 +74,6 @@ class Elm.Actionslider (Elm.Layout, Efl.Ui.Selectable)
|
|||
Elm.Widget.focus_next_manager_is;
|
||||
Elm.Widget.focus_direction_manager_is;
|
||||
Elm.Widget.theme_apply;
|
||||
Elm.Layout.sizing_eval;
|
||||
Efl.Part.part;
|
||||
}
|
||||
events {
|
||||
|
|
|
@ -286,6 +286,7 @@ ELM_LAYOUT_CONTENT_ALIASES_IMPLEMENT()
|
|||
|
||||
#define ELM_BG_EXTRA_OPS \
|
||||
ELM_LAYOUT_CONTENT_ALIASES_OPS(), \
|
||||
ELM_LAYOUT_SIZING_EVAL_OPS(elm_bg), \
|
||||
EFL_CANVAS_GROUP_ADD_OPS(elm_bg)
|
||||
|
||||
#include "elm_bg.eo.c"
|
||||
|
|
|
@ -96,7 +96,6 @@ class Elm.Bg (Elm.Layout, Efl.File)
|
|||
implements {
|
||||
class.constructor;
|
||||
Efl.Object.constructor;
|
||||
Elm.Layout.sizing_eval;
|
||||
Efl.File.file { get; set; }
|
||||
}
|
||||
}
|
||||
|
|
|
@ -294,6 +294,7 @@ ELM_LAYOUT_TEXT_ALIASES_IMPLEMENT()
|
|||
#define ELM_BUBBLE_EXTRA_OPS \
|
||||
ELM_LAYOUT_CONTENT_ALIASES_OPS(), \
|
||||
ELM_LAYOUT_TEXT_ALIASES_OPS(), \
|
||||
ELM_LAYOUT_SIZING_EVAL_OPS(elm_bubble), \
|
||||
EFL_CANVAS_GROUP_ADD_OPS(elm_bubble)
|
||||
|
||||
#include "elm_bubble.eo.c"
|
||||
|
|
|
@ -43,7 +43,6 @@ class Elm.Bubble (Elm.Layout, Efl.Ui.Clickable)
|
|||
Elm.Widget.focus_next;
|
||||
Elm.Widget.focus_direction_manager_is;
|
||||
Elm.Widget.access;
|
||||
Elm.Layout.sizing_eval;
|
||||
Efl.Part.part;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -2341,6 +2341,7 @@ _elm_calendar_elm_interface_atspi_widget_action_elm_actions_get(Eo *obj EINA_UNU
|
|||
/* Internal EO APIs and hidden overrides */
|
||||
|
||||
#define ELM_CALENDAR_EXTRA_OPS \
|
||||
ELM_LAYOUT_SIZING_EVAL_OPS(elm_calendar), \
|
||||
EFL_CANVAS_GROUP_ADD_DEL_OPS(elm_calendar)
|
||||
|
||||
#include "elm_calendar.eo.c"
|
||||
|
|
|
@ -419,7 +419,6 @@ class Elm.Calendar (Elm.Layout, Elm.Interface.Atspi_Widget_Action)
|
|||
Elm.Widget.focus_next;
|
||||
Elm.Widget.on_focus;
|
||||
Elm.Widget.widget_event;
|
||||
Elm.Layout.sizing_eval;
|
||||
Elm.Interface.Atspi_Widget_Action.elm_actions { get; }
|
||||
}
|
||||
events {
|
||||
|
|
|
@ -2730,6 +2730,7 @@ _elm_color_item_elm_interface_atspi_accessible_name_get(Eo *eo_it, Elm_Color_Ite
|
|||
/* Internal EO APIs and hidden overrides */
|
||||
|
||||
#define ELM_COLORSELECTOR_EXTRA_OPS \
|
||||
ELM_LAYOUT_SIZING_EVAL_OPS(elm_colorselector), \
|
||||
EFL_CANVAS_GROUP_ADD_DEL_OPS(elm_colorselector)
|
||||
|
||||
#include "elm_colorselector.eo.c"
|
||||
|
|
|
@ -115,7 +115,6 @@ class Elm.Colorselector (Elm.Layout, Elm.Interface.Atspi_Widget_Action,
|
|||
Elm.Widget.focus_highlight_geometry_get;
|
||||
Elm.Widget.access;
|
||||
Elm.Widget.widget_event;
|
||||
Elm.Layout.sizing_eval;
|
||||
Elm.Interface.Atspi_Widget_Action.elm_actions { get; }
|
||||
Elm.Interface.Atspi_Accessible.children { get; }
|
||||
}
|
||||
|
|
|
@ -168,7 +168,6 @@ class Elm.Ctxpopup (Elm.Layout, Elm.Interface.Atspi_Widget_Action,
|
|||
Efl.Ui.Menu.first_item { get; }
|
||||
Efl.Ui.Menu.last_item { get; }
|
||||
Efl.Ui.Menu.items { get; }
|
||||
Elm.Layout.sizing_eval;
|
||||
Elm.Interface.Atspi_Widget_Action.elm_actions { get; }
|
||||
Elm.Interface.Atspi_Accessible.state_set { get; }
|
||||
Efl.Orientation.orientation { get; set; }
|
||||
|
|
|
@ -619,6 +619,7 @@ ELM_PART_OVERRIDE_CONTENT_UNSET(elm_dayselector, ELM_DAYSELECTOR, ELM_LAYOUT, El
|
|||
/* Internal EO APIs and hidden overrides */
|
||||
|
||||
#define ELM_DAYSELECTOR_EXTRA_OPS \
|
||||
ELM_LAYOUT_SIZING_EVAL_OPS(elm_dayselector), \
|
||||
EFL_CANVAS_GROUP_ADD_DEL_OPS(elm_dayselector)
|
||||
|
||||
#include "elm_dayselector.eo.c"
|
||||
|
|
|
@ -154,7 +154,6 @@ class Elm.Dayselector (Elm.Layout)
|
|||
Elm.Widget.theme_apply;
|
||||
Elm.Widget.focus_direction_manager_is;
|
||||
Elm.Widget.translate;
|
||||
Elm.Layout.sizing_eval;
|
||||
Efl.Part.part;
|
||||
}
|
||||
events {
|
||||
|
|
|
@ -6079,6 +6079,7 @@ ELM_LAYOUT_TEXT_ALIASES_IMPLEMENT()
|
|||
ELM_PART_CONTENT_DEFAULT_OPS(elm_entry), \
|
||||
EFL_CANVAS_GROUP_ADD_DEL_OPS(elm_entry), \
|
||||
ELM_LAYOUT_CONTENT_ALIASES_OPS(), \
|
||||
ELM_LAYOUT_TEXT_ALIASES_OPS()
|
||||
ELM_LAYOUT_TEXT_ALIASES_OPS(), \
|
||||
ELM_LAYOUT_SIZING_EVAL_OPS(elm_entry)
|
||||
|
||||
#include "elm_entry.eo.c"
|
||||
|
|
|
@ -965,7 +965,6 @@ class Elm.Entry (Elm.Layout, Elm.Interface_Scrollable, Efl.Ui.Clickable,
|
|||
Elm.Widget.disable;
|
||||
Elm.Widget.sub_object_del;
|
||||
Elm.Widget.focus_next_manager_is;
|
||||
Elm.Layout.sizing_eval;
|
||||
Elm.Interface_Scrollable.policy { set; }
|
||||
Elm.Interface_Scrollable.bounce_allow { set; }
|
||||
Elm.Interface.Atspi_Accessible.state_set { get; }
|
||||
|
|
|
@ -11,7 +11,6 @@ class Elm.Fileselector_Entry (Elm.Layout, Elm.Interface.Fileselector,
|
|||
Elm.Widget.focus_next;
|
||||
Elm.Widget.disable;
|
||||
Elm.Widget.focus_direction_manager_is;
|
||||
Elm.Layout.sizing_eval;
|
||||
Elm.Interface.Fileselector.selected_model_get;
|
||||
Elm.Interface.Fileselector.selected_model_set;
|
||||
Elm.Interface.Fileselector.folder_only { get; set; }
|
||||
|
|
|
@ -929,6 +929,7 @@ _elm_flipselector_elm_interface_atspi_widget_action_elm_actions_get(Eo *obj EINA
|
|||
/* Internal EO APIs and hidden overrides */
|
||||
|
||||
#define ELM_FLIPSELECTOR_EXTRA_OPS \
|
||||
ELM_LAYOUT_SIZING_EVAL_OPS(elm_flipselector), \
|
||||
EFL_CANVAS_GROUP_ADD_DEL_OPS(elm_flipselector)
|
||||
|
||||
#include "elm_flipselector_item.eo.c"
|
||||
|
|
|
@ -131,7 +131,6 @@ class Elm.Flipselector (Elm.Layout, Efl.Ui.Spin,
|
|||
Elm.Widget.focus_next_manager_is;
|
||||
Elm.Widget.focus_direction_manager_is;
|
||||
Elm.Widget.widget_event;
|
||||
Elm.Layout.sizing_eval;
|
||||
Efl.Ui.Spin.min_max { get; set; }
|
||||
Efl.Ui.Spin.step { get; set; }
|
||||
Efl.Ui.Spin.value { get; set; }
|
||||
|
|
|
@ -5733,6 +5733,7 @@ _elm_gengrid_elm_interface_atspi_selection_child_deselect(Eo *obj EINA_UNUSED, E
|
|||
/* Internal EO APIs and hidden overrides */
|
||||
|
||||
#define ELM_GENGRID_EXTRA_OPS \
|
||||
ELM_LAYOUT_SIZING_EVAL_OPS(elm_gengrid), \
|
||||
EFL_CANVAS_GROUP_ADD_DEL_OPS(elm_gengrid)
|
||||
|
||||
#include "elm_gengrid.eo.c"
|
||||
|
|
|
@ -559,7 +559,6 @@ class Elm.Gengrid (Elm.Layout, Elm.Interface_Scrollable,
|
|||
Elm.Widget.focus_highlight_geometry_get;
|
||||
Elm.Widget.focused_item { get; }
|
||||
Elm.Widget.item_loop_enabled { get; set; }
|
||||
Elm.Layout.sizing_eval;
|
||||
Elm.Interface_Scrollable.bounce_allow { set; }
|
||||
Elm.Interface_Scrollable.policy { get; set; }
|
||||
Elm.Interface.Atspi_Accessible.children { get; }
|
||||
|
|
|
@ -8711,6 +8711,7 @@ _elm_genlist_elm_interface_atspi_selection_child_deselect(Eo *obj EINA_UNUSED, E
|
|||
/* Internal EO APIs and hidden overrides */
|
||||
|
||||
#define ELM_GENLIST_EXTRA_OPS \
|
||||
ELM_LAYOUT_SIZING_EVAL_OPS(elm_genlist), \
|
||||
EFL_CANVAS_GROUP_ADD_DEL_OPS(elm_genlist)
|
||||
|
||||
#define ELM_GENLIST_PAN_EXTRA_OPS \
|
||||
|
|
|
@ -544,7 +544,6 @@ class Elm.Genlist (Elm.Layout, Elm.Interface_Scrollable, Efl.Ui.Clickable,
|
|||
Elm.Widget.widget_event;
|
||||
Elm.Widget.focused_item { get; }
|
||||
Elm.Widget.item_loop_enabled { get; set; }
|
||||
Elm.Layout.sizing_eval;
|
||||
Elm.Interface_Scrollable.bounce_allow { get; set; }
|
||||
Elm.Interface_Scrollable.policy { get; set; }
|
||||
Elm.Interface.Atspi_Accessible.children { get; }
|
||||
|
|
|
@ -907,6 +907,7 @@ ELM_PART_OVERRIDE_CONTENT_UNSET(elm_hover, ELM_HOVER, ELM_LAYOUT, Elm_Hover_Data
|
|||
|
||||
#define ELM_HOVER_EXTRA_OPS \
|
||||
EFL_CANVAS_GROUP_ADD_DEL_OPS(elm_hover), \
|
||||
ELM_LAYOUT_SIZING_EVAL_OPS(elm_hover), \
|
||||
_ELM_LAYOUT_ALIASES_OPS(elm_hover, content)
|
||||
|
||||
#include "elm_hover.eo.c"
|
||||
|
|
|
@ -71,7 +71,6 @@ class Elm.Hover (Elm.Layout, Efl.Ui.Clickable, Elm.Interface.Atspi_Widget_Action
|
|||
Elm.Widget.focus_next_manager_is;
|
||||
Elm.Widget.sub_object_del;
|
||||
Elm.Widget.focus_manager_factory;
|
||||
Elm.Layout.sizing_eval;
|
||||
Elm.Interface.Atspi_Widget_Action.elm_actions { get; }
|
||||
Efl.Part.part;
|
||||
}
|
||||
|
|
|
@ -1766,6 +1766,7 @@ _elm_index_item_elm_interface_atspi_widget_action_elm_actions_get(Eo *eo_it EINA
|
|||
/* Internal EO APIs and hidden overrides */
|
||||
|
||||
#define ELM_INDEX_EXTRA_OPS \
|
||||
ELM_LAYOUT_SIZING_EVAL_OPS(elm_index), \
|
||||
EFL_CANVAS_GROUP_ADD_DEL_OPS(elm_index)
|
||||
|
||||
#include "elm_index_item.eo.c"
|
||||
|
|
|
@ -227,7 +227,6 @@ class Elm.Index (Elm.Layout, Efl.Orientation,
|
|||
Elm.Widget.access;
|
||||
Elm.Widget.focus_next;
|
||||
Efl.Orientation.orientation { get; set; }
|
||||
Elm.Layout.sizing_eval;
|
||||
Elm.Interface.Atspi_Accessible.children { get; }
|
||||
}
|
||||
events {
|
||||
|
|
|
@ -222,6 +222,7 @@ ELM_LAYOUT_CONTENT_ALIASES_IMPLEMENT()
|
|||
|
||||
#define ELM_INWIN_EXTRA_OPS \
|
||||
EFL_CANVAS_GROUP_ADD_OPS(elm_inwin), \
|
||||
ELM_LAYOUT_SIZING_EVAL_OPS(elm_inwin), \
|
||||
ELM_LAYOUT_CONTENT_ALIASES_OPS()
|
||||
|
||||
#include "elm_inwin.eo.c"
|
||||
|
|
|
@ -25,7 +25,6 @@ class Elm.Inwin (Elm.Layout, Efl.Ui.Focus.Manager)
|
|||
Elm.Widget.focus_next_manager_is;
|
||||
Elm.Widget.focus_next;
|
||||
Elm.Widget.focus_manager_factory;
|
||||
Elm.Layout.sizing_eval;
|
||||
Efl.Gfx.visible { set; }
|
||||
Efl.Ui.Focus.Manager.move;
|
||||
}
|
||||
|
|
|
@ -643,6 +643,7 @@ ELM_PART_OVERRIDE_TEXT_SET(elm_label, ELM_LABEL, ELM_LAYOUT, Elm_Label_Data, Elm
|
|||
/* Internal EO APIs and hidden overrides */
|
||||
|
||||
#define ELM_LABEL_EXTRA_OPS \
|
||||
ELM_LAYOUT_SIZING_EVAL_OPS(elm_label), \
|
||||
EFL_CANVAS_GROUP_ADD_OPS(elm_label)
|
||||
|
||||
#include "elm_label.eo.c"
|
||||
|
|
|
@ -127,7 +127,6 @@ class Elm.Label (Elm.Layout)
|
|||
Elm.Widget.focus_next_manager_is;
|
||||
Elm.Widget.focus_direction_manager_is;
|
||||
Elm.Widget.theme_apply;
|
||||
Elm.Layout.sizing_eval;
|
||||
Efl.Part.part;
|
||||
}
|
||||
events {
|
||||
|
|
|
@ -1645,7 +1645,7 @@ _elm_layout_efl_canvas_layout_group_group_size_max_get(Eo *obj, Elm_Layout_Smart
|
|||
* queued up and only flag the object as 'changed'. when it comes to
|
||||
* Evas's rendering phase, it will be addressed, finally (see
|
||||
* _elm_layout_smart_calculate()). */
|
||||
EOLIAN static void
|
||||
static void
|
||||
_elm_layout_sizing_eval(Eo *obj, Elm_Layout_Smart_Data *sd)
|
||||
{
|
||||
if (sd->frozen) return;
|
||||
|
@ -1655,9 +1655,12 @@ _elm_layout_sizing_eval(Eo *obj, Elm_Layout_Smart_Data *sd)
|
|||
evas_object_smart_changed(obj);
|
||||
}
|
||||
|
||||
EOLIAN static void
|
||||
_elm_layout_sizing_restricted_eval(Eo *obj, Elm_Layout_Smart_Data *sd, Eina_Bool w, Eina_Bool h)
|
||||
EAPI void
|
||||
elm_layout_sizing_restricted_eval(Eo *obj, Eina_Bool w, Eina_Bool h)
|
||||
{
|
||||
Elm_Layout_Smart_Data *sd = efl_data_scope_safe_get(obj, MY_CLASS);
|
||||
|
||||
if (!sd) return;
|
||||
sd->restricted_calc_w = !!w;
|
||||
sd->restricted_calc_h = !!h;
|
||||
|
||||
|
@ -2570,6 +2573,7 @@ ELM_PART_IMPLEMENT_TEXT_GET(elm_layout, ELM_LAYOUT, Elm_Layout_Smart_Data, Elm_P
|
|||
|
||||
/* Internal EO APIs and hidden overrides */
|
||||
|
||||
EAPI EFL_VOID_FUNC_BODY(elm_layout_sizing_eval)
|
||||
EFL_FUNC_BODY_CONST(elm_layout_text_aliases_get, const Elm_Layout_Part_Alias_Description *, NULL)
|
||||
EFL_FUNC_BODY_CONST(elm_layout_content_aliases_get, const Elm_Layout_Part_Alias_Description *, NULL)
|
||||
|
||||
|
@ -2582,6 +2586,7 @@ ELM_LAYOUT_TEXT_ALIASES_IMPLEMENT()
|
|||
ELM_PART_TEXT_DEFAULT_OPS(elm_layout), \
|
||||
ELM_LAYOUT_CONTENT_ALIASES_OPS(), \
|
||||
ELM_LAYOUT_TEXT_ALIASES_OPS(), \
|
||||
EFL_OBJECT_OP_FUNC(elm_layout_sizing_eval, _elm_layout_sizing_eval), \
|
||||
EFL_OBJECT_OP_FUNC(efl_dbg_info_get, _elm_layout_efl_object_dbg_info_get)
|
||||
|
||||
#include "elm_layout.eo.c"
|
||||
|
|
|
@ -36,41 +36,6 @@ class Elm.Layout (Elm.Widget, Efl.Part, Efl.Container, Efl.File,
|
|||
style: string("default"); [[The style to used, eg "default".]]
|
||||
}
|
||||
}
|
||||
sizing_eval {
|
||||
[[Eval sizing.
|
||||
|
||||
Manually forces a sizing re-evaluation. This is useful when the
|
||||
minimum size required by the edje theme of this layout has
|
||||
changed. The change on the minimum size required by the edje
|
||||
theme is not immediately reported to the elementary layout,
|
||||
so one needs to call this function in order to tell the widget
|
||||
(layout) that it needs to reevaluate its own size.
|
||||
|
||||
The minimum size of the theme is calculated based on minimum
|
||||
size of parts, the size of elements inside containers like box
|
||||
and table, etc. All of this can change due to state changes,
|
||||
and that's when this function should be called.
|
||||
|
||||
Also note that a standard signal of "size,eval" "elm" emitted
|
||||
from the edje object will cause this to happen too.
|
||||
]]
|
||||
}
|
||||
sizing_restricted_eval {
|
||||
[[Request sizing reevaluation, restricted to current width and/or
|
||||
height.
|
||||
|
||||
Useful mostly when there are TEXTBLOCK parts defining the height
|
||||
of the object and nothing else restricting it to a minimum width.
|
||||
Calling this function will restrict the minimum size in the Edje
|
||||
calculation to whatever size it the layout has at the moment.
|
||||
|
||||
@since 1.8
|
||||
]]
|
||||
params {
|
||||
@in width: bool; [[Restrict minimum size to the current width.]]
|
||||
@in height: bool; [[Restrict minimum size ot the current height.]]
|
||||
}
|
||||
}
|
||||
}
|
||||
implements {
|
||||
class.constructor;
|
||||
|
|
|
@ -55,6 +55,45 @@ EAPI Evas_Object *elm_layout_add(Evas_Object *parent);
|
|||
*/
|
||||
EAPI const char *elm_layout_data_get(const Evas_Object *obj, const char *key);
|
||||
|
||||
/**
|
||||
* @brief Eval sizing.
|
||||
*
|
||||
* Manually forces a sizing re-evaluation. This is useful when the minimum size
|
||||
* required by the edje theme of this layout has changed. The change on the
|
||||
* minimum size required by the edje theme is not immediately reported to the
|
||||
* elementary layout, so one needs to call this function in order to tell the
|
||||
* widget (layout) that it needs to reevaluate its own size.
|
||||
*
|
||||
* The minimum size of the theme is calculated based on minimum size of parts,
|
||||
* the size of elements inside containers like box and table, etc. All of this
|
||||
* can change due to state changes, and that's when this function should be
|
||||
* called.
|
||||
*
|
||||
* Also note that a standard signal of "size,eval" "elm" emitted from the edje
|
||||
* object will cause this to happen too.
|
||||
*
|
||||
* @ingroup Elm_Layout
|
||||
*/
|
||||
EAPI void elm_layout_sizing_eval(Evas_Object *obj);
|
||||
|
||||
/**
|
||||
* @brief Request sizing reevaluation, restricted to current width and/or
|
||||
* height.
|
||||
*
|
||||
* Useful mostly when there are TEXTBLOCK parts defining the height of the
|
||||
* object and nothing else restricting it to a minimum width. Calling this
|
||||
* function will restrict the minimum size in the Edje calculation to whatever
|
||||
* size it the layout has at the moment.
|
||||
*
|
||||
* @param[in] width Restrict minimum size to the current width.
|
||||
* @param[in] height Restrict minimum size ot the current height.
|
||||
*
|
||||
* @since 1.8
|
||||
*
|
||||
* @ingroup Elm_Layout
|
||||
*/
|
||||
EAPI void elm_layout_sizing_restricted_eval(Elm_Layout *obj, Eina_Bool width, Eina_Bool height);
|
||||
|
||||
/**
|
||||
* @brief Add a callback for a (Edje) signal emitted by a layout widget's
|
||||
* underlying Edje object.
|
||||
|
|
|
@ -3298,6 +3298,7 @@ _elm_list_elm_interface_atspi_selection_child_deselect(Eo *obj EINA_UNUSED, Elm_
|
|||
/* Internal EO APIs and hidden overrides */
|
||||
|
||||
#define ELM_LIST_EXTRA_OPS \
|
||||
ELM_LAYOUT_SIZING_EVAL_OPS(elm_list), \
|
||||
EFL_CANVAS_GROUP_ADD_DEL_OPS(elm_list)
|
||||
|
||||
#include "elm_list.eo.c"
|
||||
|
|
|
@ -446,7 +446,6 @@ class Elm.List (Elm.Layout, Elm.Interface_Scrollable,
|
|||
Elm.Widget.widget_event;
|
||||
Elm.Widget.focused_item { get; }
|
||||
Elm.Widget.item_loop_enabled { get; set; }
|
||||
Elm.Layout.sizing_eval;
|
||||
Elm.Interface_Scrollable.policy { set; }
|
||||
Elm.Interface.Atspi_Widget_Action.elm_actions { get; }
|
||||
Elm.Interface.Atspi_Accessible.children { get; }
|
||||
|
|
|
@ -187,7 +187,6 @@ class Elm.Multibuttonentry (Elm.Layout)
|
|||
Elm.Widget.on_focus;
|
||||
Elm.Widget.translate;
|
||||
Elm.Widget.widget_event;
|
||||
Elm.Layout.sizing_eval;
|
||||
Elm.Interface.Atspi_Accessible.children { get; }
|
||||
Efl.Part.part;
|
||||
}
|
||||
|
|
|
@ -153,7 +153,6 @@ class Elm.Naviframe (Elm.Layout, Elm.Interface.Atspi_Widget_Action)
|
|||
Elm.Widget.theme_apply;
|
||||
Elm.Widget.widget_event;
|
||||
Efl.Canvas.Layout_Signal.signal_emit;
|
||||
Elm.Layout.sizing_eval;
|
||||
Elm.Interface.Atspi_Widget_Action.elm_actions { get; }
|
||||
Efl.Part.part;
|
||||
}
|
||||
|
|
|
@ -1497,6 +1497,7 @@ ELM_PART_IMPLEMENT_CONTENT_UNSET(elm_panel, ELM_PANEL, Elm_Panel_Data, Elm_Part_
|
|||
/* Internal EO APIs and hidden overrides */
|
||||
|
||||
#define ELM_PANEL_EXTRA_OPS \
|
||||
ELM_LAYOUT_SIZING_EVAL_OPS(elm_panel), \
|
||||
EFL_CANVAS_GROUP_ADD_DEL_OPS(elm_panel)
|
||||
|
||||
#include "elm_panel.eo.c"
|
||||
|
|
|
@ -86,7 +86,6 @@ class Elm.Panel (Elm.Layout, Elm.Interface_Scrollable,
|
|||
Elm.Widget.access;
|
||||
Elm.Widget.widget_event;
|
||||
Elm.Widget.on_focus_region;
|
||||
Elm.Layout.sizing_eval;
|
||||
Elm.Interface.Atspi_Widget_Action.elm_actions { get; }
|
||||
Efl.Part.part;
|
||||
}
|
||||
|
|
|
@ -9,7 +9,6 @@ class Elm.Player (Elm.Layout, Elm.Interface.Atspi_Widget_Action)
|
|||
Efl.Object.constructor;
|
||||
Elm.Widget.theme_apply;
|
||||
Elm.Widget.widget_event;
|
||||
Elm.Layout.sizing_eval;
|
||||
Elm.Interface.Atspi_Widget_Action.elm_actions { get; }
|
||||
Efl.Part.part;
|
||||
}
|
||||
|
|
|
@ -178,7 +178,6 @@ class Elm.Popup (Elm.Layout, Elm.Interface.Atspi_Widget_Action)
|
|||
Elm.Widget.translate;
|
||||
Elm.Widget.sub_object_del;
|
||||
Elm.Widget.widget_event;
|
||||
Elm.Layout.sizing_eval;
|
||||
Efl.Canvas.Layout_Signal.signal_emit;
|
||||
Elm.Interface.Atspi_Widget_Action.elm_actions { get; }
|
||||
Elm.Interface.Atspi_Accessible.state_set { get; }
|
||||
|
|
|
@ -620,6 +620,7 @@ void *_elm_entry_signal_callback_del_legacy(Eo *obj, const char *emission, const
|
|||
/* Internal EO APIs */
|
||||
const Elm_Layout_Part_Alias_Description *elm_layout_content_aliases_get(const Eo *obj);
|
||||
const Elm_Layout_Part_Alias_Description *elm_layout_text_aliases_get(const Eo *obj);
|
||||
//void elm_layout_sizing_eval_eoapi(Eo *obj);
|
||||
|
||||
#define _ELM_LAYOUT_ALIASES_IMPLEMENT(_pfx, _typ) \
|
||||
static const Elm_Layout_Part_Alias_Description * \
|
||||
|
@ -637,4 +638,7 @@ const Elm_Layout_Part_Alias_Description *elm_layout_text_aliases_get(const Eo *o
|
|||
#define ELM_LAYOUT_CONTENT_ALIASES_OPS() _ELM_LAYOUT_ALIASES_OPS(MY_CLASS_PFX, content)
|
||||
#define ELM_LAYOUT_TEXT_ALIASES_OPS() _ELM_LAYOUT_ALIASES_OPS(MY_CLASS_PFX, text)
|
||||
|
||||
#define ELM_LAYOUT_SIZING_EVAL_OPS(_pfx) \
|
||||
EFL_OBJECT_OP_FUNC(elm_layout_sizing_eval, _##_pfx##_elm_layout_sizing_eval)
|
||||
|
||||
#endif
|
||||
|
|
|
@ -1490,6 +1490,7 @@ ELM_PART_CONTENT_DEFAULT_SET(elm_scroller, "default")
|
|||
|
||||
#define ELM_SCROLLER_EXTRA_OPS \
|
||||
ELM_PART_CONTENT_DEFAULT_OPS(elm_scroller), \
|
||||
ELM_LAYOUT_SIZING_EVAL_OPS(elm_scroller), \
|
||||
EFL_CANVAS_GROUP_ADD_OPS(elm_scroller)
|
||||
|
||||
#include "elm_scroller.eo.c"
|
||||
|
|
|
@ -55,7 +55,6 @@ class Elm.Scroller (Elm.Layout, Elm.Interface_Scrollable,
|
|||
Elm.Widget.focus_direction;
|
||||
Elm.Widget.sub_object_del;
|
||||
Elm.Widget.widget_event;
|
||||
Elm.Layout.sizing_eval;
|
||||
Elm.Interface_Scrollable.page_size { set; }
|
||||
Elm.Interface_Scrollable.policy { set; }
|
||||
Elm.Interface_Scrollable.single_direction { get; set; }
|
||||
|
|
|
@ -844,6 +844,7 @@ _elm_segment_control_class_constructor(Efl_Class *klass)
|
|||
/* Internal EO APIs and hidden overrides */
|
||||
|
||||
#define ELM_SEGMENT_CONTROL_EXTRA_OPS \
|
||||
ELM_LAYOUT_SIZING_EVAL_OPS(elm_segment_control), \
|
||||
EFL_CANVAS_GROUP_ADD_DEL_OPS(elm_segment_control)
|
||||
|
||||
#include "elm_segment_control_item.eo.c"
|
||||
|
|
|
@ -143,7 +143,6 @@ class Elm.Segment_Control (Elm.Layout)
|
|||
Elm.Widget.access;
|
||||
Elm.Widget.disable;
|
||||
Elm.Widget.translate;
|
||||
Elm.Layout.sizing_eval;
|
||||
}
|
||||
events {
|
||||
changed; [[Called when segment control changed]]
|
||||
|
|
|
@ -145,6 +145,7 @@ _elm_separator_class_constructor(Efl_Class *klass)
|
|||
/* Internal EO APIs and hidden overrides */
|
||||
|
||||
#define ELM_SEPARATOR_EXTRA_OPS \
|
||||
ELM_LAYOUT_SIZING_EVAL_OPS(elm_separator), \
|
||||
EFL_CANVAS_GROUP_ADD_OPS(elm_separator)
|
||||
|
||||
#include "elm_separator.eo.c"
|
||||
|
|
|
@ -10,6 +10,5 @@ class Elm.Separator (Elm.Layout, Efl.Orientation)
|
|||
Elm.Widget.focus_direction_manager_is;
|
||||
Elm.Widget.theme_apply;
|
||||
Efl.Orientation.orientation { get; set; }
|
||||
Elm.Layout.sizing_eval;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -737,6 +737,7 @@ _elm_slideshow_elm_interface_atspi_widget_action_elm_actions_get(Eo *obj EINA_UN
|
|||
/* Internal EO APIs and hidden overrides */
|
||||
|
||||
#define ELM_SLIDESHOW_EXTRA_OPS \
|
||||
ELM_LAYOUT_SIZING_EVAL_OPS(elm_slideshow), \
|
||||
EFL_CANVAS_GROUP_ADD_DEL_OPS(elm_slideshow)
|
||||
|
||||
#include "elm_slideshow_item.eo.c"
|
||||
|
|
|
@ -307,7 +307,6 @@ class Elm.Slideshow (Elm.Layout, Elm.Interface.Atspi_Widget_Action)
|
|||
Elm.Widget.focus_next_manager_is;
|
||||
Elm.Widget.focus_direction_manager_is;
|
||||
Elm.Widget.widget_event;
|
||||
Elm.Layout.sizing_eval;
|
||||
Elm.Interface.Atspi_Widget_Action.elm_actions { get; }
|
||||
}
|
||||
events {
|
||||
|
|
|
@ -1766,6 +1766,7 @@ _elm_spinner_elm_interface_atspi_accessible_name_get(Eo *obj, Elm_Spinner_Data *
|
|||
/* Internal EO APIs and hidden overrides */
|
||||
|
||||
#define ELM_SPINNER_EXTRA_OPS \
|
||||
ELM_LAYOUT_SIZING_EVAL_OPS(elm_spinner), \
|
||||
EFL_CANVAS_GROUP_ADD_DEL_OPS(elm_spinner)
|
||||
|
||||
#include "elm_spinner.eo.c"
|
||||
|
|
|
@ -154,7 +154,6 @@ class Elm.Spinner (Elm.Layout, Efl.Ui.Spin,
|
|||
Elm.Widget.focus_direction;
|
||||
Elm.Widget.on_focus;
|
||||
Elm.Widget.widget_event;
|
||||
Elm.Layout.sizing_eval;
|
||||
Efl.Ui.Spin.min_max { get; set; }
|
||||
Efl.Ui.Spin.step { get; set; }
|
||||
Efl.Ui.Spin.value { get; set; }
|
||||
|
|
Loading…
Reference in New Issue