Emergency stop created 63/183563/4
authorMichal Skorupinski <m.skorupinsk@samsung.com>
Fri, 6 Jul 2018 13:25:59 +0000 (15:25 +0200)
committerLukasz Stanislawski <l.stanislaws@samsung.com>
Fri, 13 Jul 2018 15:40:42 +0000 (15:40 +0000)
Change-Id: I92263b037fc05f211f54ffd61b3948e5eb6deb23
Signed-off-by: Michal Skorupinski <m.skorupinsk@samsung.com>
edje/images/stop.png [new file with mode: 0644]
res/edje/emergency_stop.edc [new file with mode: 0644]
src/controller/controller_emergency_stop.c
src/view/view_emergency_stop.c
src/view/view_reset.c

diff --git a/edje/images/stop.png b/edje/images/stop.png
new file mode 100644 (file)
index 0000000..4a86084
Binary files /dev/null and b/edje/images/stop.png differ
diff --git a/res/edje/emergency_stop.edc b/res/edje/emergency_stop.edc
new file mode 100644 (file)
index 0000000..e492c05
--- /dev/null
@@ -0,0 +1,86 @@
+collections {
+   base_scale: 1.0;
+   group { "main";
+      images {
+         image: "bg.png" COMP;
+         image: "stop.png" COMP;
+
+      }
+      parts {
+         image { "bg";
+            desc { "default";
+               rel1.relative: 0.0 0.0;
+               rel2.relative: 1.0 1.0;
+               image.normal: "bg.png";
+               aspect: 1 1;
+               aspect_preference: BOTH;
+            }
+         }
+         image { "stop";
+            scale: 1;
+            desc { "default";
+               visible: 1;
+               image.normal: "stop.png";
+               align: 0.5 0.5;
+               rel1.relative: 0.0833 0.0833;
+               rel2.relative: 0.9166 0.9166;
+            }
+            desc { "pressed";
+               inherit: "default";
+               rel1.relative: 0.2638 0.2638;
+               rel2.relative: 0.7361 0.7361;
+            }
+         }
+         text { "text";
+            scale: 1;
+            effect: SOFT_OUTLINE;
+            repeat_events: 1;
+            desc { "default";
+               color: 255 255 255 255;
+               color2: 0 136 170 100;
+               visible: 1;
+               text {
+                  size: 48;
+                  font: "Sans";
+                  text: "STOP";
+                  align: 0.5 0.5;
+                  min: 0 0;
+               }
+               align: 0.5 0.5;
+               rel1.relative: 0.00 0.00;
+               rel2.relative: 1.00 1.00;
+            }
+         }
+      }
+      programs {
+         program {
+            signal: "mouse,down,*";
+            source: "stop";
+
+            sequence {
+               action: STATE_SET "pressed";
+               target: "stop";
+               transition: LINEAR 5.0;
+
+               action:  SIGNAL_EMIT "longpress_ok" "";
+            };
+         }
+         program {
+            signal: "mouse,up,*";
+            source: "stop";
+
+            sequence {
+               action: STATE_SET "default";
+               target: "stop";
+
+               action: SIGNAL_EMIT "longpress_cancel" "";
+            }
+         }
+         program {
+            signal: "mouse,clicked,*";
+            source: "stop";
+            action: SIGNAL_EMIT "clicked" "";
+         }
+      }
+   }
+}
index 20fee27..16ba150 100644 (file)
@@ -44,6 +44,7 @@ void controller_emergency_stop_init(t_view_update_cb view_update_cb)
 
 void controller_emergency_stop_back(void)
 {
+       view_manager_set_view(VIEW_RACING); //No model
        controller_emergency_stop_destroy();
 }
 
index f42a0e3..265f562 100644 (file)
@@ -14,6 +14,7 @@
 * limitations under the License.
 */
 
+
 #include "view/view_base.h"
 #include "view/view_emergency_stop.h"
 #include "view_manager/view_manager.h"
@@ -25,25 +26,24 @@ typedef struct _s_view_emergency_stop {
 
 static s_view_emergency_stop s_info = { {0,}, };
 
-static void _layout_back_cb(void *data, Evas_Object *obj, void *event_info)
+void _longpress_ok(void *data, Evas_Object *obj, const char *emission, const char *source)
 {
        elm_win_lower(view_manager_get_win());
-       controller_emergency_stop_back();
+       controller_emergency_stop_next();
 }
 
-static void _ok_button_clicked_cb(void *data, Evas_Object *obj, void *event_info)
+void _stop_clicked_cb(void *data, Evas_Object *obj, const char *emission, const char *source)
 {
-       controller_emergency_stop_next();
+       controller_emergency_stop_back();
 }
 
 static void _view_emergency_stop_create_gui(Evas_Object *parent)
 {
-       s_info.view_base.layout = view_base_create_layout(parent, EDJ_FILE, GRP_MAIN);
-       eext_object_event_callback_add(s_info.view_base.layout, EEXT_CALLBACK_BACK, _layout_back_cb, NULL);
+       s_info.view_base.layout = view_base_create_layout(parent, "edje/emergency_stop.edj", GRP_MAIN);
        elm_layout_text_set(s_info.view_base.layout, "txt_title", "Emergency Stop");
 
-       view_base_create_button(s_info.view_base.layout, "Button_Ok", "Ok", _ok_button_clicked_cb, NULL);
-       view_base_create_button(s_info.view_base.layout, "Button_Cancel", "Cancel", NULL, NULL);
+       elm_layout_signal_callback_add(s_info.view_base.layout, "longpress_ok", "", _longpress_ok, NULL);
+       elm_layout_signal_callback_add(s_info.view_base.layout, "longpress_cancel", "", _stop_clicked_cb, NULL);
 }
 
 s_view_base *view_emergency_stop_init(Evas_Object *parent)
index 7e2f342..5d9fc57 100644 (file)
@@ -40,7 +40,6 @@ static void _view_reset_create_gui(Evas_Object *parent)
 {
        s_info.view_base.layout = view_base_create_layout(parent, EDJ_FILE, GRP_MAIN);
 
-
        eext_object_event_callback_add(s_info.view_base.layout, EEXT_CALLBACK_BACK, _layout_back_cb, NULL);
        elm_layout_text_set(s_info.view_base.layout, "txt_title", "Reset");