From 12564dd78f95ede50857b09ccdcd3b584c0a190b Mon Sep 17 00:00:00 2001 From: WerWolv Date: Wed, 10 Sep 2025 19:13:47 +0200 Subject: [PATCH] impr: Fix layout of pattern settings popup --- .../source/content/views/view_pattern_editor.cpp | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/plugins/builtin/source/content/views/view_pattern_editor.cpp b/plugins/builtin/source/content/views/view_pattern_editor.cpp index 577d1dd65..92c504820 100644 --- a/plugins/builtin/source/content/views/view_pattern_editor.cpp +++ b/plugins/builtin/source/content/views/view_pattern_editor.cpp @@ -1053,7 +1053,10 @@ namespace hex::plugin::builtin { if (ImGui::BeginChild("##env_vars", ImGui::GetContentRegionAvail(), true, ImGuiWindowFlags_AlwaysVerticalScrollbar)) { if (envVars.size() <= 1) { - ImGuiExt::TextOverlay("hex.builtin.view.pattern_editor.no_env_vars"_lang, ImGui::GetWindowPos() + ImGui::GetWindowSize() / 2, ImGui::GetWindowWidth() * 0.7); + ImGuiExt::TextOverlay("hex.builtin.view.pattern_editor.no_env_vars"_lang, + ImGui::GetWindowPos() + ImGui::GetWindowSize() / 2 + ImVec2(0, ImGui::GetTextLineHeight()), + ImGui::GetWindowWidth() * 0.7 + ); } if (ImGui::BeginTable("##env_vars_table", 4, ImGuiTableFlags_SizingStretchProp | ImGuiTableFlags_BordersInnerH)) { @@ -1163,9 +1166,9 @@ namespace hex::plugin::builtin { ImGuiExt::TextOverlay("hex.builtin.view.pattern_editor.no_in_out_vars"_lang, ImGui::GetWindowPos() + ImGui::GetWindowSize() / 2, ImGui::GetWindowWidth() * 0.7); } - if (ImGui::BeginTable("##in_out_vars_table", 2, ImGuiTableFlags_SizingStretchProp | ImGuiTableFlags_BordersInnerH | ImGuiTableFlags_BordersOuterH | ImGuiTableFlags_RowBg)) { - ImGui::TableSetupColumn("Name", ImGuiTableColumnFlags_WidthStretch, 0.25F); - ImGui::TableSetupColumn("Value", ImGuiTableColumnFlags_WidthStretch, 0.75F); + if (ImGui::BeginTable("##in_out_vars_table", 2, ImGuiTableFlags_SizingFixedFit | ImGuiTableFlags_BordersInnerH | ImGuiTableFlags_BordersOuterH | ImGuiTableFlags_RowBg)) { + ImGui::TableSetupColumn("Name", ImGuiTableColumnFlags_WidthStretch); + ImGui::TableSetupColumn("Value", ImGuiTableColumnFlags_WidthStretch); for (auto &[name, variable] : patternVariables) { ImGui::TableNextRow(); @@ -1197,6 +1200,7 @@ namespace hex::plugin::builtin { m_hasUnevaluatedChanges.get(provider) = true; variable.value = value; } else if (variable.type == pl::core::Token::ValueType::Boolean) { + ImGui::SameLine(0, ImGui::GetContentRegionAvail().x - ImGui::GetTextLineHeightWithSpacing()); auto value = hex::get_or(variable.value, false); if (ImGui::Checkbox(label.c_str(), &value)) m_hasUnevaluatedChanges.get(provider) = true;