diff options
Diffstat (limited to 'src/lib')
-rw-r--r-- | src/lib/elementary/Efl_Ui.h | 3 | ||||
-rw-r--r-- | src/lib/elementary/efl_ui_collection.c | 6 | ||||
-rw-r--r-- | src/lib/elementary/efl_ui_collection.eo | 10 | ||||
-rw-r--r-- | src/lib/elementary/efl_ui_collection_view.c | 4 | ||||
-rw-r--r-- | src/lib/elementary/efl_ui_collection_view.eo | 6 | ||||
-rw-r--r-- | src/lib/elementary/efl_ui_grid.eo | 2 | ||||
-rw-r--r-- | src/lib/elementary/efl_ui_grid_view.eo | 4 | ||||
-rw-r--r-- | src/lib/elementary/efl_ui_item.c | 3 | ||||
-rw-r--r-- | src/lib/elementary/efl_ui_list.eo | 2 | ||||
-rw-r--r-- | src/lib/elementary/efl_ui_list_view.eo | 4 | ||||
-rw-r--r-- | src/lib/elementary/efl_ui_multi_selectable.eo | 34 | ||||
-rw-r--r-- | src/lib/elementary/efl_ui_multi_selectable_async.eo | 63 | ||||
-rw-r--r-- | src/lib/elementary/efl_ui_multi_selectable_index_range.eo | 53 | ||||
-rw-r--r-- | src/lib/elementary/efl_ui_multi_selectable_object_range.eo | 46 | ||||
-rw-r--r-- | src/lib/elementary/efl_ui_select_model.c | 24 | ||||
-rw-r--r-- | src/lib/elementary/efl_ui_select_model.eo | 16 | ||||
-rw-r--r-- | src/lib/elementary/meson.build | 3 |
17 files changed, 145 insertions, 138 deletions
diff --git a/src/lib/elementary/Efl_Ui.h b/src/lib/elementary/Efl_Ui.h index 9c8744d006..b3b07b5181 100644 --- a/src/lib/elementary/Efl_Ui.h +++ b/src/lib/elementary/Efl_Ui.h @@ -298,6 +298,8 @@ typedef Eo Efl_Ui_Spotlight_Indicator; # include <efl_ui_selectable.eo.h> # include <efl_ui_single_selectable.eo.h> # include <efl_ui_multi_selectable.eo.h> +# include <efl_ui_multi_selectable_object_range.eo.h> +# include <efl_ui_multi_selectable_index_range.eo.h> # include <efl_ui_popup.eo.h> # include <efl_ui_alert_popup.eo.h> # include <efl_ui_popup_part_backwall.eo.h> @@ -307,7 +309,6 @@ typedef Eo Efl_Ui_Spotlight_Indicator; # include <efl_ui_tab_bar.eo.h> # include <efl_ui_tab_page.eo.h> # include <efl_ui_tab_pager.eo.h> -# include <efl_ui_multi_selectable_async.eo.h> # include <efl_ui_select_model.eo.h> # include <efl_ui_list_view.eo.h> diff --git a/src/lib/elementary/efl_ui_collection.c b/src/lib/elementary/efl_ui_collection.c index 6c3c5fe226..3e54f79b24 100644 --- a/src/lib/elementary/efl_ui_collection.c +++ b/src/lib/elementary/efl_ui_collection.c @@ -261,7 +261,7 @@ _efl_ui_collection_efl_ui_single_selectable_last_selected_get(const Eo *obj EINA } EOLIAN static Eina_Iterator* -_efl_ui_collection_efl_ui_multi_selectable_selected_iterator_new(Eo *obj EINA_UNUSED, Efl_Ui_Collection_Data *pd) +_efl_ui_collection_efl_ui_multi_selectable_object_range_selected_iterator_new(Eo *obj EINA_UNUSED, Efl_Ui_Collection_Data *pd) { return eina_list_iterator_new(pd->selected); } @@ -1147,13 +1147,13 @@ _range_selection_find(Eo *obj, Efl_Ui_Collection_Data *pd, Efl_Ui_Selectable *a, } EOLIAN static void -_efl_ui_collection_efl_ui_multi_selectable_range_select(Eo *obj, Efl_Ui_Collection_Data *pd, Efl_Ui_Selectable *a, Efl_Ui_Selectable *b) +_efl_ui_collection_efl_ui_multi_selectable_object_range_range_select(Eo *obj, Efl_Ui_Collection_Data *pd, Efl_Ui_Selectable *a, Efl_Ui_Selectable *b) { _range_selection_find(obj, pd, a, b, EINA_TRUE); } EOLIAN static void -_efl_ui_collection_efl_ui_multi_selectable_range_unselect(Eo *obj, Efl_Ui_Collection_Data *pd, Efl_Ui_Selectable *a, Efl_Ui_Selectable *b) +_efl_ui_collection_efl_ui_multi_selectable_object_range_range_unselect(Eo *obj, Efl_Ui_Collection_Data *pd, Efl_Ui_Selectable *a, Efl_Ui_Selectable *b) { _range_selection_find(obj, pd, a, b, EINA_FALSE); } diff --git a/src/lib/elementary/efl_ui_collection.eo b/src/lib/elementary/efl_ui_collection.eo index 6071c2ae02..342feea116 100644 --- a/src/lib/elementary/efl_ui_collection.eo +++ b/src/lib/elementary/efl_ui_collection.eo @@ -1,7 +1,7 @@ class Efl.Ui.Collection extends Efl.Ui.Layout_Base implements Efl.Pack_Linear, Efl.Ui.Layout_Orientable, - Efl.Ui.Multi_Selectable, + Efl.Ui.Multi_Selectable_Object_Range, Efl.Ui.Focus.Manager_Sub, Efl.Ui.Widget_Focus_Manager, Efl.Ui.Item_Clickable @@ -24,7 +24,7 @@ class Efl.Ui.Collection extends Efl.Ui.Layout_Base implements If all items do not fit in the current widget size scrolling facilities are provided. Items inside this widget can be selected according to the @Efl.Ui.Multi_Selectable.select_mode - policy, and the selection can be retrieved with @Efl.Ui.Multi_Selectable.selected_iterator_new. + policy, and the selection can be retrieved with @Efl.Ui.Multi_Selectable_Object_Range.selected_iterator_new. @since 1.23 ]] @@ -84,12 +84,12 @@ class Efl.Ui.Collection extends Efl.Ui.Layout_Base implements Efl.Ui.Widget.focus_state_apply; Efl.Ui.Focus.Manager.move; Efl.Ui.Single_Selectable.last_selected { get; } - Efl.Ui.Multi_Selectable.selected_iterator_new; Efl.Ui.Multi_Selectable.select_mode {get; set;} Efl.Ui.Multi_Selectable.all_select; Efl.Ui.Multi_Selectable.all_unselect; - Efl.Ui.Multi_Selectable.range_select; - Efl.Ui.Multi_Selectable.range_unselect; + Efl.Ui.Multi_Selectable_Object_Range.selected_iterator_new; + Efl.Ui.Multi_Selectable_Object_Range.range_select; + Efl.Ui.Multi_Selectable_Object_Range.range_unselect; Efl.Ui.Single_Selectable.fallback_selection {get; set;} } } diff --git a/src/lib/elementary/efl_ui_collection_view.c b/src/lib/elementary/efl_ui_collection_view.c index e3d4c96ff0..e5cff428b4 100644 --- a/src/lib/elementary/efl_ui_collection_view.c +++ b/src/lib/elementary/efl_ui_collection_view.c @@ -1921,11 +1921,11 @@ _efl_ui_collection_view_model_changed(void *data, const Efl_Event *event) // Search the composition of model for the one providing MULTI_SELECTABLE_ASYNC mselect = ev->current; while (mselect && - !efl_isa(mselect, EFL_UI_MULTI_SELECTABLE_ASYNC_INTERFACE) && + !efl_isa(mselect, EFL_UI_MULTI_SELECTABLE_INDEX_RANGE_INTERFACE) && efl_isa(mselect, EFL_COMPOSITE_MODEL_CLASS)) mselect = efl_ui_view_model_get(mselect); - if (!efl_isa(mselect, EFL_UI_MULTI_SELECTABLE_ASYNC_INTERFACE)) + if (!efl_isa(mselect, EFL_UI_MULTI_SELECTABLE_INDEX_RANGE_INTERFACE)) { mselect = NULL; selection = EINA_FALSE; diff --git a/src/lib/elementary/efl_ui_collection_view.eo b/src/lib/elementary/efl_ui_collection_view.eo index 330c95693c..65a1ee9e62 100644 --- a/src/lib/elementary/efl_ui_collection_view.eo +++ b/src/lib/elementary/efl_ui_collection_view.eo @@ -3,7 +3,7 @@ class Efl.Ui.Collection_View extends Efl.Ui.Layout_Base implements Efl.Ui.Focus.Manager_Sub, Efl.Ui.Widget_Focus_Manager, Efl.Ui.Item_Clickable - composites Efl.Ui.Scrollable, Efl.Ui.Scrollbar, Efl.Ui.Multi_Selectable_Async, Efl.Ui.Single_Selectable + composites Efl.Ui.Scrollable, Efl.Ui.Scrollbar, Efl.Ui.Multi_Selectable_Index_Range, Efl.Ui.Single_Selectable { [[This widget displays a list of items in an arrangement controlled by an external @.position_manager object. By using different @.position_manager objects this widget can show unidimensional lists or @@ -21,8 +21,8 @@ class Efl.Ui.Collection_View extends Efl.Ui.Layout_Base implements If all items do not fit in the current widget size scrolling facilities are provided. - Items inside this widget can be selected according to the @Efl.Ui.Multi_Selectable_Async.select_mode - policy, and the selection can be retrieved with @Efl.Ui.Multi_Selectable_Async.selected_iterator_new. + Items inside this widget can be selected according to the @Efl.Ui.Multi_Selectable.select_mode + policy, and the selection can be retrieved with @Efl.Ui.Multi_Selectable_Index_Range.selected_ndx_iterator_new. @since 1.23 ]] diff --git a/src/lib/elementary/efl_ui_grid.eo b/src/lib/elementary/efl_ui_grid.eo index d461760eda..ad4a4aee68 100644 --- a/src/lib/elementary/efl_ui_grid.eo +++ b/src/lib/elementary/efl_ui_grid.eo @@ -8,7 +8,7 @@ class Efl.Ui.Grid extends Efl.Ui.Collection @Efl.Ui.Layout_Orientable.orientation. Items inside this widget can be selected according to the @Efl.Ui.Multi_Selectable.select_mode - policy, and the selection can be retrieved with @Efl.Ui.Multi_Selectable.selected_iterator_new. + policy, and the selection can be retrieved with @Efl.Ui.Multi_Selectable_Object_Range.selected_iterator_new. @Efl.Ui.Grid supports grouping by using @Efl.Ui.Group_Item objects. Group headers are displayed at the top of the viewport if items belonging to the group diff --git a/src/lib/elementary/efl_ui_grid_view.eo b/src/lib/elementary/efl_ui_grid_view.eo index 18e513e8c9..3ad70c25d2 100644 --- a/src/lib/elementary/efl_ui_grid_view.eo +++ b/src/lib/elementary/efl_ui_grid_view.eo @@ -7,8 +7,8 @@ class @beta Efl.Ui.Grid_View extends Efl.Ui.Collection_View The orientation (vertical or horizontal) of the grid can be set with @Efl.Ui.Layout_Orientable.orientation. - Items inside this widget can be selected according to the @Efl.Ui.Multi_Selectable_Async.select_mode - policy, and the selection can be retrieved with @Efl.Ui.Multi_Selectable_Async.selected_iterator_new. + Items inside this widget can be selected according to the @Efl.Ui.Multi_Selectable.select_mode + policy, and the selection can be retrieved with @Efl.Ui.Multi_Selectable_Index_Range.selected_ndx_iterator_new. ]] data: null; implements { diff --git a/src/lib/elementary/efl_ui_item.c b/src/lib/elementary/efl_ui_item.c index f3c35ac9cf..349416ee8a 100644 --- a/src/lib/elementary/efl_ui_item.c +++ b/src/lib/elementary/efl_ui_item.c @@ -30,7 +30,7 @@ static Efl_Ui_Select_Mode _fetch_state(Eo *obj) { if (efl_isa(obj, EFL_UI_MULTI_SELECTABLE_INTERFACE)) - return efl_ui_selectable_select_mode_get(obj); + return efl_ui_multi_selectable_select_mode_get(obj); if (efl_isa(obj, EFL_UI_SINGLE_SELECTABLE_INTERFACE)) return EFL_UI_SELECT_MODE_SINGLE; ERR("Uncaught state %s", efl_debug_name_get(obj)); @@ -236,6 +236,7 @@ ELM_WIDGET_KEY_DOWN_DEFAULT_IMPLEMENT(efl_ui_item, Efl_Ui_Item_Data) #include "efl_ui_item.eo.c" #include "efl_ui_selectable.eo.c" #include "efl_ui_multi_selectable.eo.c" +#include "efl_ui_multi_selectable_object_range.eo.c" #include "efl_ui_single_selectable.eo.c" #include "efl_ui_item_clickable.eo.c" diff --git a/src/lib/elementary/efl_ui_list.eo b/src/lib/elementary/efl_ui_list.eo index 0bd3045223..73ef34b9e8 100644 --- a/src/lib/elementary/efl_ui_list.eo +++ b/src/lib/elementary/efl_ui_list.eo @@ -8,7 +8,7 @@ class Efl.Ui.List extends Efl.Ui.Collection @Efl.Ui.Layout_Orientable.orientation. Items inside this widget can be selected according to the @Efl.Ui.Multi_Selectable.select_mode - policy, and the selection can be retrieved with @Efl.Ui.Multi_Selectable.selected_iterator_new. + policy, and the selection can be retrieved with @Efl.Ui.Multi_Selectable_Object_Range.selected_iterator_new. @Efl.Ui.List supports grouping by using @Efl.Ui.Group_Item objects. Group headers are displayed at the top or left side of the viewport if items belonging to the group diff --git a/src/lib/elementary/efl_ui_list_view.eo b/src/lib/elementary/efl_ui_list_view.eo index c4de87da5a..af46bd32d0 100644 --- a/src/lib/elementary/efl_ui_list_view.eo +++ b/src/lib/elementary/efl_ui_list_view.eo @@ -7,8 +7,8 @@ class @beta Efl.Ui.List_View extends Efl.Ui.Collection_View The orientation (vertical or horizontal) of the list can be set with @Efl.Ui.Layout_Orientable.orientation. - Items inside this widget can be selected according to the @Efl.Ui.Multi_Selectable_Async.select_mode - policy, and the selection can be retrieved with @Efl.Ui.Multi_Selectable_Async.selected_iterator_new. + Items inside this widget can be selected according to the @Efl.Ui.Multi_Selectable.select_mode + policy, and the selection can be retrieved with @Efl.Ui.Multi_Selectable_Index_Range.selected_ndx_iterator_new. ]] data: null; implements { diff --git a/src/lib/elementary/efl_ui_multi_selectable.eo b/src/lib/elementary/efl_ui_multi_selectable.eo index 251f640185..c5237c8118 100644 --- a/src/lib/elementary/efl_ui_multi_selectable.eo +++ b/src/lib/elementary/efl_ui_multi_selectable.eo @@ -6,47 +6,15 @@ interface @beta Efl.Ui.Multi_Selectable extends Efl.Ui.Single_Selectable The implementor of this interface provides the possibility to select multiple Selectables. If not, only @Efl.Ui.Single_Selectable should be implemented.]] - c_prefix: efl_ui_selectable; + c_prefix: efl_ui_multi_selectable; methods { @property select_mode { [[The mode type for children selection.]] - set {} - get {} values { mode: Efl.Ui.Select_Mode; [[Type of selection of children]] } } - selected_iterator_new { - [[Get the selected items in a iterator. The iterator sequence will be decided by selection.]] - return: iterator<Efl.Ui.Selectable> @move @no_unused; [[User has to free the iterator after usage.]] - } - range_select @beta { - [[Select a range of @Efl.Ui.Selectable. - - This will select the range of selectables from a to b or from b to a depending on which one comes first. - If a or b are not part of the widget, a error is returned, and no change is applied. - $null is not allowed as either of the parameters. - Both of the passed values will also be selected. - ]] - params { - a : Efl.Ui.Selectable; [[One side of the range.]] - b : Efl.Ui.Selectable; [[The other side of the range.]] - } - } - range_unselect @beta { - [[Unselect a range of @Efl.Ui.Selectable. - - This will unselect the range of selectables from a to b or from b to a depending on which one comes first. - If a or b are not part of the widget, a error is returned, and no change is applied. - $null is not allowed as either of the parameters. - Both of the passed values will also be unselected. - ]] - params { - a : Efl.Ui.Selectable; [[One side of the range.]] - b : Efl.Ui.Selectable; [[The other side of the range.]] - } - } all_select { [[Select all @Efl.Ui.Selectable]] } diff --git a/src/lib/elementary/efl_ui_multi_selectable_async.eo b/src/lib/elementary/efl_ui_multi_selectable_async.eo deleted file mode 100644 index 3a09682358..0000000000 --- a/src/lib/elementary/efl_ui_multi_selectable_async.eo +++ /dev/null @@ -1,63 +0,0 @@ -import efl_ui; - -interface @beta Efl.Ui.Multi_Selectable_Async extends Efl.Ui.Single_Selectable -{ - [[Interface for getting access to a range of selected items for widgets that provide them asynchronously. - - The implementor of this interface provides the possibility to select multiple @Efl.Ui.Selectable. - If not, only @Efl.Ui.Single_Selectable should be implemented. - A widget can only provide either this interface or @Efl.Ui.Multi_Selectable, but not both.]] - methods - { - @property select_mode { - [[The mode type for children selection.]] - set {} - get {} - values { - mode: Efl.Ui.Select_Mode; [[Type of selection of children]] - } - } - selected_iterator_new { - [[Gets an iterator of all the selected child of this model. - ]] - return: iterator<uint64> @move @no_unused; [[The iterator gives indices of selected children. - It is valid until any change is made on the model.]] - } - unselected_iterator_new { - [[Gets an iterator of all the child of this model that are not selected. - ]] - return: iterator<uint64> @move @no_unused; [[The iterator gives indices of unselected children. - It is valid until any change is made on the model.]] - } - range_select @beta { - [[Select a range of @Efl.Ui.Selectable. - - This will select the range of selectables from $a to $b or from $b to $a depending on which one comes first. - If $a or $b are not in the range the widget, an error is returned, and no change is applied. - Both of the passed values will also be selected. - ]] - params { - a : uint64; [[One side of the range.]] - b : uint64; [[The other side of the range.]] - } - } - range_unselect @beta { - [[Unselect a range of @Efl.Ui.Selectable. - - This will unselect the range of selectables from $a to $b or from $b to $a depending on which one comes first. - If $a or $b are not in the range of the widget, an error is returned, and no change is applied. - Both of the passed values will also be unselected. - ]] - params { - a : uint64; [[One side of the range.]] - b : uint64; [[The other side of the range.]] - } - } - all_select { - [[Select all @Efl.Ui.Selectable]] - } - all_unselect { - [[Unselect all @Efl.Ui.Selectable]] - } - } -} diff --git a/src/lib/elementary/efl_ui_multi_selectable_index_range.eo b/src/lib/elementary/efl_ui_multi_selectable_index_range.eo new file mode 100644 index 0000000000..39747ab8b4 --- /dev/null +++ b/src/lib/elementary/efl_ui_multi_selectable_index_range.eo @@ -0,0 +1,53 @@ +import efl_ui; + +interface @beta Efl.Ui.Multi_Selectable_Index_Range extends Efl.Ui.Multi_Selectable +{ + [[Interface for getting access to a range of selected items through their indices. + + The implementor of this interface provides the possibility to select multiple @Efl.Ui.Selectable objects. + If not, only @Efl.Ui.Single_Selectable should be implemented. + A widget can only provide either this interface or @Efl.Ui.Multi_Selectable_Object_Range, but not both.]] + c_prefix: efl_ui_multi_selectable; + methods + { + selected_ndx_iterator_new { + [[Gets an iterator over the indices of all the selected children. + ]] + return: iterator<uint64> @move @no_unused; [[The iterator gives the indices of the selected children. + It is valid until any change is made to the selection state.]] + } + unselected_ndx_iterator_new { + [[Gets an iterator over the indices of all the unselected children. + ]] + return: iterator<uint64> @move @no_unused; [[The iterator gives the indices of the unselected children. + It is valid until any change is made to the selection state.]] + } + ndx_range_select @beta { + [[Select a range of @Efl.Ui.Selectable objects using their indices inside the container. + + This will select the range of @Efl.Ui.Selectable objects from $a to $b or from $b to $a depending on + which one comes first. + If $a or $b are not part of the widget, an error is returned, and no change is applied. + $NULL is not allowed as either of the parameters. + ]] + params { + a : uint64; [[One side of the range.]] + b : uint64; [[The other side of the range.]] + } + } + ndx_range_unselect @beta { + [[Unselect a range of @Efl.Ui.Selectable objects using their indices inside the container. + + This will unselect the range of @Efl.Ui.Selectable objects from $a to $b or from $b to $a depending on + which one comes first. + If $a or $b are not part of the widget, an error is returned, and no change is applied. + $NULL is not allowed as either of the parameters. + Both of the passed values will also be unselected. + ]] + params { + a : uint64; [[One side of the range.]] + b : uint64; [[The other side of the range.]] + } + } + } +} diff --git a/src/lib/elementary/efl_ui_multi_selectable_object_range.eo b/src/lib/elementary/efl_ui_multi_selectable_object_range.eo new file mode 100644 index 0000000000..f88beb9efa --- /dev/null +++ b/src/lib/elementary/efl_ui_multi_selectable_object_range.eo @@ -0,0 +1,46 @@ +import efl_ui; + +interface @beta Efl.Ui.Multi_Selectable_Object_Range extends Efl.Ui.Multi_Selectable +{ + [[Interface for getting access to a range of selected items. + + The implementor of this interface provides the possibility to select multiple Selectables. + If not, only @Efl.Ui.Single_Selectable should be implemented. + A widget can only provide either this interface or @Efl.Ui.Multi_Selectable_Index_Range, but not both.]] + c_prefix: efl_ui_multi_selectable; + methods + { + selected_iterator_new { + [[Get the selected items in an iterator. The iterator sequence will be decided by selection.]] + return: iterator<Efl.Ui.Selectable> @move @no_unused; [[User has to free the iterator after usage.]] + } + range_select @beta { + [[Select a range of @Efl.Ui.Selectable. + + This will select the range of @Efl.Ui.Selectable objects from $a to $b or from $b to $a depending on + which one comes first. + If $a or $b are not part of the widget, an error is returned, and no change is applied. + $NULL is not allowed as either of the parameters. + Both of the passed values will also be selected. + ]] + params { + a : Efl.Ui.Selectable; [[One side of the range.]] + b : Efl.Ui.Selectable; [[The other side of the range.]] + } + } + range_unselect @beta { + [[Unselect a range of @Efl.Ui.Selectable. + + This will unselect the range of @Efl.Ui.Selectable objects from $a to $b or from $b to $a depending on + which one comes first. + If $a or $b are not part of the widget, an error is returned, and no change is applied. + $NULL is not allowed as either of the parameters. + Both of the passed values will also be unselected. + ]] + params { + a : Efl.Ui.Selectable; [[One side of the range.]] + b : Efl.Ui.Selectable; [[The other side of the range.]] + } + } + } +} diff --git a/src/lib/elementary/efl_ui_select_model.c b/src/lib/elementary/efl_ui_select_model.c index c6092a50a6..016f720a15 100644 --- a/src/lib/elementary/efl_ui_select_model.c +++ b/src/lib/elementary/efl_ui_select_model.c @@ -469,7 +469,7 @@ _efl_ui_select_model_efl_model_property_get(const Eo *obj, Efl_Ui_Select_Model_D } static Eina_Iterator * -_efl_ui_select_model_efl_ui_multi_selectable_async_selected_iterator_new(Eo *obj, +_efl_ui_select_model_efl_ui_multi_selectable_index_range_selected_ndx_iterator_new(Eo *obj, Efl_Ui_Select_Model_Data *pd) { if (pd->parent && pd->parent->selection == EFL_UI_SELECT_MODE_NONE) @@ -478,7 +478,7 @@ _efl_ui_select_model_efl_ui_multi_selectable_async_selected_iterator_new(Eo *obj } static Eina_Iterator * -_efl_ui_select_model_efl_ui_multi_selectable_async_unselected_iterator_new(Eo *obj, +_efl_ui_select_model_efl_ui_multi_selectable_index_range_unselected_ndx_iterator_new(Eo *obj, Efl_Ui_Select_Model_Data *pd EINA_UNUSED) { return efl_boolean_model_boolean_iterator_get(obj, "selected", EINA_FALSE); @@ -492,7 +492,7 @@ _efl_ui_select_model_efl_ui_single_selectable_last_selected_get(const Eo *obj EI } static void -_efl_ui_select_model_efl_ui_multi_selectable_async_select_mode_set(Eo *obj, +_efl_ui_select_model_efl_ui_multi_selectable_select_mode_set(Eo *obj, Efl_Ui_Select_Model_Data *pd, Efl_Ui_Select_Mode mode) { @@ -501,11 +501,11 @@ _efl_ui_select_model_efl_ui_multi_selectable_async_select_mode_set(Eo *obj, case EFL_UI_SELECT_MODE_SINGLE: mode = EFL_UI_SELECT_MODE_SINGLE; if (pd->selection == EFL_UI_SELECT_MODE_MULTI) - efl_ui_multi_selectable_async_all_unselect(obj); + efl_ui_multi_selectable_all_unselect(obj); break; case EFL_UI_SELECT_MODE_NONE: if (pd->selection == EFL_UI_SELECT_MODE_MULTI) - efl_ui_multi_selectable_async_all_unselect(obj); + efl_ui_multi_selectable_all_unselect(obj); else if (pd->last_model) { Eina_Value unselect = eina_value_bool_init(EINA_FALSE); @@ -526,14 +526,14 @@ _efl_ui_select_model_efl_ui_multi_selectable_async_select_mode_set(Eo *obj, } static Efl_Ui_Select_Mode -_efl_ui_select_model_efl_ui_multi_selectable_async_select_mode_get(const Eo *obj EINA_UNUSED, +_efl_ui_select_model_efl_ui_multi_selectable_select_mode_get(const Eo *obj EINA_UNUSED, Efl_Ui_Select_Model_Data *pd) { return pd->selection; } static void -_efl_ui_select_model_efl_ui_multi_selectable_async_all_select(Eo *obj, +_efl_ui_select_model_efl_ui_multi_selectable_all_select(Eo *obj, Efl_Ui_Select_Model_Data *pd EINA_UNUSED) { unsigned long count, i; @@ -553,16 +553,16 @@ _efl_ui_select_model_efl_ui_multi_selectable_async_all_select(Eo *obj, } static void -_efl_ui_select_model_efl_ui_multi_selectable_async_all_unselect(Eo *obj, +_efl_ui_select_model_efl_ui_multi_selectable_all_unselect(Eo *obj, Efl_Ui_Select_Model_Data *pd EINA_UNUSED) { uint64_t count = efl_model_children_count_get(obj); - efl_ui_multi_selectable_async_range_unselect(obj, 0, count - 1); + efl_ui_multi_selectable_ndx_range_unselect(obj, 0, count - 1); } static void -_efl_ui_select_model_efl_ui_multi_selectable_async_range_select(Eo *obj, +_efl_ui_select_model_efl_ui_multi_selectable_index_range_ndx_range_select(Eo *obj, Efl_Ui_Select_Model_Data *pd EINA_UNUSED, uint64_t a, uint64_t b) { @@ -604,7 +604,7 @@ _children_unselect_then(Eo *o EINA_UNUSED, void *data EINA_UNUSED, const Eina_Va #define BATCH_MAX 100 static void -_efl_ui_select_model_efl_ui_multi_selectable_async_range_unselect(Eo *obj, +_efl_ui_select_model_efl_ui_multi_selectable_index_range_ndx_range_unselect(Eo *obj, Efl_Ui_Select_Model_Data *pd EINA_UNUSED, uint64_t a, uint64_t b) { @@ -695,4 +695,4 @@ _efl_ui_select_model_efl_ui_selectable_selected_get(const Eo *obj, } #include "efl_ui_select_model.eo.c" -#include "efl_ui_multi_selectable_async.eo.c" +#include "efl_ui_multi_selectable_index_range.eo.c" diff --git a/src/lib/elementary/efl_ui_select_model.eo b/src/lib/elementary/efl_ui_select_model.eo index 7fa0f8411a..abe5137a18 100644 --- a/src/lib/elementary/efl_ui_select_model.eo +++ b/src/lib/elementary/efl_ui_select_model.eo @@ -1,5 +1,5 @@ class @beta Efl.Ui.Select_Model extends Efl.Boolean_Model - implements Efl.Ui.Multi_Selectable_Async, + implements Efl.Ui.Multi_Selectable_Index_Range, Efl.Ui.Selectable { [[Efl ui select model class]] @@ -9,13 +9,13 @@ class @beta Efl.Ui.Select_Model extends Efl.Boolean_Model Efl.Model.property { get; set; } Efl.Model.properties { get; } Efl.Ui.Single_Selectable.last_selected { get; } - Efl.Ui.Multi_Selectable_Async.selected_iterator_new; - Efl.Ui.Multi_Selectable_Async.unselected_iterator_new; - Efl.Ui.Multi_Selectable_Async.select_mode {get; set;} - Efl.Ui.Multi_Selectable_Async.all_select; - Efl.Ui.Multi_Selectable_Async.all_unselect; - Efl.Ui.Multi_Selectable_Async.range_select; - Efl.Ui.Multi_Selectable_Async.range_unselect; + Efl.Ui.Multi_Selectable.select_mode {get; set;} + Efl.Ui.Multi_Selectable.all_select; + Efl.Ui.Multi_Selectable.all_unselect; + Efl.Ui.Multi_Selectable_Index_Range.selected_ndx_iterator_new; + Efl.Ui.Multi_Selectable_Index_Range.unselected_ndx_iterator_new; + Efl.Ui.Multi_Selectable_Index_Range.ndx_range_select; + Efl.Ui.Multi_Selectable_Index_Range.ndx_range_unselect; Efl.Ui.Single_Selectable.fallback_selection {get; set;} Efl.Ui.Selectable.selected {get; set;} } diff --git a/src/lib/elementary/meson.build b/src/lib/elementary/meson.build index 7e21417aef..e9aaa55f57 100644 --- a/src/lib/elementary/meson.build +++ b/src/lib/elementary/meson.build @@ -178,7 +178,8 @@ pub_eo_files = [ 'efl_ui_position_manager_grid.eo', 'efl_ui_selectable.eo', 'efl_ui_multi_selectable.eo', - 'efl_ui_multi_selectable_async.eo', + 'efl_ui_multi_selectable_object_range.eo', + 'efl_ui_multi_selectable_index_range.eo', 'efl_ui_single_selectable.eo', 'efl_ui_position_manager_data_access_v1.eo', 'efl_ui_tab_bar_default_item.eo', |