From 7e7d110325d10312ff20483501c0c28a87ee7b97 Mon Sep 17 00:00:00 2001 From: Trevor Hickey Date: Sun, 21 Jul 2024 23:17:01 -0400 Subject: [PATCH] updates --- source/code/programs/ide/global_actions/BUILD | 11 +++++++++++ .../ide/global_actions/global_action_handler.hcp | 2 +- .../ide/global_actions/global_element_deleter.hcp | 13 +++++++++++++ 3 files changed, 25 insertions(+), 1 deletion(-) create mode 100644 source/code/programs/ide/global_actions/global_element_deleter.hcp diff --git a/source/code/programs/ide/global_actions/BUILD b/source/code/programs/ide/global_actions/BUILD index d4797ad85..c1adccfac 100644 --- a/source/code/programs/ide/global_actions/BUILD +++ b/source/code/programs/ide/global_actions/BUILD @@ -33,6 +33,7 @@ hcp_hdrs_derive( interface_deps = [ "//code/programs/ide/global_actions:global_action", "//code/programs/ide/global_actions:global_action_decider", + "//code/programs/ide/global_actions:global_element_deleter", "//code/programs/ide/global_actions:main_menu_selector", "//code/programs/ide/global_actions:save_state_serializer", "//code/programs/ide/settings/data:ide_settings", @@ -109,4 +110,14 @@ hcp_hdrs_derive( "//code/utilities/program/wrappers/zenity/file_selector", "//code/utilities/types/variant:lib", ], +) + +hcp_hdrs_derive( + name = "global_element_deleter", + interface_deps = [ + "//code/utilities/graphics/sdl:sdl_fullscreener", + "//code/programs/ide/settings/data:ide_settings", + "//code/programs/ide/frame:find_mouse_over_index", + "//code/utilities/types/vectors/transformers:lib", + ], ) \ No newline at end of file diff --git a/source/code/programs/ide/global_actions/global_action_handler.hcp b/source/code/programs/ide/global_actions/global_action_handler.hcp index 6c51933ea..b12b505a2 100644 --- a/source/code/programs/ide/global_actions/global_action_handler.hcp +++ b/source/code/programs/ide/global_actions/global_action_handler.hcp @@ -95,7 +95,7 @@ class auto code = State_To_Code_Converter::Convert(settings.elements); ❱ ◀private: static▶ void ☀Delete(Ide_Settings & settings, SDL_Window* window)❰ - //TODO + Global_Element_Deleter::Delete(settings,window); ❱ ◀private: static▶ void ☀Undo(Ide_Settings & settings, SDL_Window* window)❰ //TODO diff --git a/source/code/programs/ide/global_actions/global_element_deleter.hcp b/source/code/programs/ide/global_actions/global_element_deleter.hcp new file mode 100644 index 000000000..336a949a1 --- /dev/null +++ b/source/code/programs/ide/global_actions/global_element_deleter.hcp @@ -0,0 +1,13 @@ +class +⚯ +⚞⚟ + +◀public: static▶ void ☀Delete(Ide_Settings & settings, SDL_Window* window)❰ + auto delete_index = Find_Mouse_Over_Index::Find(settings,settings.desktop.input); + if (delete_index == -1) + { + return; + } + + Remove_Nth_Element(settings.elements.types,delete_index); +❱ \ No newline at end of file