From 2dd826fc364bd132025b76a7eb84bfb0088ac894 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Simon=20L=C3=BCbe=C3=9F?= Date: Sun, 17 Mar 2024 18:08:39 +0100 Subject: [PATCH] Made entity hierarchy more compact --- .../src/EditWindows/EntityHierarchyWindow.bf | 13 ++++++++++--- GlitchyEngine/src/ImGui/ImGuiExtension.bf | 2 ++ GlitchyEngine/src/ImGui/ImGuiLayer.bf | 3 +++ 3 files changed, 15 insertions(+), 3 deletions(-) diff --git a/GlitchyEditor/src/EditWindows/EntityHierarchyWindow.bf b/GlitchyEditor/src/EditWindows/EntityHierarchyWindow.bf index 7b8521c..80f9568 100644 --- a/GlitchyEditor/src/EditWindows/EntityHierarchyWindow.bf +++ b/GlitchyEditor/src/EditWindows/EntityHierarchyWindow.bf @@ -648,9 +648,11 @@ namespace GlitchyEditor.EditWindows ImGui.EndDragDropTarget(); } - if (ImGui.BeginTable("entityTable", 2, .RowBg | .NoBordersInBody | .SizingFixedFit)) + ImGui.PushStyleVar(.FramePadding, float2(0, 0)); + + if (ImGui.BeginTable("entityTable", 2, .RowBg | .SizingFixedFit | .NoPadInnerX)) { - ImGui.TableSetupColumn("", .IndentDisable | .NoResize); + ImGui.TableSetupColumn("Visibility", .IndentDisable | .NoResize); ImGui.TableSetupColumn("Entities", .IndentEnable | .WidthStretch); for(var child in root.Children) @@ -660,14 +662,18 @@ namespace GlitchyEditor.EditWindows ImGui.EndTable(); } + + ImGui.PopStyleVar(1); } /// Shows a list of entities that match the search query. private void ShowFilteredEntityList(StringView searchString) { List searchTokens = scope .(searchString.Split(' ', .RemoveEmptyEntries)); + + ImGui.PushStyleVar(.FramePadding, float2(0, 0)); - if (ImGui.BeginTable("entityTable", 2, .RowBg | .NoBordersInBody | .SizingFixedFit)) + if (ImGui.BeginTable("entityTable", 2, .RowBg | .SizingFixedFit | .NoPadInnerX)) { ImGui.TableSetupColumn("Visibility", .IndentDisable | .NoResize); ImGui.TableSetupColumn("Entities", .IndentEnable | .WidthStretch); @@ -706,6 +712,7 @@ namespace GlitchyEditor.EditWindows ImGui.EndTable(); } + ImGui.PopStyleVar(1); } /// Shows the entity hierarchy either as tree or as filtered list. diff --git a/GlitchyEngine/src/ImGui/ImGuiExtension.bf b/GlitchyEngine/src/ImGui/ImGuiExtension.bf index 2026105..3514204 100644 --- a/GlitchyEngine/src/ImGui/ImGuiExtension.bf +++ b/GlitchyEngine/src/ImGui/ImGuiExtension.bf @@ -78,6 +78,8 @@ namespace ImGui return IsItemActive(); }*/ + public static void PushStyleVar(StyleVar styleVar, float2 value) => PushStyleVar(styleVar, (Vec2)value); + // TODO: Color-functions public static bool ColorEdit3(char* label, ref ColorRGB col, ColorEditFlags flags = (ColorEditFlags) 0) => ColorEdit3Impl(label, *(float[3]*)&col, flags); public static bool ColorEdit3(char* label, ref ColorRGBA col, ColorEditFlags flags = (ColorEditFlags) 0) => ColorEdit3Impl(label, *(float[3]*)&col, flags); diff --git a/GlitchyEngine/src/ImGui/ImGuiLayer.bf b/GlitchyEngine/src/ImGui/ImGuiLayer.bf index 0a37fe4..c736ee8 100644 --- a/GlitchyEngine/src/ImGui/ImGuiLayer.bf +++ b/GlitchyEngine/src/ImGui/ImGuiLayer.bf @@ -126,9 +126,12 @@ namespace GlitchyEngine.ImGui style.FrameRounding = 4; style.TabRounding = 8; style.ScrollbarSize = 20; + style.ScrollbarRounding = 3; style.WindowMinSize = ImGui.Vec2(100, 100); + style.SeparatorTextAlign = ImGui.Vec2(0.5f, 0.5f); + colors[(.)ImGui.Col.WindowBg] = ImGui.Vec4(0.118f, 0.118f, 0.118f, 1.00f); colors[(.)ImGui.Col.FrameBg] = ImGui.Vec4(0.289f, 0.387f, 0.533f, 1.00f); colors[(.)ImGui.Col.MenuBarBg] = ImGui.Vec4(0.21f, 0.21f, 0.21f, 1.00f);