elementary: factorize all events emitted by a Efl.Ui.Collection into their own interface.
authorCedric Bail <cedric.bail@free.fr>
Sun, 15 Sep 2019 21:38:03 +0000 (14:38 -0700)
committerJongmin Lee <jm105.lee@samsung.com>
Tue, 24 Sep 2019 21:47:58 +0000 (06:47 +0900)
For most event it is actually meaningful to share them with Efl.Ui.Collection_View so let's do it.

Differential Revision: https://phab.enlightenment.org/D9956

src/lib/elementary/Efl_Ui.h
src/lib/elementary/efl_ui_collection.eo
src/lib/elementary/efl_ui_collection_events.eo [new file with mode: 0644]
src/lib/elementary/efl_ui_item.c
src/lib/elementary/meson.build

index 7a38b4b..5e2654f 100644 (file)
@@ -309,6 +309,7 @@ typedef Eo Efl_Ui_Spotlight_Indicator;
 # include <efl_ui_item.eo.h>
 # include <efl_ui_position_manager_entity.eo.h>
 # include <efl_ui_position_manager_data_access_v1.eo.h>
+# include <efl_ui_collection_events.eo.h>
 # include <efl_ui_collection.eo.h>
 # include <efl_ui_position_manager_list.eo.h>
 # include <efl_ui_position_manager_grid.eo.h>
index f040fd8..4a320c3 100644 (file)
@@ -3,7 +3,8 @@ class Efl.Ui.Collection extends Efl.Ui.Layout_Base implements
                    Efl.Ui.Layout_Orientable,
                    Efl.Ui.Multi_Selectable,
                    Efl.Ui.Focus.Manager_Sub,
-                   Efl.Ui.Widget_Focus_Manager
+                   Efl.Ui.Widget_Focus_Manager,
+                   Efl.Ui.Collection_Events
    composites
                    Efl.Ui.Scrollable,
                    Efl.Ui.Scrollbar,
@@ -25,7 +26,6 @@ class Efl.Ui.Collection extends Efl.Ui.Layout_Base implements
      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_items_get.
    ]]
-   event_prefix:efl_ui;
    methods {
       item_scroll {
          [[Brings the passed item into the viewport.]]
@@ -90,12 +90,5 @@ class Efl.Ui.Collection extends Efl.Ui.Layout_Base implements
       Efl.Ui.Multi_Selectable.unselect_range;
       Efl.Ui.Single_Selectable.fallback_selection {get; set;}
    }
-   events {
-      item,pressed : Efl.Ui.Item; [[A $press event occurred over an item.]]
-      item,unpressed : Efl.Ui.Item; [[An $unpress event occurred over an item.]]
-      item,longpressed : Efl.Ui.Item; [[A $longpressed event occurred over an item.]]
-      item,clicked : Efl.Ui.Item; [[A $clicked event occurred over an item.]]
-      item,clicked,any : Efl.Ui.Item; [[A $clicked,any event occurred over an item.]]
-   }
 }
 
diff --git a/src/lib/elementary/efl_ui_collection_events.eo b/src/lib/elementary/efl_ui_collection_events.eo
new file mode 100644 (file)
index 0000000..6531725
--- /dev/null
@@ -0,0 +1,12 @@
+interface @beta Efl.Ui.Collection_Events
+{
+   [[Shared sets of events between @Efl.Ui.Collection and @Efl.Ui.Collection_View.]]
+   event_prefix: efl_ui;
+   events {
+      item,pressed : Efl.Ui.Item; [[A $press event occurred over an item.]]
+      item,unpressed : Efl.Ui.Item; [[An $unpress event occurred over an item.]]
+      item,longpressed : Efl.Ui.Item; [[A $longpressed event occurred over an item.]]
+      item,clicked : Efl.Ui.Item; [[A $clicked event occurred over an item.]]
+      item,clicked,any : Efl.Ui.Item; [[A $clicked,any event occurred over an item.]]
+   }
+}
\ No newline at end of file
index 1b0c4f1..b454555 100644 (file)
@@ -214,3 +214,5 @@ ELM_WIDGET_KEY_DOWN_DEFAULT_IMPLEMENT(efl_ui_item, Efl_Ui_Item_Data)
 #include "efl_ui_selectable.eo.c"
 #include "efl_ui_multi_selectable.eo.c"
 #include "efl_ui_single_selectable.eo.c"
+#include "efl_ui_collection_events.eo.c"
+
index 9169ff4..e3734d0 100644 (file)
@@ -178,6 +178,7 @@ pub_eo_files = [
   'efl_ui_relative_layout.eo',
   'efl_ui_action_connector.eo',
   'efl_ui_format.eo',
+  'efl_ui_collection_events.eo',
   'efl_ui_collection.eo',
   'efl_ui_position_manager_entity.eo',
   'efl_ui_position_manager_list.eo',