fix: restore console panel content layout
This commit is contained in:
@@ -1035,65 +1035,67 @@ void ConsolePanel::Render() {
|
||||
const float errorFilterWidth = CalculateSeverityToggleButtonWidth(counts.errorCount);
|
||||
const float severityGroupWidth = logFilterWidth + warningFilterWidth + errorFilterWidth;
|
||||
|
||||
UI::PanelToolbarScope toolbar(
|
||||
"ConsoleToolbar",
|
||||
kConsoleToolbarHeight,
|
||||
ImGuiWindowFlags_NoScrollbar | ImGuiWindowFlags_NoScrollWithMouse,
|
||||
true,
|
||||
ImVec2(6.0f, kConsoleToolbarRowPaddingY),
|
||||
ImVec2(kConsoleToolbarItemSpacing, 0.0f),
|
||||
kConsoleToolbarBackgroundColor);
|
||||
ImGui::PushStyleVar(ImGuiStyleVar_CellPadding, ImVec2(0.0f, 0.0f));
|
||||
if (toolbar.IsOpen() &&
|
||||
ImGui::BeginTable(
|
||||
"##ConsoleToolbarLayout",
|
||||
3,
|
||||
ImGuiTableFlags_NoSavedSettings | ImGuiTableFlags_SizingStretchProp))
|
||||
{
|
||||
ImGui::TableSetupColumn("##Primary", ImGuiTableColumnFlags_WidthStretch);
|
||||
ImGui::TableSetupColumn("##Search", ImGuiTableColumnFlags_WidthFixed, kConsoleSearchWidth);
|
||||
ImGui::TableSetupColumn("##Severity", ImGuiTableColumnFlags_WidthFixed, severityGroupWidth);
|
||||
ImGui::TableNextRow();
|
||||
UI::PanelToolbarScope toolbar(
|
||||
"ConsoleToolbar",
|
||||
kConsoleToolbarHeight,
|
||||
ImGuiWindowFlags_NoScrollbar | ImGuiWindowFlags_NoScrollWithMouse,
|
||||
true,
|
||||
ImVec2(6.0f, kConsoleToolbarRowPaddingY),
|
||||
ImVec2(kConsoleToolbarItemSpacing, 0.0f),
|
||||
kConsoleToolbarBackgroundColor);
|
||||
ImGui::PushStyleVar(ImGuiStyleVar_CellPadding, ImVec2(0.0f, 0.0f));
|
||||
if (toolbar.IsOpen() &&
|
||||
ImGui::BeginTable(
|
||||
"##ConsoleToolbarLayout",
|
||||
3,
|
||||
ImGuiTableFlags_NoSavedSettings | ImGuiTableFlags_SizingStretchProp))
|
||||
{
|
||||
ImGui::TableSetupColumn("##Primary", ImGuiTableColumnFlags_WidthStretch);
|
||||
ImGui::TableSetupColumn("##Search", ImGuiTableColumnFlags_WidthFixed, kConsoleSearchWidth);
|
||||
ImGui::TableSetupColumn("##Severity", ImGuiTableColumnFlags_WidthFixed, severityGroupWidth);
|
||||
ImGui::TableNextRow();
|
||||
|
||||
ImGui::TableNextColumn();
|
||||
if (DrawToolbarButton("##ConsoleClearButton", "Clear", 42.0f)) {
|
||||
sink->Clear();
|
||||
m_selectedSerial = 0;
|
||||
m_selectedEntryKey.clear();
|
||||
}
|
||||
ImGui::SameLine(0.0f, 1.0f);
|
||||
DrawToolbarArrowDropdownButton("##ConsoleClearOptions", 16.0f, [&]() {
|
||||
if (DrawCompactCheckedMenuItem("Clear on Play", m_filterState.ClearOnPlay())) {
|
||||
m_filterState.ClearOnPlay() = !m_filterState.ClearOnPlay();
|
||||
ImGui::TableNextColumn();
|
||||
if (DrawToolbarButton("##ConsoleClearButton", "Clear", 42.0f)) {
|
||||
sink->Clear();
|
||||
m_selectedSerial = 0;
|
||||
m_selectedEntryKey.clear();
|
||||
}
|
||||
});
|
||||
ImGui::SameLine(0.0f, kConsoleToolbarItemSpacing);
|
||||
DrawToolbarToggleButton("##ConsoleCollapseToggle", "Collapse", m_filterState.Collapse(), 64.0f);
|
||||
ImGui::SameLine(0.0f, kConsoleToolbarItemSpacing);
|
||||
DrawToolbarToggleButton("##ConsoleErrorPauseToggle", "Error Pause", m_filterState.ErrorPause(), 82.0f);
|
||||
ImGui::SameLine(0.0f, kConsoleToolbarItemSpacing);
|
||||
DrawToolbarDropdownButton("##ConsoleSourceDropdown", "Editor", 58.0f, [&]() {
|
||||
ImGui::MenuItem("Editor", nullptr, true, true);
|
||||
ImGui::MenuItem("Player", nullptr, false, false);
|
||||
});
|
||||
ImGui::SameLine(0.0f, 1.0f);
|
||||
DrawToolbarArrowDropdownButton("##ConsoleClearOptions", 16.0f, [&]() {
|
||||
if (DrawCompactCheckedMenuItem("Clear on Play", m_filterState.ClearOnPlay())) {
|
||||
m_filterState.ClearOnPlay() = !m_filterState.ClearOnPlay();
|
||||
}
|
||||
});
|
||||
ImGui::SameLine(0.0f, kConsoleToolbarItemSpacing);
|
||||
DrawToolbarToggleButton("##ConsoleCollapseToggle", "Collapse", m_filterState.Collapse(), 64.0f);
|
||||
ImGui::SameLine(0.0f, kConsoleToolbarItemSpacing);
|
||||
DrawToolbarToggleButton("##ConsoleErrorPauseToggle", "Error Pause", m_filterState.ErrorPause(), 82.0f);
|
||||
ImGui::SameLine(0.0f, kConsoleToolbarItemSpacing);
|
||||
DrawToolbarDropdownButton("##ConsoleSourceDropdown", "Editor", 58.0f, [&]() {
|
||||
ImGui::MenuItem("Editor", nullptr, true, true);
|
||||
ImGui::MenuItem("Player", nullptr, false, false);
|
||||
});
|
||||
|
||||
ImGui::TableNextColumn();
|
||||
if (m_requestSearchFocus) {
|
||||
ImGui::SetKeyboardFocusHere();
|
||||
m_requestSearchFocus = false;
|
||||
ImGui::TableNextColumn();
|
||||
if (m_requestSearchFocus) {
|
||||
ImGui::SetKeyboardFocusHere();
|
||||
m_requestSearchFocus = false;
|
||||
}
|
||||
UI::ToolbarSearchField("##ConsoleSearch", "Search", m_searchBuffer, sizeof(m_searchBuffer));
|
||||
|
||||
ImGui::TableNextColumn();
|
||||
DrawSeverityToggleButton("##ConsoleLogFilter", ConsoleSeverityVisual::Log, counts.logCount, m_filterState.ShowLog(), "Log");
|
||||
ImGui::SameLine(0.0f, 0.0f);
|
||||
DrawSeverityToggleButton("##ConsoleWarningFilter", ConsoleSeverityVisual::Warning, counts.warningCount, m_filterState.ShowWarning(), "Warnings");
|
||||
ImGui::SameLine(0.0f, 0.0f);
|
||||
DrawSeverityToggleButton("##ConsoleErrorFilter", ConsoleSeverityVisual::Error, counts.errorCount, m_filterState.ShowError(), "Errors");
|
||||
|
||||
ImGui::EndTable();
|
||||
}
|
||||
UI::ToolbarSearchField("##ConsoleSearch", "Search", m_searchBuffer, sizeof(m_searchBuffer));
|
||||
|
||||
ImGui::TableNextColumn();
|
||||
DrawSeverityToggleButton("##ConsoleLogFilter", ConsoleSeverityVisual::Log, counts.logCount, m_filterState.ShowLog(), "Log");
|
||||
ImGui::SameLine(0.0f, 0.0f);
|
||||
DrawSeverityToggleButton("##ConsoleWarningFilter", ConsoleSeverityVisual::Warning, counts.warningCount, m_filterState.ShowWarning(), "Warnings");
|
||||
ImGui::SameLine(0.0f, 0.0f);
|
||||
DrawSeverityToggleButton("##ConsoleErrorFilter", ConsoleSeverityVisual::Error, counts.errorCount, m_filterState.ShowError(), "Errors");
|
||||
|
||||
ImGui::EndTable();
|
||||
ImGui::PopStyleVar();
|
||||
}
|
||||
ImGui::PopStyleVar();
|
||||
|
||||
UI::PanelContentScope content("ConsoleRoot", ImVec2(0.0f, 0.0f));
|
||||
if (!content.IsOpen()) {
|
||||
|
||||
Reference in New Issue
Block a user