Fix suggest window drawing below server browser window

This commit is contained in:
Kawe Mazidjatari 2022-05-27 16:28:37 +02:00
parent de2e91220d
commit bcd75b354a
2 changed files with 12 additions and 13 deletions

View File

@ -137,11 +137,11 @@ void CConsole::Draw(const char* pszTitle, bool* bDraw)
if (m_bDefaultTheme) if (m_bDefaultTheme)
{ {
static ImGuiStyle& style = ImGui::GetStyle(); static ImGuiStyle& style = ImGui::GetStyle();
m_vecSuggestWindowPos.y = m_vecSuggestWindowPos.y + style.WindowPadding.y + 1.5f; m_ivSuggestWindowPos.y = m_ivSuggestWindowPos.y + style.WindowPadding.y + 1.5f;
} }
ImGui::SetNextWindowPos(m_vecSuggestWindowPos); ImGui::SetNextWindowPos(m_ivSuggestWindowPos);
ImGui::SetNextWindowSize(m_vecSuggestWindowSize); ImGui::SetNextWindowSize(m_ivSuggestWindowSize);
ImGui::PushStyleVar(ImGuiStyleVar_WindowBorderSize, 1.0f); ImGui::PushStyleVar(ImGuiStyleVar_WindowBorderSize, 1.0f);
ImGui::PushStyleVar(ImGuiStyleVar_WindowMinSize, ImVec2(500, 37)); ImGui::PushStyleVar(ImGuiStyleVar_WindowMinSize, ImVec2(500, 37));
@ -240,7 +240,7 @@ void CConsole::BasePanel(bool* bDraw)
ImGui::PushItemWidth(footer_width_to_reserve - 80); ImGui::PushItemWidth(footer_width_to_reserve - 80);
if (ImGui::IsWindowAppearing()) { ImGui::SetKeyboardFocusHere(); } if (ImGui::IsWindowAppearing()) { ImGui::SetKeyboardFocusHere(); }
if (ImGui::InputText("##input", m_szInputBuf, IM_ARRAYSIZE(m_szInputBuf), input_text_flags, &TextEditCallbackStub, reinterpret_cast<void*>(this))) if (ImGui::InputText("##input", m_szInputBuf, IM_ARRAYSIZE(m_szInputBuf), m_nInputFlags, &TextEditCallbackStub, reinterpret_cast<void*>(this)))
{ {
if (m_nSuggestPos != -1) if (m_nSuggestPos != -1)
{ {
@ -278,9 +278,9 @@ void CConsole::BasePanel(bool* bDraw)
// Pad with 18 to keep all items in view. // Pad with 18 to keep all items in view.
nPad = 18; nPad = 18;
} }
m_vecSuggestWindowPos = ImGui::GetItemRectMin(); m_ivSuggestWindowPos = ImGui::GetItemRectMin();
m_vecSuggestWindowPos.y += ImGui::GetItemRectSize().y; m_ivSuggestWindowPos.y += ImGui::GetItemRectSize().y;
m_vecSuggestWindowSize = ImVec2(600, nPad + std::clamp(static_cast<float>(m_vsvSuggest.size()) * 13.0f, 37.0f, 127.5f)); m_ivSuggestWindowSize = ImVec2(600, nPad + std::clamp(static_cast<float>(m_vsvSuggest.size()) * 13.0f, 37.0f, 127.5f));
ImGui::SameLine(); ImGui::SameLine();
if (ImGui::Button("Submit")) if (ImGui::Button("Submit"))
@ -339,7 +339,7 @@ void CConsole::OptionsPanel(void)
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
void CConsole::SuggestPanel(void) void CConsole::SuggestPanel(void)
{ {
ImGui::Begin("##suggest", nullptr, popup_window_flags); ImGui::Begin("##suggest", nullptr, m_nSuggestFlags);
ImGui::PushAllowKeyboardFocus(false); ImGui::PushAllowKeyboardFocus(false);
for (int i = 0; i < m_vsvSuggest.size(); i++) for (int i = 0; i < m_vsvSuggest.size(); i++)

View File

@ -60,10 +60,10 @@ private:
vector<CSuggest> m_vsvSuggest; vector<CSuggest> m_vsvSuggest;
vector<MODULERESOURCE> m_vFlagIcons; vector<MODULERESOURCE> m_vFlagIcons;
ImVec2 m_vecSuggestWindowPos; ImVec2 m_ivSuggestWindowPos;
ImVec2 m_vecSuggestWindowSize; ImVec2 m_ivSuggestWindowSize;
ImGuiInputTextFlags input_text_flags = ImGuiInputTextFlags m_nInputFlags =
ImGuiInputTextFlags_AutoCaretEnd | ImGuiInputTextFlags_AutoCaretEnd |
ImGuiInputTextFlags_CallbackCompletion | ImGuiInputTextFlags_CallbackCompletion |
ImGuiInputTextFlags_CallbackHistory | ImGuiInputTextFlags_CallbackHistory |
@ -71,12 +71,11 @@ private:
ImGuiInputTextFlags_CallbackEdit | ImGuiInputTextFlags_CallbackEdit |
ImGuiInputTextFlags_EnterReturnsTrue; ImGuiInputTextFlags_EnterReturnsTrue;
ImGuiWindowFlags popup_window_flags = ImGuiWindowFlags m_nSuggestFlags =
ImGuiWindowFlags_NoMove | ImGuiWindowFlags_NoMove |
ImGuiWindowFlags_NoTitleBar | ImGuiWindowFlags_NoTitleBar |
ImGuiWindowFlags_NoSavedSettings | ImGuiWindowFlags_NoSavedSettings |
ImGuiWindowFlags_NoFocusOnAppearing | ImGuiWindowFlags_NoFocusOnAppearing |
ImGuiWindowFlags_NoBringToFrontOnFocus |
ImGuiWindowFlags_AlwaysVerticalScrollbar | ImGuiWindowFlags_AlwaysVerticalScrollbar |
ImGuiWindowFlags_AlwaysHorizontalScrollbar; ImGuiWindowFlags_AlwaysHorizontalScrollbar;