示例#1
0
        /// <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);
        }
示例#2
0
        /// <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);
        }