Exemplo n.º 1
0
        //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;
 }