Sfoglia il codice sorgente

BeginChild(): Internal name used by child windows now omits the hash/id if the child window is submitted in root of id stack of parent window.

# Conflicts:
#	docs/CHANGELOG.txt
#	imgui.h
ocornut 2 anni fa
parent
commit
8ee85137d8
3 ha cambiato i file con 7 aggiunte e 2 eliminazioni
  1. 3 0
      docs/CHANGELOG.txt
  2. 3 1
      imgui.cpp
  3. 1 1
      imgui.h

+ 3 - 0
docs/CHANGELOG.txt

@@ -71,6 +71,9 @@ Other changes:
   Previously was inconsistent and only enabled when stepping through a non-input item.
   (#6802, #3092, #5759, #787)
 - Windows:
+  - BeginChild(): Internal name used by child windows now omits the hash/id if the child
+    window is submitted in root of id stack of parent window. Makes debugging/metrics easier
+    and shorter to read in many cases.
   - Popups: clarified meaning of 'p_open != NULL' in BeginPopupModal() + set back user value
     to false when popup is closed in ways other than clicking the close button. (#6900)
   - Double-clicking lower-left resize grip auto-resize (like lower-rightone).

+ 3 - 1
imgui.cpp

@@ -5444,7 +5444,9 @@ bool ImGui::BeginChildEx(const char* name, ImGuiID id, const ImVec2& size_arg, b
 
     // Build up name. If you need to append to a same child from multiple location in the ID stack, use BeginChild(ImGuiID id) with a stable value.
     const char* temp_window_name;
-    if (name)
+    if (name && parent_window->IDStack.back() == parent_window->ID)
+        ImFormatStringToTempBuffer(&temp_window_name, NULL, "%s/%s", parent_window->Name, name); // May omit ID if in root of ID stack
+    else if (name)
         ImFormatStringToTempBuffer(&temp_window_name, NULL, "%s/%s_%08X", parent_window->Name, name, id);
     else
         ImFormatStringToTempBuffer(&temp_window_name, NULL, "%s/%08X", parent_window->Name, id);

+ 1 - 1
imgui.h

@@ -24,7 +24,7 @@
 // Library Version
 // (Integer encoded as XYYZZ for use in #if preprocessor conditionals, e.g. '#if IMGUI_VERSION_NUM >= 12345')
 #define IMGUI_VERSION       "1.90 WIP"
-#define IMGUI_VERSION_NUM   18995
+#define IMGUI_VERSION_NUM   18996
 #define IMGUI_HAS_TABLE
 
 /*