private void ProcessRemoveControl(WorkItem workItem, Control control) { #region MdiTabWorkspace if (control is Form) { UltraMdiTabWorkspace mdiManager = MdiParentManager.GetTabbedMdiManager((Form)control) as UltraMdiTabWorkspace; if (mdiManager != null) { this.RemoveItem(workItem, mdiManager); } } #endregion //MdiTabWorkspace #region ToolbarsManagerWorkspace UltraToolbarsManagerWorkspace toolbarMgr = UltraToolbarsManager.FromContainer(control) as UltraToolbarsManagerWorkspace; if (toolbarMgr != null) { this.RemoveItem(workItem, toolbarMgr); } #endregion //ToolbarsManagerWorkspace #region UltraDockWorkspace if (control is AutoHideControl) { // if there is an mdi tab workspace, register it using its name UltraDockWorkspace dockManager = ((AutoHideControl)control).Owner as UltraDockWorkspace; if (dockManager != null) { this.RemoveItem(workItem, dockManager); foreach (DockableControlPane pane in dockManager.ControlPanes) { if (null != pane.Control) { this.RemoveItem(workItem, pane.Control); } } } } #endregion //UltraDockWorkspace }
private void ProcessAddControl(WorkItem workItem, Control control) { // replace any place holders if (control is ISmartPartPlaceholder) { this.ReplacePlaceHolder(workItem, control as ISmartPartPlaceholder); } #region MdiTabWorkspace if (control is Form) { // if there is an mdi tab workspace, register it using its name UltraMdiTabWorkspace mdiManager = MdiParentManager.GetTabbedMdiManager((Form)control) as UltraMdiTabWorkspace; if (mdiManager != null) { this.AddItem(workItem, mdiManager, mdiManager.WorkspaceName); } } #endregion //MdiTabWorkspace #region ToolbarsManagerWorkspace UltraToolbarsManagerWorkspace toolbarMgr = UltraToolbarsManager.FromContainer(control) as UltraToolbarsManagerWorkspace; if (toolbarMgr != null) { // be sure to add it as workspace if it is one this.AddItem(workItem, toolbarMgr, toolbarMgr.WorkspaceName); } #endregion //ToolbarsManagerWorkspace #region UltraDockWorkspace if (control is AutoHideControl) { // if there is an mdi tab workspace, register it using its name UltraDockWorkspace dockManager = ((AutoHideControl)control).Owner as UltraDockWorkspace; if (dockManager != null) { this.AddItem(workItem, dockManager, dockManager.WorkspaceName); foreach (DockableControlPane pane in dockManager.ControlPanes) { if (null != pane.Control) { this.ProcessAddControl(workItem, pane.Control); } } } } #endregion //UltraDockWorkspace // account for other info - placeholder, smart part, etc. if (this.AddItem(workItem, control, control.Name) == false) { // iterate the children foreach (Control child in control.Controls) { ProcessAddControl(workItem, child); } } }