//public void ShowDockWindow<T>() where T : DockWindow //{ // var w = FindWindow<T>(); // if( w != null && w.KryptonPage != null ) // w.KryptonPage.Show(); //} public WorkspaceController(Control ownerControl, EditorForm editorForm) { this.ownerControl = ownerControl; this.editorForm = editorForm; this.dockableWorkspaceControl = ownerControl.Controls.OfType <KryptonDockableWorkspace>().First(); dockingManager = new KryptonDockingManager(); var dockingWorkspace = new KryptonDockingWorkspace("DockingWorkspace", "Filler", dockableWorkspaceControl); dockingManager.Add(dockingWorkspace); if (this is WorkspaceControllerForForm) { var controlElement = new KryptonDockingControl("DockingControl", ownerControl, dockingWorkspace); dockingManager.Add(controlElement); } var floatingElement = new KryptonDockingFloating("DockingFloating", editorForm); dockingManager.Add(floatingElement); dockingManager.PageLoading += DockingManager_PageLoading; dockingManager.PageSaving += DockingManager_PageSaving; dockingManager.RecreateLoadingPage += DockingManager_RecreateLoadingPage; dockingManager.OrphanedPages += DockingManager_OrphanedPages; dockingManager.PageCloseRequest += DockingManager_PageCloseRequest; dockableWorkspaceControl.WorkspaceCellAdding += DockableWorkspace_WorkspaceCellAdding; dockableWorkspaceControl.WorkspaceCellRemoved += DockableWorkspace_WorkspaceCellRemoved; dockableWorkspaceControl.CellPageInserting += DockableWorkspaceControl_CellPageInserting; }
/// <summary> /// Initialize a new instance of the DockableWorkspaceCellEventArgs class. /// </summary> /// <param name="workspace">Reference to existing dockable workspace control instance.</param> /// <param name="element">Reference to docking workspace element that is managing the dockable workspace control.</param> /// <param name="cell">Reference to workspace control cell instance.</param> public DockableWorkspaceCellEventArgs(KryptonDockableWorkspace workspace, KryptonDockingWorkspace element, KryptonWorkspaceCell cell) { DockableWorkspaceControl = workspace; WorkspaceElement = element; CellControl = cell; }
/// <summary> /// Initialize a new instance of the KryptonDockingWorkspace class. /// </summary> /// <param name="name">Initial name of the element.</param> /// <param name="storeName">Name to use for storage pages.</param> /// <param name="workspace">Reference to workspace to manage.</param> public KryptonDockingWorkspace(string name, string storeName, KryptonDockableWorkspace workspace) : base(name, storeName) { SpaceControl = workspace ?? throw new ArgumentNullException(nameof(workspace)); DockableWorkspaceControl.CellPageInserting += OnSpaceCellPageInserting; DockableWorkspaceControl.BeforePageDrag += OnDockableWorkspaceBeforePageDrag; }
/// <summary> /// Initialize a new instance of the DockableWorkspaceEventArgs class. /// </summary> /// <param name="workspace">Reference to dockable workspace control instance.</param> /// <param name="element">Reference to docking workspace element that is managing the dockable workspace control.</param> public DockableWorkspaceEventArgs(KryptonDockableWorkspace workspace, KryptonDockingWorkspace element) { DockableWorkspaceControl = workspace; DockingWorkspaceElement = element; }