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)