mirror of
https://github.com/Drezil/imgui.git
synced 2024-12-19 14:36:34 +00:00
Nav, Focus: Fixed messed up Ctrl+Tab order with Docked windows.
Amendd9bca0d853
,fc41839cab
,fc42528f13
for docking.
This commit is contained in:
parent
5be649e082
commit
d4fc525614
@ -6717,7 +6717,7 @@ void ImGui::FocusWindow(ImGuiWindow* window)
|
|||||||
|
|
||||||
// Move the root window to the top of the pile
|
// Move the root window to the top of the pile
|
||||||
IM_ASSERT(window->RootWindow != NULL);
|
IM_ASSERT(window->RootWindow != NULL);
|
||||||
ImGuiWindow* focus_front_window = window->RootWindow; // NB: In docking branch this is window->RootWindowDockStop
|
ImGuiWindow* focus_front_window = window->RootWindowDockStop;
|
||||||
ImGuiWindow* display_front_window = window->RootWindow;
|
ImGuiWindow* display_front_window = window->RootWindow;
|
||||||
|
|
||||||
// Steal focus on active widgets
|
// Steal focus on active widgets
|
||||||
@ -6727,7 +6727,7 @@ void ImGui::FocusWindow(ImGuiWindow* window)
|
|||||||
|
|
||||||
// Bring to front
|
// Bring to front
|
||||||
BringWindowToFocusFront(focus_front_window);
|
BringWindowToFocusFront(focus_front_window);
|
||||||
if (((window->Flags | display_front_window->Flags) & ImGuiWindowFlags_NoBringToFrontOnFocus) == 0)
|
if (((window->Flags | focus_front_window->Flags | display_front_window->Flags) & ImGuiWindowFlags_NoBringToFrontOnFocus) == 0)
|
||||||
BringWindowToDisplayFront(display_front_window);
|
BringWindowToDisplayFront(display_front_window);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -9532,7 +9532,7 @@ static void ImGui::NavUpdateWindowing()
|
|||||||
if (start_windowing_with_gamepad || start_windowing_with_keyboard)
|
if (start_windowing_with_gamepad || start_windowing_with_keyboard)
|
||||||
if (ImGuiWindow* window = g.NavWindow ? g.NavWindow : FindWindowNavFocusable(g.WindowsFocusOrder.Size - 1, -INT_MAX, -1))
|
if (ImGuiWindow* window = g.NavWindow ? g.NavWindow : FindWindowNavFocusable(g.WindowsFocusOrder.Size - 1, -INT_MAX, -1))
|
||||||
{
|
{
|
||||||
g.NavWindowingTarget = g.NavWindowingTargetAnim = window->RootWindow; // FIXME-DOCK: Will need to use RootWindowDockStop
|
g.NavWindowingTarget = g.NavWindowingTargetAnim = window->RootWindowDockStop;
|
||||||
g.NavWindowingTimer = g.NavWindowingHighlightAlpha = 0.0f;
|
g.NavWindowingTimer = g.NavWindowingHighlightAlpha = 0.0f;
|
||||||
g.NavWindowingToggleLayer = start_windowing_with_keyboard ? false : true;
|
g.NavWindowingToggleLayer = start_windowing_with_keyboard ? false : true;
|
||||||
g.NavInputSource = start_windowing_with_keyboard ? ImGuiInputSource_NavKeyboard : ImGuiInputSource_NavGamepad;
|
g.NavInputSource = start_windowing_with_keyboard ? ImGuiInputSource_NavKeyboard : ImGuiInputSource_NavGamepad;
|
||||||
|
Loading…
Reference in New Issue
Block a user