@ -991,7 +991,6 @@ CODE
// Debug options
# define IMGUI_DEBUG_NAV_SCORING 0 // Display navigation scoring preview when hovering items. Display last moving direction matches when holding CTRL
# define IMGUI_DEBUG_NAV_RECTS 0 // Display the reference navigation rectangle for each window
# define IMGUI_DEBUG_INI_SETTINGS 0 // Save additional comments in .ini file (particularly helps for Docking, but makes saving slower)
// When using CTRL+TAB (or Gamepad Square+L/R) we delay the visual a little in order to reduce visual noise doing a fast switch.
static const float NAV_WINDOWING_HIGHLIGHT_DELAY = 0.20f ; // Time before the highlight and screen dimming starts fading in
@ -13623,12 +13622,13 @@ ImGuiWindowSettings* ImGui::CreateNewWindowSettings(const char* name)
{
ImGuiContext & g = * GImGui ;
# if !IMGUI_DEBUG_INI_SETTINGS
// Skip to the "###" marker if any. We don't skip past to match the behavior of GetID()
// Preserve the full string when IMGUI_DEBUG_INI_SETTINGS is set to make .ini inspection easier.
if ( const char * p = strstr ( name , " ### " ) )
name = p ;
# endif
if ( g . IO . ConfigDebugIniSettings = = false )
{
// Skip to the "###" marker if any. We don't skip past to match the behavior of GetID()
// Preserve the full string when ConfigDebugVerboseIniSettings is set to make .ini inspection easier.
if ( const char * p = strstr ( name , " ### " ) )
name = p ;
}
const size_t name_len = strlen ( name ) ;
// Allocate chunk
@ -18673,24 +18673,24 @@ static void ImGui::DockSettingsHandler_WriteAll(ImGuiContext* ctx, ImGuiSettings
if ( node_settings - > SelectedTabId )
buf - > appendf ( " Selected=0x%08X " , node_settings - > SelectedTabId ) ;
# if IMGUI_DEBUG_INI_SETTINGS
// [DEBUG] Include comments in the .ini file to ease debugging
if ( ImGuiDockNode * node = DockContextFindNodeByID ( ctx , node_settings - > ID ) )
{
buf - > appendf ( " %*s " , ImMax ( 2 , ( line_start_pos + 92 ) - buf - > size ( ) ) , " " ) ; // Align everything
if ( node - > IsDockSpace ( ) & & node - > HostWindow & & node - > HostWindow - > ParentWindow )
buf - > appendf ( " ; in '%s' " , node - > HostWindow - > ParentWindow - > Name ) ;
// Iterate settings so we can give info about windows that didn't exist during the session.
int contains_window = 0 ;
for ( ImGuiWindowSettings * settings = g . SettingsWindows . begin ( ) ; settings ! = NULL ; settings = g . SettingsWindows . next_chunk ( settings ) )
if ( settings - > DockId = = node_settings - > ID )
{
if ( contains_window + + = = 0 )
buf - > appendf ( " ; contains " ) ;
buf - > appendf ( " '%s' " , settings - > GetName ( ) ) ;
}
}
# endif
// [DEBUG] Include comments in the .ini file to ease debugging (this makes saving slower!)
if ( g . IO . ConfigDebugIniSettings )
if ( ImGuiDockNode * node = DockContextFindNodeByID ( ctx , node_settings - > ID ) )
{
buf - > appendf ( " %*s " , ImMax ( 2 , ( line_start_pos + 92 ) - buf - > size ( ) ) , " " ) ; // Align everything
if ( node - > IsDockSpace ( ) & & node - > HostWindow & & node - > HostWindow - > ParentWindow )
buf - > appendf ( " ; in '%s' " , node - > HostWindow - > ParentWindow - > Name ) ;
// Iterate settings so we can give info about windows that didn't exist during the session.
int contains_window = 0 ;
for ( ImGuiWindowSettings * settings = g . SettingsWindows . begin ( ) ; settings ! = NULL ; settings = g . SettingsWindows . next_chunk ( settings ) )
if ( settings - > DockId = = node_settings - > ID )
{
if ( contains_window + + = = 0 )
buf - > appendf ( " ; contains " ) ;
buf - > appendf ( " '%s' " , settings - > GetName ( ) ) ;
}
}
buf - > appendf ( " \n " ) ;
}
buf - > appendf ( " \n " ) ;
@ -19421,11 +19421,12 @@ void ImGui::ShowMetricsWindow(bool* p_open)
Text ( " \" %s \" " , g . IO . IniFilename ) ;
else
TextUnformatted ( " <NULL> " ) ;
Checkbox ( " io.ConfigDebugIniSettings " , & io . ConfigDebugIniSettings ) ;
Text ( " SettingsDirtyTimer %.2f " , g . SettingsDirtyTimer ) ;
if ( TreeNode ( " SettingsHandlers " , " Settings handlers: (%d) " , g . SettingsHandlers . Size ) )
{
for ( int n = 0 ; n < g . SettingsHandlers . Size ; n + + )
BulletText ( " %s " , g . SettingsHandlers [ n ] . TypeName ) ;
BulletText ( " \" %s \" " , g . SettingsHandlers [ n ] . TypeName ) ;
TreePop ( ) ;
}
if ( TreeNode ( " SettingsWindows " , " Settings packed data: Windows: %d bytes " , g . SettingsWindows . size ( ) ) )