Explorar o código

InputInt/InputFloat: When used with Steps values and _ReadOnly flag, the step button look disabled. (#211)

ocornut %!s(int64=4) %!d(string=hai) anos
pai
achega
f6682404e1
Modificáronse 2 ficheiros con 4 adicións e 1 borrados
  1. 1 0
      docs/CHANGELOG.txt
  2. 3 1
      imgui_widgets.cpp

+ 1 - 0
docs/CHANGELOG.txt

@@ -52,6 +52,7 @@ Other Changes:
 - Tables: Fix columns order on TableSetupScrollFreeze() if previous data got frozen columns out of their section.
 - Tables: Fix invalid data in TableGetSortSpecs() when SpecsDirty flag is unset. (#4233)
 - TabBar: Fixed using more than 32 KB-worth of tab names. (#4176)
+- InputInt/InputFloat: When used with Steps values and _ReadOnly flag, the step button look disabled. (#211)
 - Drag and Drop: drop target highlight doesn't try to bypass host clipping rectangle. (#4281, #3272)
 - Menus: MenuItem() and BeginMenu() are not affected/overlapping when style.SelectableTextAlign is altered.
 - Nav: Disabled items are not candidate for default focus. (#211, #787)

+ 3 - 1
imgui_widgets.cpp

@@ -3444,7 +3444,7 @@ bool ImGui::InputScalar(const char* label, ImGuiDataType data_type, void* p_data
         style.FramePadding.x = style.FramePadding.y;
         ImGuiButtonFlags button_flags = ImGuiButtonFlags_Repeat | ImGuiButtonFlags_DontClosePopups;
         if (flags & ImGuiInputTextFlags_ReadOnly)
-            button_flags |= ImGuiButtonFlags_Disabled;
+            PushDisabled(true);
         SameLine(0, style.ItemInnerSpacing.x);
         if (ButtonEx("-", ImVec2(button_size, button_size), button_flags))
         {
@@ -3457,6 +3457,8 @@ bool ImGui::InputScalar(const char* label, ImGuiDataType data_type, void* p_data
             DataTypeApplyOp(data_type, '+', p_data, p_data, g.IO.KeyCtrl && p_step_fast ? p_step_fast : p_step);
             value_changed = true;
         }
+        if (flags & ImGuiInputTextFlags_ReadOnly)
+            PopDisabled();
 
         const char* label_end = FindRenderedTextEnd(label);
         if (label != label_end)