Add Recipemanager that loads recipes from YAML
This commit is contained in:
@@ -0,0 +1,91 @@
|
||||
@tool
|
||||
class_name YAMLEditorMenuBar extends MenuBar
|
||||
|
||||
signal new_file
|
||||
signal open_file
|
||||
signal save_requested
|
||||
signal save_as_requested
|
||||
signal close_requested
|
||||
|
||||
signal undo_requested
|
||||
signal redo_requested
|
||||
|
||||
signal cut_requested
|
||||
signal copy_requested
|
||||
signal paste_requested
|
||||
signal select_all_requested
|
||||
|
||||
signal find_requested
|
||||
signal find_next_requested
|
||||
signal find_previous_requested
|
||||
signal replace_requested
|
||||
|
||||
@export var file_menu: PopupMenu
|
||||
@export var edit_menu: PopupMenu
|
||||
@export var search_menu: PopupMenu
|
||||
|
||||
func _ready() -> void:
|
||||
# Wait for UI to be ready
|
||||
await get_tree().process_frame
|
||||
|
||||
# Set up the menu bar
|
||||
_setup_menus()
|
||||
|
||||
func _setup_menus() -> void:
|
||||
# File menu
|
||||
file_menu.clear()
|
||||
file_menu.add_item("New", 0, KEY_MASK_CTRL | KEY_N)
|
||||
file_menu.add_item("Open...", 1, KEY_MASK_CTRL | KEY_O)
|
||||
file_menu.add_separator()
|
||||
file_menu.add_item("Save", 2, KEY_MASK_CTRL | KEY_S)
|
||||
file_menu.add_item("Save As...", 3, KEY_MASK_CTRL | KEY_MASK_SHIFT | KEY_S)
|
||||
file_menu.add_separator()
|
||||
file_menu.add_item("Close", 4, KEY_MASK_CTRL | KEY_W)
|
||||
|
||||
# Edit menu
|
||||
edit_menu.clear()
|
||||
edit_menu.add_item("Undo", 0, KEY_MASK_CTRL | KEY_Z)
|
||||
edit_menu.add_item("Redo", 1, KEY_MASK_CTRL | KEY_MASK_SHIFT | KEY_Z)
|
||||
edit_menu.add_separator()
|
||||
edit_menu.add_item("Cut", 2, KEY_MASK_CTRL | KEY_X)
|
||||
edit_menu.add_item("Copy", 3, KEY_MASK_CTRL | KEY_C)
|
||||
edit_menu.add_item("Paste", 4, KEY_MASK_CTRL | KEY_V)
|
||||
edit_menu.add_separator()
|
||||
edit_menu.add_item("Select All", 5, KEY_MASK_CTRL | KEY_A)
|
||||
|
||||
# Search menu
|
||||
search_menu.clear()
|
||||
search_menu.add_item("Find...", 0, KEY_MASK_CTRL | KEY_F)
|
||||
search_menu.add_item("Find Next", 1, KEY_F3)
|
||||
search_menu.add_item("Find Previous", 2, KEY_MASK_SHIFT | KEY_F3)
|
||||
search_menu.add_separator()
|
||||
search_menu.add_item("Replace...", 3, KEY_MASK_CTRL | KEY_R)
|
||||
|
||||
# Connect signals
|
||||
file_menu.id_pressed.connect(_on_file_menu_id_pressed)
|
||||
edit_menu.id_pressed.connect(_on_edit_menu_id_pressed)
|
||||
search_menu.id_pressed.connect(_on_search_menu_id_pressed)
|
||||
|
||||
func _on_file_menu_id_pressed(id: int) -> void:
|
||||
match id:
|
||||
0: new_file.emit()
|
||||
1: open_file.emit()
|
||||
2: save_requested.emit()
|
||||
3: save_as_requested.emit()
|
||||
4: close_requested.emit()
|
||||
|
||||
func _on_edit_menu_id_pressed(id: int) -> void:
|
||||
match id:
|
||||
0: undo_requested.emit()
|
||||
1: redo_requested.emit()
|
||||
2: cut_requested.emit()
|
||||
3: copy_requested.emit()
|
||||
4: paste_requested.emit()
|
||||
5: select_all_requested.emit()
|
||||
|
||||
func _on_search_menu_id_pressed(id: int) -> void:
|
||||
match id:
|
||||
0: find_requested.emit()
|
||||
1: find_next_requested.emit()
|
||||
2: find_previous_requested.emit()
|
||||
3: replace_requested.emit()
|
||||
Reference in New Issue
Block a user