From 2e9772b11c63ac190cfdcbe43c07b760623407e2 Mon Sep 17 00:00:00 2001 From: Yossi Kantor Date: Thu, 13 Mar 2014 19:08:15 +0200 Subject: [PATCH] Eolian: Integration of Evas Selectable Interface --- src/Makefile_Evas.am | 10 +++- src/lib/evas/Evas_Eo.h | 38 +++++++------ src/lib/evas/canvas/common_interfaces.c | 57 ++----------------- .../evas/canvas/evas_selectable_interface.eo | 14 +++++ 4 files changed, 45 insertions(+), 74 deletions(-) create mode 100644 src/lib/evas/canvas/evas_selectable_interface.eo diff --git a/src/Makefile_Evas.am b/src/Makefile_Evas.am index 0e3fdbb67b..8abdfb5199 100644 --- a/src/Makefile_Evas.am +++ b/src/Makefile_Evas.am @@ -39,7 +39,9 @@ BUILT_SOURCES += \ lib/evas/canvas/evas_clickable_interface.eo.c \ lib/evas/canvas/evas_clickable_interface.eo.h \ lib/evas/canvas/evas_scrollable_interface.eo.c \ - lib/evas/canvas/evas_scrollable_interface.eo.h + lib/evas/canvas/evas_scrollable_interface.eo.h \ + lib/evas/canvas/evas_selectable_interface.eo.c \ + lib/evas/canvas/evas_selectable_interface.eo.h evaseolianfilesdir = $(datadir)/eolian/include/evas-@VMAJ@ evaseolianfiles_DATA = \ @@ -61,7 +63,8 @@ evaseolianfiles_DATA = \ lib/evas/canvas/evas_out.eo \ lib/evas/canvas/evas_draggable_interface.eo \ lib/evas/canvas/evas_clickable_interface.eo \ - lib/evas/canvas/evas_scrollable_interface.eo + lib/evas/canvas/evas_scrollable_interface.eo \ + lib/evas/canvas/evas_selectable_interface.eo EXTRA_DIST += \ ${evaseolianfiles_DATA} @@ -98,7 +101,8 @@ nodist_installed_evascanvasheaders_DATA = \ lib/evas/canvas/evas_out.eo.h \ lib/evas/canvas/evas_draggable_interface.eo.h \ lib/evas/canvas/evas_clickable_interface.eo.h \ - lib/evas/canvas/evas_scrollable_interface.eo.h + lib/evas/canvas/evas_scrollable_interface.eo.h \ + lib/evas/canvas/evas_selectable_interface.eo.h noinst_HEADERS = \ lib/evas/include/evas_inline.x \ diff --git a/src/lib/evas/Evas_Eo.h b/src/lib/evas/Evas_Eo.h index 23c84a1c0b..dc2d3b1faa 100644 --- a/src/lib/evas/Evas_Eo.h +++ b/src/lib/evas/Evas_Eo.h @@ -89,14 +89,14 @@ EAPI extern const Eo_Event_Description _EVAS_CANVAS_EVENT_RENDER_POST; EAPI extern const Eo_Event_Description _ZOOM_START_EVENT; EAPI extern const Eo_Event_Description _ZOOM_STOP_EVENT; EAPI extern const Eo_Event_Description _ZOOM_CHANGE_EVENT; -EAPI extern const Eo_Event_Description _SELECTED_EVENT; -EAPI extern const Eo_Event_Description _UNSELECTED_EVENT; -EAPI extern const Eo_Event_Description _SELECTION_PASTE_EVENT; -EAPI extern const Eo_Event_Description _SELECTION_COPY_EVENT; -EAPI extern const Eo_Event_Description _SELECTION_CUT_EVENT; -EAPI extern const Eo_Event_Description _SELECTION_START_EVENT; -EAPI extern const Eo_Event_Description _SELECTION_CHANGED_EVENT; -EAPI extern const Eo_Event_Description _SELECTION_CLEARED_EVENT; +//EAPI extern const Eo_Event_Description _SELECTED_EVENT; +//EAPI extern const Eo_Event_Description _UNSELECTED_EVENT; +//EAPI extern const Eo_Event_Description _SELECTION_PASTE_EVENT; +//EAPI extern const Eo_Event_Description _SELECTION_COPY_EVENT; +//EAPI extern const Eo_Event_Description _SELECTION_CUT_EVENT; +//EAPI extern const Eo_Event_Description _SELECTION_START_EVENT; +//EAPI extern const Eo_Event_Description _SELECTION_CHANGED_EVENT; +//EAPI extern const Eo_Event_Description _SELECTION_CLEARED_EVENT; //EAPI extern const Eo_Event_Description _DRAG_EVENT; //EAPI extern const Eo_Event_Description _DRAG_START_EVENT; //EAPI extern const Eo_Event_Description _DRAG_STOP_EVENT; @@ -121,14 +121,14 @@ EAPI extern const Eo_Event_Description _SELECTION_CLEARED_EVENT; #define EVAS_SMART_ZOOM_START_EVENT (&(_ZOOM_START_EVENT)) #define EVAS_SMART_ZOOM_STOP_EVENT (&(_ZOOM_STOP_EVENT)) #define EVAS_SMART_ZOOM_CHANGE_EVENT (&(_ZOOM_CHANGE_EVENT)) -#define EVAS_SMART_SELECTED_EVENT (&(_SELECTED_EVENT)) -#define EVAS_SMART_UNSELECTED_EVENT (&(_UNSELECTED_EVENT)) -#define EVAS_SMART_SELECTION_PASTE_EVENT (&(_SELECTION_PASTE_EVENT)) -#define EVAS_SMART_SELECTION_COPY_EVENT (&(_SELECTION_COPY_EVENT)) -#define EVAS_SMART_SELECTION_CUT_EVENT (&(_SELECTION_CUT_EVENT)) -#define EVAS_SMART_SELECTION_START_EVENT (&(_SELECTION_START_EVENT)) -#define EVAS_SMART_SELECTION_CHANGED_EVENT (&(_SELECTION_CHANGED_EVENT)) -#define EVAS_SMART_SELECTION_CLEARED_EVENT (&(_SELECTION_CLEARED_EVENT)) +//#define EVAS_SMART_SELECTED_EVENT (&(_SELECTED_EVENT)) +//#define EVAS_SMART_UNSELECTED_EVENT (&(_UNSELECTED_EVENT)) +//#define EVAS_SMART_SELECTION_PASTE_EVENT (&(_SELECTION_PASTE_EVENT)) +//#define EVAS_SMART_SELECTION_COPY_EVENT (&(_SELECTION_COPY_EVENT)) +//#define EVAS_SMART_SELECTION_CUT_EVENT (&(_SELECTION_CUT_EVENT)) +//#define EVAS_SMART_SELECTION_START_EVENT (&(_SELECTION_START_EVENT)) +//#define EVAS_SMART_SELECTION_CHANGED_EVENT (&(_SELECTION_CHANGED_EVENT)) +//#define EVAS_SMART_SELECTION_CLEARED_EVENT (&(_SELECTION_CLEARED_EVENT)) //#define EVAS_SMART_DRAG_EVENT (&(_DRAG_EVENT)) //#define EVAS_SMART_DRAG_START_EVENT (&(_DRAG_START_EVENT)) //#define EVAS_SMART_DRAG_STOP_EVENT (&(_DRAG_STOP_EVENT)) @@ -143,26 +143,28 @@ EAPI extern const Eo_Event_Description _SELECTION_CLEARED_EVENT; //const Eo_Class *evas_smart_clickable_interface_get(void) EINA_CONST; //const Eo_Class *evas_smart_scrollable_interface_get(void) EINA_CONST; const Eo_Class *evas_smart_zoomable_interface_get(void) EINA_CONST; -const Eo_Class *evas_smart_selectable_interface_get(void) EINA_CONST; +//const Eo_Class *evas_smart_selectable_interface_get(void) EINA_CONST; //const Eo_Class *evas_smart_draggable_interface_get(void) EINA_CONST; //#define EVAS_SMART_SIGNAL_INTERFACE evas_smart_signal_interface_get() //#define EVAS_SMART_CLICKABLE_INTERFACE evas_smart_clickable_interface_get() //#define EVAS_SMART_SCROLLABLE_INTERFACE evas_smart_scrollable_interface_get() #define EVAS_SMART_ZOOMABLE_INTERFACE evas_smart_zoomable_interface_get() -#define EVAS_SMART_SELECTABLE_INTERFACE evas_smart_selectable_interface_get() +//#define EVAS_SMART_SELECTABLE_INTERFACE evas_smart_selectable_interface_get() //#define EVAS_SMART_DRAGGABLE_INTERFACE evas_smart_draggable_interface_get() #include "canvas/evas_signal_interface.eo.h" #include "canvas/evas_draggable_interface.eo.h" #include "canvas/evas_clickable_interface.eo.h" #include "canvas/evas_scrollable_interface.eo.h" +#include "canvas/evas_selectable_interface.eo.h" // Interface classes links #define EVAS_SMART_SIGNAL_INTERFACE EVAS_SIGNAL_INTERFACE_CLASS #define EVAS_SMART_CLICKABLE_INTERFACE EVAS_CLICKABLE_INTERFACE_CLASS #define EVAS_SMART_SCROLLABLE_INTERFACE EVAS_SCROLLABLE_INTERFACE_CLASS #define EVAS_SMART_DRAGGABLE_INTERFACE EVAS_DRAGGABLE_INTERFACE_CLASS +#define EVAS_SMART_SELECTABLE_INTERFACE EVAS_SELECTABLE_INTERFACE_CLASS #include "canvas/evas.eo.h" #define EVAS_CLASS EVAS_CANVAS_CLASS diff --git a/src/lib/evas/canvas/common_interfaces.c b/src/lib/evas/canvas/common_interfaces.c index 3c1524bb23..af8ef33dd5 100644 --- a/src/lib/evas/canvas/common_interfaces.c +++ b/src/lib/evas/canvas/common_interfaces.c @@ -14,31 +14,6 @@ EAPI const Eo_Event_Description _ZOOM_STOP_EVENT = EAPI const Eo_Event_Description _ZOOM_CHANGE_EVENT = EO_EVENT_DESCRIPTION("zoom,changed", ""); -EAPI const Eo_Event_Description _SELECTED_EVENT = - EO_EVENT_DESCRIPTION("selected", ""); - -EAPI const Eo_Event_Description _UNSELECTED_EVENT = - EO_EVENT_DESCRIPTION("unselected", ""); - -EAPI const Eo_Event_Description _SELECTION_PASTE_EVENT = - EO_EVENT_DESCRIPTION("selection,paste", ""); - -EAPI const Eo_Event_Description _SELECTION_COPY_EVENT = - EO_EVENT_DESCRIPTION("selection,copy", ""); - -EAPI const Eo_Event_Description _SELECTION_CUT_EVENT = - EO_EVENT_DESCRIPTION("selection,cut", ""); - -EAPI const Eo_Event_Description _SELECTION_START_EVENT = - EO_EVENT_DESCRIPTION("selection,start", ""); - -EAPI const Eo_Event_Description _SELECTION_CHANGED_EVENT = - EO_EVENT_DESCRIPTION("selection,changed", ""); - -EAPI const Eo_Event_Description _SELECTION_CLEARED_EVENT = - EO_EVENT_DESCRIPTION("selection,cleared", ""); - - static const Eo_Event_Description *_zoomable_events_desc[] = { EVAS_SMART_ZOOM_START_EVENT, EVAS_SMART_ZOOM_STOP_EVENT, @@ -46,21 +21,10 @@ static const Eo_Event_Description *_zoomable_events_desc[] = { NULL }; -static const Eo_Event_Description *_selectable_events_desc[] = { - EVAS_SMART_SELECTED_EVENT, - EVAS_SMART_UNSELECTED_EVENT, - EVAS_SMART_SELECTION_PASTE_EVENT, - EVAS_SMART_SELECTION_COPY_EVENT, - EVAS_SMART_SELECTION_CUT_EVENT, - EVAS_SMART_SELECTION_START_EVENT, - EVAS_SMART_SELECTION_CHANGED_EVENT, - EVAS_SMART_SELECTION_CLEARED_EVENT, - NULL -}; - static const Eo_Event_Description *_evas_clickable_interface_event_desc[]; static const Eo_Event_Description *_evas_draggable_interface_event_desc[]; static const Eo_Event_Description *_evas_scrollable_interface_event_desc[]; +static const Eo_Event_Description *_evas_selectable_interface_event_desc[]; #define ADD_SIGNAL(name, event) eina_hash_add(signals_hash_table, name, event) #define ADD_INTERFACE_SIGNALS(events_desc) \ @@ -92,7 +56,7 @@ _evas_signal_interface_class_constructor(Eo_Class *klass EINA_UNUSED) ADD_INTERFACE_SIGNALS(_evas_draggable_interface_event_desc); ADD_INTERFACE_SIGNALS(_evas_scrollable_interface_event_desc); ADD_INTERFACE_SIGNALS(_zoomable_events_desc); - ADD_INTERFACE_SIGNALS(_selectable_events_desc); + ADD_INTERFACE_SIGNALS(_evas_selectable_interface_event_desc); ADD_INTERFACE_SIGNALS(_evas_draggable_interface_event_desc); } #undef ADD_INTERFACE_SIGNALS @@ -104,7 +68,6 @@ _evas_signal_interface_class_destructor(Eo_Class *klass EINA_UNUSED) eina_hash_free(signals_hash_table); } - static const Eo_Class_Description zoomable_interface_desc = { EO_VERSION, "Evas_Zoomable_Interface", @@ -118,20 +81,8 @@ static const Eo_Class_Description zoomable_interface_desc = { EO_DEFINE_CLASS(evas_smart_zoomable_interface_get, &zoomable_interface_desc, EVAS_SIGNAL_INTERFACE_CLASS, NULL); -static const Eo_Class_Description selectable_interface_desc = { - EO_VERSION, - "Evas_Selectable_Interface", - EO_CLASS_TYPE_INTERFACE, - EO_CLASS_DESCRIPTION_OPS(NULL, NULL, 0), - _selectable_events_desc, - 0, - NULL, - NULL -}; - -EO_DEFINE_CLASS(evas_smart_selectable_interface_get, &selectable_interface_desc, EVAS_SIGNAL_INTERFACE_CLASS, NULL); - #include "canvas/evas_signal_interface.eo.c" #include "canvas/evas_draggable_interface.eo.c" #include "canvas/evas_clickable_interface.eo.c" -#include "canvas/evas_scrollable_interface.eo.c" \ No newline at end of file +#include "canvas/evas_scrollable_interface.eo.c" +#include "canvas/evas_selectable_interface.eo.c" \ No newline at end of file diff --git a/src/lib/evas/canvas/evas_selectable_interface.eo b/src/lib/evas/canvas/evas_selectable_interface.eo new file mode 100644 index 0000000000..e9254bb921 --- /dev/null +++ b/src/lib/evas/canvas/evas_selectable_interface.eo @@ -0,0 +1,14 @@ +interface Evas_Selectable_Interface (Evas_Signal_Interface) +{ + data: null; + events { + selected; + unselected; + selection,paste; + selection,copy; + selection,cut; + selection,start; + selection,changed; + selection,cleared; + } +}