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)
{
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::SetNextWindowSize(m_vecSuggestWindowSize);
ImGui::SetNextWindowPos(m_ivSuggestWindowPos);
ImGui::SetNextWindowSize(m_ivSuggestWindowSize);
ImGui::PushStyleVar(ImGuiStyleVar_WindowBorderSize, 1.0f);
ImGui::PushStyleVar(ImGuiStyleVar_WindowMinSize, ImVec2(500, 37));
@ -240,7 +240,7 @@ void CConsole::BasePanel(bool* bDraw)
ImGui::PushItemWidth(footer_width_to_reserve - 80);
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)
{
@ -278,9 +278,9 @@ void CConsole::BasePanel(bool* bDraw)
// Pad with 18 to keep all items in view.
nPad = 18;
}
m_vecSuggestWindowPos = ImGui::GetItemRectMin();
m_vecSuggestWindowPos.y += ImGui::GetItemRectSize().y;
m_vecSuggestWindowSize = ImVec2(600, nPad + std::clamp(static_cast<float>(m_vsvSuggest.size()) * 13.0f, 37.0f, 127.5f));
m_ivSuggestWindowPos = ImGui::GetItemRectMin();
m_ivSuggestWindowPos.y += ImGui::GetItemRectSize().y;
m_ivSuggestWindowSize = ImVec2(600, nPad + std::clamp(static_cast<float>(m_vsvSuggest.size()) * 13.0f, 37.0f, 127.5f));
ImGui::SameLine();
if (ImGui::Button("Submit"))
@ -339,7 +339,7 @@ void CConsole::OptionsPanel(void)
//-----------------------------------------------------------------------------
void CConsole::SuggestPanel(void)
{
ImGui::Begin("##suggest", nullptr, popup_window_flags);
ImGui::Begin("##suggest", nullptr, m_nSuggestFlags);
ImGui::PushAllowKeyboardFocus(false);
for (int i = 0; i < m_vsvSuggest.size(); i++)

View File

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