public override void Update() { if (opened) { if (Manager.IsDockMode()) { if (IsInitialized < 0) { IsInitialized++; } if (ResetSize) { Manager.NativeManager.SetNextWindowSize(InitialDockSize.X, InitialDockSize.Y, swig.Cond.Appearing); ResetSize = false; } swig.WindowFlags flags = swig.WindowFlags.None; if (NoScrollBar) { flags = swig.WindowFlags.NoScrollbar; } if (NoPadding) { Manager.NativeManager.PushStyleVar(swig.ImGuiStyleVarFlags.WindowPadding, new swig.Vec2(0.0f, 0.0f)); } bool dockEnabled = Manager.NativeManager.BeginDock( Label, TabLabel, ref opened, Visibled && !NoCloseButton, flags); Visibled = Manager.NativeManager.IsDockVisibled(); Windowed = Manager.NativeManager.IsDockWindowed(); if (NoPadding) { Manager.NativeManager.PopStyleVar(); } if (dockEnabled) { UpdateInternal(); Controls.Lock(); foreach (var c in Controls.Internal) { c.Update(); } Controls.Unlock(); } Manager.NativeManager.EndDock(); } else { if (Manager.NativeManager.Begin(Label, ref opened)) { UpdateInternal(); Controls.Lock(); foreach (var c in Controls.Internal) { c.Update(); } Controls.Unlock(); } Manager.NativeManager.End(); } } else { ShouldBeRemoved = true; } }
public override void Update() { if (opened) { if (Manager.IsDockMode()) { if (IsInitialized < 0) { Manager.NativeManager.SetNextDock(InitialDockSlot); Manager.NativeManager.SetNextDockRate(InitialDockRate); if (InitialDockReset) { Manager.NativeManager.ResetNextParentDock(); } IsInitialized++; } if (Icon != null) { Manager.NativeManager.SetNextDockIcon(Icon, IconSize); } if (!String.IsNullOrEmpty(TabToolTip)) { Manager.NativeManager.SetNextDockTabToolTip(TabToolTip); } swig.WindowFlags flags = swig.WindowFlags.None; if (NoScrollBar) { flags = swig.WindowFlags.NoScrollbar; } if (NoPadding) { Manager.NativeManager.PushStyleVar(swig.ImGuiStyleVarFlags.WindowPadding, new swig.Vec2(0.0f, 0.0f)); } bool dockEnabled = Manager.NativeManager.BeginDock(Label, ref opened, flags, InitialDockSize); if (NoPadding) { Manager.NativeManager.PopStyleVar(); } if (dockEnabled) { UpdateInternal(); Controls.Lock(); foreach (var c in Controls.Internal) { c.Update(); } Controls.Unlock(); } if (InitialDockActive > 0) { Manager.NativeManager.SetDockActive(); InitialDockActive--; } Manager.NativeManager.EndDock(); } else { if (Manager.NativeManager.Begin(Label, ref opened)) { UpdateInternal(); Controls.Lock(); foreach (var c in Controls.Internal) { c.Update(); } Controls.Unlock(); } Manager.NativeManager.End(); } } else { ShouldBeRemoved = true; } }