Просмотр исходного кода

Add create new option to start menu

TollyH 2 лет назад
Родитель
Сommit
6e5dcb91e5
1 измененных файлов с 19 добавлено и 2 удалено
  1. 19 2
      scenes/mfc_editor_scene_start.c

+ 19 - 2
scenes/mfc_editor_scene_start.c

@@ -2,6 +2,7 @@
 
 enum SubmenuIndex {
     SubmenuIndexOpen,
+    SubmenuIndexCreate,
 };
 
 void mfc_editor_scene_start_submenu_callback(void* context, uint32_t index) {
@@ -13,8 +14,15 @@ void mfc_editor_scene_start_on_enter(void* context) {
     MfcEditorApp* instance = context;
 
     Submenu* submenu = instance->submenu;
+
     submenu_add_item(
         submenu, "Open", SubmenuIndexOpen, mfc_editor_scene_start_submenu_callback, instance);
+    submenu_add_item(
+        submenu,
+        "Create New",
+        SubmenuIndexCreate,
+        mfc_editor_scene_start_submenu_callback,
+        instance);
 
     submenu_set_selected_item(
         submenu, scene_manager_get_scene_state(instance->scene_manager, MfcEditorSceneStart));
@@ -27,13 +35,22 @@ bool mfc_editor_scene_start_on_event(void* context, SceneManagerEvent event) {
 
     if(event.type == SceneManagerEventTypeCustom) {
         if(event.event == SubmenuIndexOpen) {
-            scene_manager_set_scene_state(
-                instance->scene_manager, MfcEditorSceneStart, SubmenuIndexOpen);
             scene_manager_next_scene(instance->scene_manager, MfcEditorSceneFileSelect);
             consumed = true;
+        } else if(event.event == SubmenuIndexCreate) {
+            DialogMessage* message = dialog_message_alloc();
+            dialog_message_set_header(
+                message, "Not implemented", 63, 30, AlignCenter, AlignCenter);
+            dialog_message_show(instance->dialogs, message);
+            dialog_message_free(message);
+            consumed = true;
         }
     }
 
+    if(consumed) {
+        scene_manager_set_scene_state(instance->scene_manager, MfcEditorSceneStart, event.event);
+    }
+
     return consumed;
 }