Esempio n. 1
0
        /// <summary>
        /// Performs a redock operation upon specified windows.
        /// </summary>
        /// <param name="windows"></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(IEnumerable <DockWindow> windows, RedockTransactionReason reason, bool defaultAction)
        {
            if (!this.CanOperate())
            {
                return;
            }

            this.DockManager.BeginTransactionBlock(true);
            foreach (DockWindow window in windows)
            {
                this.Redock(window, reason, defaultAction);
            }
            this.DockManager.EndTransactionBlock();
        }
Esempio n. 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);
        }
Esempio n. 3
0
 /// <summary>
 /// Constructs a new <see cref="RedockTransaction">RedockTransaction</see> instance.
 /// </summary>
 /// <param name="state">The target <see cref="DockState">dock state</see> for the transaction.</param>
 /// <param name="windows"></param>
 /// <param name="defaultAction"></param>
 public RedockTransaction(DockState state, IEnumerable <DockWindow> windows, bool defaultAction)
     : base(state, windows)
 {
     this.performDefaultAction = defaultAction;
     this.reason = RedockTransactionReason.Explicit;
 }