From b0a9d66db31cb68c5d7f9197af7c7644371c150a Mon Sep 17 00:00:00 2001 From: hodasemi Date: Thu, 17 Apr 2025 10:36:25 +0200 Subject: [PATCH] First impl attempt of callback handling --- ui/Cargo.toml | 3 + ui/src/builder/builder.rs | 3 +- ui/src/builder/snippet.rs | 3 +- ui/src/elements/button.rs | 55 ++++++++------- ui/src/elements/callback_impl.rs | 22 ++++++ ui/src/elements/mod.rs | 1 + ui/src/elements/multi_line_textfield.rs | 5 +- ui/src/elements/textfield.rs | 3 +- ui/src/gui_handler/gui/executable.rs | 13 ++-- ui/src/gui_handler/gui_handler.rs | 15 ++-- ui/src/keyboard/mod.rs | 25 +++---- ui_proc_macro/src/lib.rs | 5 +- ui_proc_macro/src/update.rs | 92 +++++++++++++++++++------ 13 files changed, 169 insertions(+), 76 deletions(-) create mode 100644 ui/src/elements/callback_impl.rs diff --git a/ui/Cargo.toml b/ui/Cargo.toml index 46bf689..e731166 100644 --- a/ui/Cargo.toml +++ b/ui/Cargo.toml @@ -10,12 +10,15 @@ serde = { version = "1.0.203", features = ["derive"] } serde_json = { version = "1.0.120" } paste = "1.0.15" anyhow = { version = "1.0.86", features = ["backtrace"] } +itertools = "0.14.0" vulkan-rs = { git = "https://gavania.de/hodasemi/vulkan_lib.git" } utilities = { git = "https://gavania.de/hodasemi/utilities.git" } assetpath = { git = "https://gavania.de/hodasemi/vulkan_lib.git" } ecs = { git = "https://gavania.de/hodasemi/ecs.git" } +ui_proc_macro = { path = "../ui_proc_macro" } + # optional audio = { git = "https://gavania.de/hodasemi/audio.git", optional = true } diff --git a/ui/src/builder/builder.rs b/ui/src/builder/builder.rs index 745af22..50b1871 100644 --- a/ui/src/builder/builder.rs +++ b/ui/src/builder/builder.rs @@ -203,7 +203,8 @@ impl Functionality for GuiBuilder { let suffix_less_function_name = handle_function_suffix(function_name); let button: Arc