/// <summary> /// Attempts to restore the state the window to the desired dock state. /// </summary> /// <param name="window"></param> /// <param name="state">The target state which is to be restored.</param> /// <param name="defaultAction">True to perform default action if no state is recorded for a window, false otherwise.</param> public void RestoreState(DockWindow window, DockState state, bool defaultAction) { if (!this.CanOperate()) { return; } RedockTransaction transaction = new RedockTransaction(state, new DockWindow[] { window }, defaultAction); this.DockManager.RegisterTransaction(transaction, true); }
/// <summary> /// Performs a redock operation upon specified window. /// </summary> /// <param name="window"></param> /// <param name="reason"></param> /// <param name="defaultAction">True to perform default action if no state is recorded for a window, false otherwise.</param> public void Redock(DockWindow window, RedockTransactionReason reason, bool defaultAction) { if (!this.CanOperate()) { return; } DockState state; if (window.DockState == DockState.Hidden) { state = window.PreviousDockState; } else { state = GetNewDockState(window.DockState); } RedockTransaction transaction = new RedockTransaction(state, new DockWindow[] { window }, defaultAction); transaction.Reason = reason; this.DockManager.RegisterTransaction(transaction, true); }