mirror of
https://github.com/Drezil/imgui.git
synced 2024-11-15 01:17:00 +00:00
Internals: Moved the FocusableItemUnregister() outside of InputScalarAsWidgetReplacement(), it should not be here and doesn't facilitate reusing InputScalarAsWidgetReplacement(). (cc #2155)
This commit is contained in:
parent
e6db078eda
commit
7fa3e71abb
@ -76,6 +76,7 @@ Other Changes:
|
|||||||
in particular, points_count==0 could lead to a memory stomp if the draw list was previously empty.
|
in particular, points_count==0 could lead to a memory stomp if the draw list was previously empty.
|
||||||
- Examples: DirectX10, DirectX11: Removed seemingly unnecessary calls to invalidate and recreate device objects
|
- Examples: DirectX10, DirectX11: Removed seemingly unnecessary calls to invalidate and recreate device objects
|
||||||
in the WM_SIZE handler. (#2088) [@ice1000]
|
in the WM_SIZE handler. (#2088) [@ice1000]
|
||||||
|
- Examples: OpenGL3+GLFW: Fixed error condition when using the GLAD loader. (#2157) [@blackball]
|
||||||
|
|
||||||
|
|
||||||
-----------------------------------------------------------------------
|
-----------------------------------------------------------------------
|
||||||
@ -99,7 +100,7 @@ Other Changes:
|
|||||||
Although it is not perfect and will keep being improved, it is fairly functional and used by many. (#787)
|
Although it is not perfect and will keep being improved, it is fairly functional and used by many. (#787)
|
||||||
- Fixed a build issue with non-Cygwin GCC under Windows.
|
- Fixed a build issue with non-Cygwin GCC under Windows.
|
||||||
- Demo: Added a "Configuration" block to make io.ConfigFlags/io.BackendFlags more prominent.
|
- Demo: Added a "Configuration" block to make io.ConfigFlags/io.BackendFlags more prominent.
|
||||||
- Examples: OpenGL3: Fixed error condition when using the GLAD loader. (#2059, #2002) [@jiri]
|
- Examples: OpenGL3+SDL2: Fixed error condition when using the GLAD loader. (#2059, #2002) [@jiri]
|
||||||
|
|
||||||
|
|
||||||
-----------------------------------------------------------------------
|
-----------------------------------------------------------------------
|
||||||
|
@ -1241,7 +1241,7 @@ bool ImGui::SplitterBehavior(const ImRect& bb, ImGuiID id, ImGuiAxis axis, float
|
|||||||
|
|
||||||
|
|
||||||
//-------------------------------------------------------------------------
|
//-------------------------------------------------------------------------
|
||||||
// [SECTION] Widgets: Combo Box
|
// [SECTION] Widgets: ComboBox
|
||||||
//-------------------------------------------------------------------------
|
//-------------------------------------------------------------------------
|
||||||
// - BeginCombo()
|
// - BeginCombo()
|
||||||
// - EndCombo()
|
// - EndCombo()
|
||||||
@ -1882,7 +1882,10 @@ bool ImGui::DragScalar(const char* label, ImGuiDataType data_type, void* v, floa
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (start_text_input || (g.ActiveId == id && g.ScalarAsInputTextId == id))
|
if (start_text_input || (g.ActiveId == id && g.ScalarAsInputTextId == id))
|
||||||
|
{
|
||||||
|
FocusableItemUnregister(window);
|
||||||
return InputScalarAsWidgetReplacement(frame_bb, id, label, data_type, v, format);
|
return InputScalarAsWidgetReplacement(frame_bb, id, label, data_type, v, format);
|
||||||
|
}
|
||||||
|
|
||||||
// Actual drag behavior
|
// Actual drag behavior
|
||||||
ItemSize(total_bb, style.FramePadding.y);
|
ItemSize(total_bb, style.FramePadding.y);
|
||||||
@ -2313,7 +2316,10 @@ bool ImGui::SliderScalar(const char* label, ImGuiDataType data_type, void* v, co
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (start_text_input || (g.ActiveId == id && g.ScalarAsInputTextId == id))
|
if (start_text_input || (g.ActiveId == id && g.ScalarAsInputTextId == id))
|
||||||
|
{
|
||||||
|
FocusableItemUnregister(window);
|
||||||
return InputScalarAsWidgetReplacement(frame_bb, id, label, data_type, v, format);
|
return InputScalarAsWidgetReplacement(frame_bb, id, label, data_type, v, format);
|
||||||
|
}
|
||||||
|
|
||||||
ItemSize(total_bb, style.FramePadding.y);
|
ItemSize(total_bb, style.FramePadding.y);
|
||||||
|
|
||||||
@ -2584,8 +2590,8 @@ int ImParseFormatPrecision(const char* fmt, int default_precision)
|
|||||||
return (precision == INT_MAX) ? default_precision : precision;
|
return (precision == INT_MAX) ? default_precision : precision;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Create text input in place of a slider (when CTRL+Clicking on slider)
|
// Create text input in place of an active drag/slider (used when doing a CTRL+Click on drag/slider widgets)
|
||||||
// FIXME: Logic is messy and confusing.
|
// FIXME: Logic is awkward and confusing. This should be reworked to facilitate using in other situations.
|
||||||
bool ImGui::InputScalarAsWidgetReplacement(const ImRect& bb, ImGuiID id, const char* label, ImGuiDataType data_type, void* data_ptr, const char* format)
|
bool ImGui::InputScalarAsWidgetReplacement(const ImRect& bb, ImGuiID id, const char* label, ImGuiDataType data_type, void* data_ptr, const char* format)
|
||||||
{
|
{
|
||||||
ImGuiContext& g = *GImGui;
|
ImGuiContext& g = *GImGui;
|
||||||
@ -2594,9 +2600,8 @@ bool ImGui::InputScalarAsWidgetReplacement(const ImRect& bb, ImGuiID id, const c
|
|||||||
// Our replacement widget will override the focus ID (registered previously to allow for a TAB focus to happen)
|
// Our replacement widget will override the focus ID (registered previously to allow for a TAB focus to happen)
|
||||||
// On the first frame, g.ScalarAsInputTextId == 0, then on subsequent frames it becomes == id
|
// On the first frame, g.ScalarAsInputTextId == 0, then on subsequent frames it becomes == id
|
||||||
SetActiveID(g.ScalarAsInputTextId, window);
|
SetActiveID(g.ScalarAsInputTextId, window);
|
||||||
g.ActiveIdAllowNavDirFlags = (1 << ImGuiDir_Up) | (1 << ImGuiDir_Down);
|
|
||||||
SetHoveredID(0);
|
SetHoveredID(0);
|
||||||
FocusableItemUnregister(window);
|
g.ActiveIdAllowNavDirFlags = (1 << ImGuiDir_Up) | (1 << ImGuiDir_Down);
|
||||||
|
|
||||||
char fmt_buf[32];
|
char fmt_buf[32];
|
||||||
char data_buf[32];
|
char data_buf[32];
|
||||||
|
Loading…
Reference in New Issue
Block a user