void ChangePanel(BaseVisualElementPanel p) { if (panel == p) { return; } if (panel != null) { using (var e = DetachFromPanelEvent.GetPooled(panel, p)) { e.target = this; elementPanel.SendEvent(e, DispatchMode.Immediate); } } IPanel prevPanel = panel; elementPanel = p; if (panel != null) { using (var e = AttachToPanelEvent.GetPooled(prevPanel, p)) { e.target = this; elementPanel.SendEvent(e, DispatchMode.Immediate); } } // styles are dependent on topology IncrementVersion(VersionChangeType.StyleSheet | VersionChangeType.Layout | VersionChangeType.Transform); // persistent data key may have changed or needs initialization if (!string.IsNullOrEmpty(persistenceKey)) { IncrementVersion(VersionChangeType.PersistentData); } }
internal virtual void ChangePanel(BaseVisualElementPanel p) { if (panel == p) { return; } if (panel != null) { using (var e = DetachFromPanelEvent.GetPooled()) { e.target = this; UIElementsUtility.eventDispatcher.DispatchEvent(e, panel); } } elementPanel = p; if (panel != null) { using (var e = AttachToPanelEvent.GetPooled()) { e.target = this; UIElementsUtility.eventDispatcher.DispatchEvent(e, panel); } } Dirty(ChangeType.Styles); if (m_Children != null && m_Children.Count > 0) { for (var index = 0; index < m_Children.Count; index++) { var child = m_Children[index]; child.ChangePanel(p); } } }