From f827fb4f186649cb57933549dece384d834dd81c Mon Sep 17 00:00:00 2001 From: Booklordofthedings Date: Sun, 30 Jun 2024 14:38:28 +0200 Subject: [PATCH] added example file --- .gitignore | 4 ++-- docs/ExampleGui.png => ExampleGui.png | Bin docs/Button.md | 0 examples/BeefProj.toml | 6 ++++++ examples/BeefSpace.toml | 5 +++++ examples/src/MainScreen.bf | 12 ++++++++++++ examples/src/Program.bf | 11 +++++++++++ src/Generators/ScreenGenerator.bf | 6 +++--- src/Input.bf | 12 ++++-------- 9 files changed, 43 insertions(+), 13 deletions(-) rename docs/ExampleGui.png => ExampleGui.png (100%) delete mode 100644 docs/Button.md create mode 100644 examples/BeefProj.toml create mode 100644 examples/BeefSpace.toml create mode 100644 examples/src/MainScreen.bf create mode 100644 examples/src/Program.bf diff --git a/.gitignore b/.gitignore index b4edfd0..33a38ac 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,5 @@ # ---> Beef -build/ -recovery/ +**/build +**/recovery BeefSpace_User.toml diff --git a/docs/ExampleGui.png b/ExampleGui.png similarity index 100% rename from docs/ExampleGui.png rename to ExampleGui.png diff --git a/docs/Button.md b/docs/Button.md deleted file mode 100644 index e69de29..0000000 diff --git a/examples/BeefProj.toml b/examples/BeefProj.toml new file mode 100644 index 0000000..0bad17a --- /dev/null +++ b/examples/BeefProj.toml @@ -0,0 +1,6 @@ +FileVersion = 1 +Dependencies = {corlib = "*", TheaterGui = "*"} + +[Project] +Name = "examples" +StartupObject = "examples.Program" diff --git a/examples/BeefSpace.toml b/examples/BeefSpace.toml new file mode 100644 index 0000000..94fac71 --- /dev/null +++ b/examples/BeefSpace.toml @@ -0,0 +1,5 @@ +FileVersion = 1 +Projects = {examples = {Path = "."}, TheaterGui = {Path = ".."}} + +[Workspace] +StartupProject = "examples" diff --git a/examples/src/MainScreen.bf b/examples/src/MainScreen.bf new file mode 100644 index 0000000..6bcfcb7 --- /dev/null +++ b/examples/src/MainScreen.bf @@ -0,0 +1,12 @@ +namespace examples; + +using TheaterGui.Components; + +class MainScreen : Screen +{ + public this() : base("MainScreen") + { + //Add ui items here via AddChild() and terminate the row via EndRow() + //The padding object can be used to add padding to every ui object + } +} \ No newline at end of file diff --git a/examples/src/Program.bf b/examples/src/Program.bf new file mode 100644 index 0000000..406a9a3 --- /dev/null +++ b/examples/src/Program.bf @@ -0,0 +1,11 @@ +namespace examples; + +using TheaterGui; + +class Program +{ + public static void Main() + { + App.Run("Example Gui",1920,1080); + } +} \ No newline at end of file diff --git a/src/Generators/ScreenGenerator.bf b/src/Generators/ScreenGenerator.bf index da919fa..7b275be 100644 --- a/src/Generators/ScreenGenerator.bf +++ b/src/Generators/ScreenGenerator.bf @@ -4,7 +4,7 @@ using System; class ScreenGenerator : Compiler.Generator { - public override String Name => "TheaterGui -> Generate Screen" + public override String Name => "TheaterGui -> Screen" public override void InitUI() { @@ -17,14 +17,14 @@ class ScreenGenerator : Compiler.Generator if (name.EndsWith(".bf", .OrdinalIgnoreCase)) name.RemoveFromEnd(3); - outFileName.Append(scope $"TG{name}"); + outFileName.Append(scope $"{name}"); outText.Append(scope $""" namespace {Namespace}; using TheaterGui.Components; - class TG{name} : Screen + class {name} : Screen {{ public this() : base("{name}") {{ diff --git a/src/Input.bf b/src/Input.bf index 6dbdb5b..ceed82f 100644 --- a/src/Input.bf +++ b/src/Input.bf @@ -52,15 +52,11 @@ class Input internal static void HandleRightClick() { - if (App.[Friend]_Popups.Count > 0) - { - var top = App.[Friend]_Popups[App.[Friend]_Popups.Count - 1]; + //We dont stack up rightclicks + if (App.GetTopmostPopup() case .Ok(let top)) if (top is RightClickPopup) - { - App.[Friend]_Popups.Remove(top); - delete top; - } - } + delete App.[Friend]_Popups.GetAndRemove(top).Value; + Toolbar.ToolbarCategory popupCat = new .("Items"); App.CurrentScreen.OnRightClick((.)App.Mouse.x, (.)App.Mouse.y, popupCat); if (popupCat.Items.Count > 0)