efl_ui_selectable: split this up
i dont know why, but something got badly mixed up, the selection APIs for text and item ended up in the same interface, which seems ... weird ? This commit splits that up into container_selectable and text_selectable, there is no future plan on my list for text_selection. The rest of this series is working towards removing container_selectable, replacing it with a new interface. However, the interface will stay until list_view is replaced. The changes in the legacy code are removing the efl.ui.selection interface from it, item emission is not depending on the inherited interfaces, additionally, this interface does not provide any API, so this should not be an issue. ref T7766 Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com> Differential Revision: https://phab.enlightenment.org/D9498
This commit is contained in:
parent
53649030db
commit
fc12e7721f
|
@ -107,7 +107,8 @@ typedef Efl_Gfx_Path_Command_Type Efl_Gfx_Path_Command;
|
|||
#include "interfaces/efl_ui_scrollable.eo.h"
|
||||
#include "interfaces/efl_ui_scrollbar.eo.h"
|
||||
#include "interfaces/efl_ui_scrollable_interactive.eo.h"
|
||||
#include "interfaces/efl_ui_selectable.eo.h"
|
||||
#include "interfaces/efl_ui_text_selectable.eo.h"
|
||||
#include "interfaces/efl_ui_container_selectable.eo.h"
|
||||
#include "interfaces/efl_ui_multi_selectable.eo.h"
|
||||
#include "interfaces/efl_ui_zoom.eo.h"
|
||||
|
||||
|
|
|
@ -75,7 +75,8 @@
|
|||
#include "interfaces/efl_ui_scrollable.eo.c"
|
||||
#include "interfaces/efl_ui_scrollable_interactive.eo.c"
|
||||
#include "interfaces/efl_ui_scrollbar.eo.c"
|
||||
#include "interfaces/efl_ui_selectable.eo.c"
|
||||
#include "interfaces/efl_ui_container_selectable.eo.c"
|
||||
#include "interfaces/efl_ui_text_selectable.eo.c"
|
||||
#include "interfaces/efl_ui_multi_selectable.eo.c"
|
||||
#include "interfaces/efl_ui_zoom.eo.c"
|
||||
|
||||
|
|
|
@ -0,0 +1,11 @@
|
|||
interface @beta Efl.Ui.Container_Selectable
|
||||
{
|
||||
[[Temporare interface, this is here until collection_view lands]]
|
||||
event_prefix: efl_ui;
|
||||
events {
|
||||
/* FIXME: Called with multiple types of event_info! */
|
||||
item,selected: Efl.Object; [[Called when selected]]
|
||||
/* FIXME: Called with multiple types of event_info! */
|
||||
item,unselected: Efl.Object; [[Called when no longer selected]]
|
||||
}
|
||||
}
|
|
@ -1,12 +1,8 @@
|
|||
interface @beta Efl.Ui.Selectable
|
||||
interface @beta Efl.Ui.Text_Selectable
|
||||
{
|
||||
[[Efl UI selectable interface]]
|
||||
[[Efl UI text selectable interface]]
|
||||
event_prefix: efl_ui;
|
||||
events {
|
||||
/* FIXME: Called with multiple types of event_info! */
|
||||
item,selected: Efl.Object; [[Called when selected]]
|
||||
/* FIXME: Called with multiple types of event_info! */
|
||||
item,unselected: Efl.Object; [[Called when no longer selected]]
|
||||
selection,paste: void; [[Called when selection is pasted]]
|
||||
selection,copy: void; [[Called when selection is copied]]
|
||||
selection,cut: void; [[Called when selection is cut]]
|
|
@ -11,7 +11,8 @@ pub_legacy_eo_files = [
|
|||
'efl_ui_scrollable.eo',
|
||||
'efl_ui_scrollable_interactive.eo',
|
||||
'efl_ui_scrollbar.eo',
|
||||
'efl_ui_selectable.eo',
|
||||
'efl_ui_container_selectable.eo',
|
||||
'efl_ui_text_selectable.eo',
|
||||
'efl_ui_zoom.eo',
|
||||
]
|
||||
|
||||
|
|
|
@ -3,7 +3,7 @@ class @beta Efl.Ui.Collection extends Efl.Ui.Layout_Base implements
|
|||
Efl.Ui.Scrollbar,
|
||||
Efl.Pack_Linear, Efl.Pack_Layout,
|
||||
Efl.Ui.Layout_Orientable,
|
||||
Efl.Ui.Selectable,
|
||||
Efl.Ui.Container_Selectable,
|
||||
Efl.Ui.Multi_Selectable,
|
||||
Efl.Ui.Focus.Manager_Sub,
|
||||
Efl.Ui.Widget_Focus_Manager
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
abstract @beta Efl.Ui.Item extends Efl.Ui.Layout_Base implements Efl.Ui.Selectable, Efl.Input.Clickable
|
||||
abstract @beta Efl.Ui.Item extends Efl.Ui.Layout_Base implements Efl.Ui.Container_Selectable, Efl.Input.Clickable
|
||||
{
|
||||
[[Selectable Item abstraction.
|
||||
|
||||
|
@ -6,7 +6,7 @@ abstract @beta Efl.Ui.Item extends Efl.Ui.Layout_Base implements Efl.Ui.Selectab
|
|||
like @Efl.Ui.List or @Efl.Ui.Grid, for example.
|
||||
@Efl.Ui.Item provides user interaction through the @Efl.Input.Clickable mixin.
|
||||
Items can be pressed, long-pressed, etc, and appropriate events are generated.
|
||||
@Efl.Ui.Item also implements the @Efl.Ui.Selectable interface, meaning that "selected" and
|
||||
@Efl.Ui.Item also implements the @Efl.Ui.Container_Selectable interface, meaning that "selected" and
|
||||
"unselected" events are automatically generated.
|
||||
|
||||
Classes inheriting from this one only need to deal with the visual representation of the widget.
|
||||
|
@ -15,8 +15,8 @@ abstract @beta Efl.Ui.Item extends Efl.Ui.Layout_Base implements Efl.Ui.Selectab
|
|||
Some events are converted to edje signals so the theme can react to them:
|
||||
@[Efl.Input.Clickable.pressed] -> "efl,state,pressed",
|
||||
@[Efl.Input.Clickable.unpressed] -> "efl,state,unpressed",
|
||||
@[Efl.Ui.Selectable.item,selected] -> "efl,state,selected",
|
||||
@[Efl.Ui.Selectable.item,unselected] -> "efl,state,unselected".
|
||||
@[Efl.Ui.Container_Selectable.item,selected] -> "efl,state,selected",
|
||||
@[Efl.Ui.Container_Selectable.item,unselected] -> "efl,state,unselected".
|
||||
]]
|
||||
methods {
|
||||
@property index {
|
||||
|
|
|
@ -9,7 +9,7 @@ struct @beta Efl.Ui.List_View_Item_Event
|
|||
}
|
||||
class @beta Efl.Ui.List_View extends Efl.Ui.Layout_Base implements Efl.Ui.Scrollable_Interactive, Efl.Ui.Scrollbar,
|
||||
Efl.Access.Widget.Action, Efl.Access.Selection, Efl.Ui.Focus.Composition, Efl.Ui.Focus.Manager_Sub,
|
||||
Efl.Ui.Selectable, Efl.Ui.List_View_Model, Efl.Ui.Widget_Focus_Manager
|
||||
Efl.Ui.Container_Selectable, Efl.Ui.List_View_Model, Efl.Ui.Widget_Focus_Manager
|
||||
{
|
||||
methods {
|
||||
@property homogeneous {
|
||||
|
|
|
@ -3,7 +3,7 @@ import elm_general;
|
|||
|
||||
class @beta Efl.Ui.Text extends Efl.Ui.Layout_Base implements Efl.Input.Clickable,
|
||||
Efl.Access.Text, Efl.Access.Editable.Text, Efl.File,
|
||||
Efl.Ui.Selectable, Efl.Text_Interactive, Efl.Text_Markup
|
||||
Efl.Ui.Text_Selectable, Efl.Text_Interactive, Efl.Text_Markup
|
||||
{
|
||||
[[A flexible text widget which can be static (as a label) or editable by
|
||||
the user (as a text entry). It provides all sorts of editing facilities
|
||||
|
|
|
@ -631,7 +631,7 @@ static const Efl_Class_Description _elm_combobox_class_desc = {
|
|||
NULL
|
||||
};
|
||||
|
||||
EFL_DEFINE_CLASS(elm_combobox_class_get, &_elm_combobox_class_desc, EFL_UI_BUTTON_CLASS, EFL_UI_SELECTABLE_INTERFACE, EFL_ACCESS_WIDGET_ACTION_MIXIN, ELM_ENTRY_CLASS, ELM_GENLIST_CLASS, ELM_HOVER_CLASS, EFL_UI_LEGACY_INTERFACE, NULL);
|
||||
EFL_DEFINE_CLASS(elm_combobox_class_get, &_elm_combobox_class_desc, EFL_UI_BUTTON_CLASS, EFL_ACCESS_WIDGET_ACTION_MIXIN, ELM_ENTRY_CLASS, ELM_GENLIST_CLASS, ELM_HOVER_CLASS, EFL_UI_LEGACY_INTERFACE, NULL);
|
||||
|
||||
EAPI Eina_Bool
|
||||
elm_combobox_expanded_get(const Elm_Combobox *obj)
|
||||
|
|
|
@ -77,6 +77,6 @@ static const Efl_Class_Description _elm_actionslider_class_desc = {
|
|||
NULL
|
||||
};
|
||||
|
||||
EFL_DEFINE_CLASS(elm_actionslider_class_get, &_elm_actionslider_class_desc, EFL_UI_LAYOUT_BASE_CLASS, EFL_UI_SELECTABLE_INTERFACE, ELM_LAYOUT_MIXIN, EFL_UI_LEGACY_INTERFACE, NULL);
|
||||
EFL_DEFINE_CLASS(elm_actionslider_class_get, &_elm_actionslider_class_desc, EFL_UI_LAYOUT_BASE_CLASS, ELM_LAYOUT_MIXIN, EFL_UI_LEGACY_INTERFACE, NULL);
|
||||
|
||||
#include "elm_actionslider_eo.legacy.c"
|
||||
|
|
|
@ -222,6 +222,6 @@ static const Efl_Class_Description _elm_diskselector_class_desc = {
|
|||
NULL
|
||||
};
|
||||
|
||||
EFL_DEFINE_CLASS(elm_diskselector_class_get, &_elm_diskselector_class_desc, EFL_UI_WIDGET_CLASS, ELM_INTERFACE_SCROLLABLE_MIXIN, EFL_ACCESS_WIDGET_ACTION_MIXIN, EFL_INPUT_CLICKABLE_MIXIN, EFL_UI_SCROLLABLE_INTERFACE, EFL_UI_SELECTABLE_INTERFACE, EFL_UI_LEGACY_INTERFACE, NULL);
|
||||
EFL_DEFINE_CLASS(elm_diskselector_class_get, &_elm_diskselector_class_desc, EFL_UI_WIDGET_CLASS, ELM_INTERFACE_SCROLLABLE_MIXIN, EFL_ACCESS_WIDGET_ACTION_MIXIN, EFL_INPUT_CLICKABLE_MIXIN, EFL_UI_SCROLLABLE_INTERFACE, EFL_UI_LEGACY_INTERFACE, NULL);
|
||||
|
||||
#include "elm_diskselector_eo.legacy.c"
|
||||
|
|
|
@ -1188,6 +1188,6 @@ static const Efl_Class_Description _elm_entry_class_desc = {
|
|||
NULL
|
||||
};
|
||||
|
||||
EFL_DEFINE_CLASS(elm_entry_class_get, &_elm_entry_class_desc, EFL_UI_LAYOUT_BASE_CLASS, ELM_INTERFACE_SCROLLABLE_MIXIN, EFL_INPUT_CLICKABLE_MIXIN, EFL_ACCESS_TEXT_INTERFACE, EFL_ACCESS_EDITABLE_TEXT_INTERFACE, EFL_FILE_MIXIN, EFL_UI_SELECTABLE_INTERFACE, EFL_UI_SCROLLABLE_INTERFACE, EFL_ACCESS_WIDGET_ACTION_MIXIN, ELM_LAYOUT_MIXIN, EFL_UI_LEGACY_INTERFACE, NULL);
|
||||
EFL_DEFINE_CLASS(elm_entry_class_get, &_elm_entry_class_desc, EFL_UI_LAYOUT_BASE_CLASS, ELM_INTERFACE_SCROLLABLE_MIXIN, EFL_INPUT_CLICKABLE_MIXIN, EFL_ACCESS_TEXT_INTERFACE, EFL_ACCESS_EDITABLE_TEXT_INTERFACE, EFL_FILE_MIXIN, EFL_UI_SCROLLABLE_INTERFACE, EFL_ACCESS_WIDGET_ACTION_MIXIN, ELM_LAYOUT_MIXIN, EFL_UI_LEGACY_INTERFACE, NULL);
|
||||
|
||||
#include "elm_entry_eo.legacy.c"
|
||||
|
|
|
@ -88,4 +88,4 @@ static const Efl_Class_Description _elm_fileselector_entry_class_desc = {
|
|||
NULL
|
||||
};
|
||||
|
||||
EFL_DEFINE_CLASS(elm_fileselector_entry_class_get, &_elm_fileselector_entry_class_desc, EFL_UI_LAYOUT_BASE_CLASS, ELM_INTERFACE_FILESELECTOR_INTERFACE, EFL_INPUT_CLICKABLE_MIXIN, EFL_UI_SELECTABLE_INTERFACE, ELM_LAYOUT_MIXIN, EFL_UI_LEGACY_INTERFACE, NULL);
|
||||
EFL_DEFINE_CLASS(elm_fileselector_entry_class_get, &_elm_fileselector_entry_class_desc, EFL_UI_LAYOUT_BASE_CLASS, ELM_INTERFACE_FILESELECTOR_INTERFACE, EFL_INPUT_CLICKABLE_MIXIN, ELM_LAYOUT_MIXIN, EFL_UI_LEGACY_INTERFACE, NULL);
|
||||
|
|
|
@ -202,6 +202,6 @@ static const Efl_Class_Description _elm_fileselector_class_desc = {
|
|||
_elm_fileselector_class_destructor
|
||||
};
|
||||
|
||||
EFL_DEFINE_CLASS(elm_fileselector_class_get, &_elm_fileselector_class_desc, EFL_UI_LAYOUT_BASE_CLASS, ELM_INTERFACE_FILESELECTOR_INTERFACE, EFL_ACCESS_WIDGET_ACTION_MIXIN, EFL_UI_FOCUS_COMPOSITION_MIXIN, EFL_INPUT_CLICKABLE_MIXIN, EFL_UI_SELECTABLE_INTERFACE, ELM_LAYOUT_MIXIN, EFL_UI_LEGACY_INTERFACE, NULL);
|
||||
EFL_DEFINE_CLASS(elm_fileselector_class_get, &_elm_fileselector_class_desc, EFL_UI_LAYOUT_BASE_CLASS, ELM_INTERFACE_FILESELECTOR_INTERFACE, EFL_ACCESS_WIDGET_ACTION_MIXIN, EFL_UI_FOCUS_COMPOSITION_MIXIN, EFL_INPUT_CLICKABLE_MIXIN, ELM_LAYOUT_MIXIN, EFL_UI_LEGACY_INTERFACE, NULL);
|
||||
|
||||
#include "elm_fileselector_eo.legacy.c"
|
||||
|
|
|
@ -154,6 +154,6 @@ static const Efl_Class_Description _elm_flipselector_class_desc = {
|
|||
NULL
|
||||
};
|
||||
|
||||
EFL_DEFINE_CLASS(elm_flipselector_class_get, &_elm_flipselector_class_desc, EFL_UI_LAYOUT_BASE_CLASS, EFL_UI_RANGE_INTERACTIVE_INTERFACE, EFL_ACCESS_WIDGET_ACTION_MIXIN, EFL_UI_SELECTABLE_INTERFACE, ELM_LAYOUT_MIXIN, EFL_UI_LEGACY_INTERFACE, NULL);
|
||||
EFL_DEFINE_CLASS(elm_flipselector_class_get, &_elm_flipselector_class_desc, EFL_UI_LAYOUT_BASE_CLASS, EFL_UI_RANGE_INTERACTIVE_INTERFACE, EFL_ACCESS_WIDGET_ACTION_MIXIN, ELM_LAYOUT_MIXIN, EFL_UI_LEGACY_INTERFACE, NULL);
|
||||
|
||||
#include "elm_flipselector_eo.legacy.c"
|
||||
|
|
|
@ -681,6 +681,6 @@ static const Efl_Class_Description _elm_genlist_class_desc = {
|
|||
NULL
|
||||
};
|
||||
|
||||
EFL_DEFINE_CLASS(elm_genlist_class_get, &_elm_genlist_class_desc, EFL_UI_LAYOUT_BASE_CLASS, ELM_INTERFACE_SCROLLABLE_MIXIN, EFL_INPUT_CLICKABLE_MIXIN, EFL_ACCESS_WIDGET_ACTION_MIXIN, EFL_ACCESS_SELECTION_INTERFACE, EFL_UI_SELECTABLE_INTERFACE, ELM_LAYOUT_MIXIN, EFL_UI_LEGACY_INTERFACE, ELM_WIDGET_ITEM_CONTAINER_INTERFACE, NULL);
|
||||
EFL_DEFINE_CLASS(elm_genlist_class_get, &_elm_genlist_class_desc, EFL_UI_LAYOUT_BASE_CLASS, ELM_INTERFACE_SCROLLABLE_MIXIN, EFL_INPUT_CLICKABLE_MIXIN, EFL_ACCESS_WIDGET_ACTION_MIXIN, EFL_ACCESS_SELECTION_INTERFACE, ELM_LAYOUT_MIXIN, EFL_UI_LEGACY_INTERFACE, ELM_WIDGET_ITEM_CONTAINER_INTERFACE, NULL);
|
||||
|
||||
#include "elm_genlist_eo.legacy.c"
|
||||
|
|
|
@ -189,6 +189,6 @@ static const Efl_Class_Description _elm_hoversel_class_desc = {
|
|||
NULL
|
||||
};
|
||||
|
||||
EFL_DEFINE_CLASS(elm_hoversel_class_get, &_elm_hoversel_class_desc, EFL_UI_BUTTON_LEGACY_CLASS, EFL_UI_SELECTABLE_INTERFACE, EFL_INPUT_CLICKABLE_MIXIN, EFL_ACCESS_WIDGET_ACTION_MIXIN, ELM_LAYOUT_MIXIN, EFL_UI_LEGACY_INTERFACE, NULL);
|
||||
EFL_DEFINE_CLASS(elm_hoversel_class_get, &_elm_hoversel_class_desc, EFL_UI_BUTTON_LEGACY_CLASS, EFL_INPUT_CLICKABLE_MIXIN, EFL_ACCESS_WIDGET_ACTION_MIXIN, ELM_LAYOUT_MIXIN, EFL_UI_LEGACY_INTERFACE, NULL);
|
||||
|
||||
#include "elm_hoversel_eo.legacy.c"
|
||||
|
|
|
@ -322,6 +322,6 @@ static const Efl_Class_Description _elm_index_class_desc = {
|
|||
NULL
|
||||
};
|
||||
|
||||
EFL_DEFINE_CLASS(elm_index_class_get, &_elm_index_class_desc, EFL_UI_LAYOUT_BASE_CLASS, EFL_UI_LAYOUT_ORIENTABLE_INTERFACE, EFL_INPUT_CLICKABLE_MIXIN, EFL_UI_SELECTABLE_INTERFACE, ELM_LAYOUT_MIXIN, EFL_UI_LEGACY_INTERFACE, NULL);
|
||||
EFL_DEFINE_CLASS(elm_index_class_get, &_elm_index_class_desc, EFL_UI_LAYOUT_BASE_CLASS, EFL_UI_LAYOUT_ORIENTABLE_INTERFACE, EFL_INPUT_CLICKABLE_MIXIN, ELM_LAYOUT_MIXIN, EFL_UI_LEGACY_INTERFACE, NULL);
|
||||
|
||||
#include "elm_index_eo.legacy.c"
|
||||
|
|
|
@ -363,6 +363,6 @@ static const Efl_Class_Description _elm_list_class_desc = {
|
|||
NULL
|
||||
};
|
||||
|
||||
EFL_DEFINE_CLASS(elm_list_class_get, &_elm_list_class_desc, EFL_UI_LAYOUT_BASE_CLASS, ELM_INTERFACE_SCROLLABLE_MIXIN, EFL_ACCESS_WIDGET_ACTION_MIXIN, EFL_ACCESS_SELECTION_INTERFACE, EFL_ACCESS_OBJECT_MIXIN, EFL_INPUT_CLICKABLE_MIXIN, EFL_UI_SELECTABLE_INTERFACE, ELM_LAYOUT_MIXIN, EFL_UI_LEGACY_INTERFACE, ELM_WIDGET_ITEM_CONTAINER_INTERFACE, NULL);
|
||||
EFL_DEFINE_CLASS(elm_list_class_get, &_elm_list_class_desc, EFL_UI_LAYOUT_BASE_CLASS, ELM_INTERFACE_SCROLLABLE_MIXIN, EFL_ACCESS_WIDGET_ACTION_MIXIN, EFL_ACCESS_SELECTION_INTERFACE, EFL_ACCESS_OBJECT_MIXIN, EFL_INPUT_CLICKABLE_MIXIN, ELM_LAYOUT_MIXIN, EFL_UI_LEGACY_INTERFACE, ELM_WIDGET_ITEM_CONTAINER_INTERFACE, NULL);
|
||||
|
||||
#include "elm_list_eo.legacy.c"
|
||||
|
|
|
@ -372,6 +372,6 @@ static const Efl_Class_Description _elm_toolbar_class_desc = {
|
|||
NULL
|
||||
};
|
||||
|
||||
EFL_DEFINE_CLASS(elm_toolbar_class_get, &_elm_toolbar_class_desc, EFL_UI_WIDGET_CLASS, EFL_UI_FOCUS_COMPOSITION_MIXIN, ELM_INTERFACE_SCROLLABLE_MIXIN, EFL_UI_LAYOUT_ORIENTABLE_INTERFACE, EFL_ACCESS_WIDGET_ACTION_MIXIN, EFL_ACCESS_SELECTION_INTERFACE, EFL_ACCESS_OBJECT_MIXIN, EFL_INPUT_CLICKABLE_MIXIN, EFL_UI_SELECTABLE_INTERFACE, EFL_UI_LEGACY_INTERFACE, ELM_WIDGET_ITEM_CONTAINER_INTERFACE, NULL);
|
||||
EFL_DEFINE_CLASS(elm_toolbar_class_get, &_elm_toolbar_class_desc, EFL_UI_WIDGET_CLASS, EFL_UI_FOCUS_COMPOSITION_MIXIN, ELM_INTERFACE_SCROLLABLE_MIXIN, EFL_UI_LAYOUT_ORIENTABLE_INTERFACE, EFL_ACCESS_WIDGET_ACTION_MIXIN, EFL_ACCESS_SELECTION_INTERFACE, EFL_ACCESS_OBJECT_MIXIN, EFL_INPUT_CLICKABLE_MIXIN, EFL_UI_LEGACY_INTERFACE, ELM_WIDGET_ITEM_CONTAINER_INTERFACE, NULL);
|
||||
|
||||
#include "elm_toolbar_eo.legacy.c"
|
||||
|
|
Loading…
Reference in New Issue