summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJaehyun Cho <jae_hyun.cho@samsung.com>2017-10-24 22:30:49 +0900
committerJaehyun Cho <jae_hyun.cho@samsung.com>2017-11-21 14:01:48 +0900
commit1bc1b56dd887a3ed076d4f8eda674775e7dae8c1 (patch)
tree0b5de32133cd083c46114d52604d15eb621016c0
parent45f505bd4d77b5fbf4e18434d661b81d8bd184b4 (diff)
downloadefl-1bc1b56dd887a3ed076d4f8eda674775e7dae8c1.tar.gz
efl_ui_popup_alert: Define Clicked_Event structure
-rw-r--r--src/bin/elementary/test_popup.c15
-rw-r--r--src/lib/elementary/efl_ui_popup_alert.c18
-rw-r--r--src/lib/elementary/efl_ui_popup_alert.eo7
3 files changed, 29 insertions, 11 deletions
diff --git a/src/bin/elementary/test_popup.c b/src/bin/elementary/test_popup.c
index 4975a0f6f1..c5c8904da7 100644
--- a/src/bin/elementary/test_popup.c
+++ b/src/bin/elementary/test_popup.c
@@ -1113,13 +1113,14 @@ test_efl_ui_popup(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *ev
static void
efl_ui_popup_alert_clicked_cb(void *data EINA_UNUSED, const Efl_Event *ev)
{
- Efl_Ui_Popup_Alert_Button type = (Efl_Ui_Popup_Alert_Button)ev->info;
- if (type == EFL_UI_POPUP_ALERT_BUTTON_POSITIVE)
- printf("Positive Button is clicked\n");
- else if(type == EFL_UI_POPUP_ALERT_BUTTON_NEGATIVE)
- printf("Negative Button is clicked\n");
- else if(type == EFL_UI_POPUP_ALERT_BUTTON_USER)
- printf("User Button is clicked\n");
+ Efl_Ui_Popup_Alert_Clicked_Event *event = ev->info;
+
+ if (event->button_type == EFL_UI_POPUP_ALERT_BUTTON_POSITIVE)
+ printf("Positive Button is clicked\n");
+ else if(event->button_type == EFL_UI_POPUP_ALERT_BUTTON_NEGATIVE)
+ printf("Negative Button is clicked\n");
+ else if(event->button_type == EFL_UI_POPUP_ALERT_BUTTON_USER)
+ printf("User Button is clicked\n");
}
void
diff --git a/src/lib/elementary/efl_ui_popup_alert.c b/src/lib/elementary/efl_ui_popup_alert.c
index bfb2c3d4e2..13e708f50b 100644
--- a/src/lib/elementary/efl_ui_popup_alert.c
+++ b/src/lib/elementary/efl_ui_popup_alert.c
@@ -88,7 +88,11 @@ _positive_button_clicked_cb(void *data, Eo *obj EINA_UNUSED,
void *event_info EINA_UNUSED)
{
Eo *popup_obj = data;
- efl_event_callback_call(popup_obj, EFL_UI_POPUP_ALERT_EVENT_CLICKED, (void *)(uintptr_t)EFL_UI_POPUP_ALERT_BUTTON_POSITIVE);
+
+ Efl_Ui_Popup_Alert_Clicked_Event event;
+ event.button_type = EFL_UI_POPUP_ALERT_BUTTON_POSITIVE;
+
+ efl_event_callback_call(popup_obj, EFL_UI_POPUP_ALERT_EVENT_CLICKED, &event);
}
static void
@@ -96,7 +100,11 @@ _negative_button_clicked_cb(void *data, Eo *obj EINA_UNUSED,
void *event_info EINA_UNUSED)
{
Eo *popup_obj = data;
- efl_event_callback_call(popup_obj, EFL_UI_POPUP_ALERT_EVENT_CLICKED, (void *)(uintptr_t)EFL_UI_POPUP_ALERT_BUTTON_NEGATIVE);
+
+ Efl_Ui_Popup_Alert_Clicked_Event event;
+ event.button_type = EFL_UI_POPUP_ALERT_BUTTON_NEGATIVE;
+
+ efl_event_callback_call(popup_obj, EFL_UI_POPUP_ALERT_EVENT_CLICKED, &event);
}
static void
@@ -104,7 +112,11 @@ _user_button_clicked_cb(void *data, Eo *obj EINA_UNUSED,
void *event_info EINA_UNUSED)
{
Eo *popup_obj = data;
- efl_event_callback_call(popup_obj, EFL_UI_POPUP_ALERT_EVENT_CLICKED, (void *)(uintptr_t)EFL_UI_POPUP_ALERT_BUTTON_USER);
+
+ Efl_Ui_Popup_Alert_Clicked_Event event;
+ event.button_type = EFL_UI_POPUP_ALERT_BUTTON_USER;
+
+ efl_event_callback_call(popup_obj, EFL_UI_POPUP_ALERT_EVENT_CLICKED, &event);
}
EOLIAN static void
diff --git a/src/lib/elementary/efl_ui_popup_alert.eo b/src/lib/elementary/efl_ui_popup_alert.eo
index 42c55a47f5..7d9fb1fbc1 100644
--- a/src/lib/elementary/efl_ui_popup_alert.eo
+++ b/src/lib/elementary/efl_ui_popup_alert.eo
@@ -5,6 +5,11 @@ enum Efl.Ui.Popup.Alert.Button {
user [[Button having user-defined meaning. e.g. "Cancel"]]
}
+struct Efl.Ui.Popup.Alert.Clicked_Event {
+ [[Information of clicked event]]
+ button_type: Efl.Ui.Popup.Alert.Button; [[Clicked button type]]
+}
+
class Efl.Ui.Popup.Alert(Efl.Ui.Popup)
{
methods {
@@ -26,6 +31,6 @@ class Efl.Ui.Popup.Alert(Efl.Ui.Popup)
Efl.Part.part;
}
events {
- clicked;
+ clicked: Efl.Ui.Popup.Alert.Clicked_Event;
}
}