예제 #1
0
        private protected virtual void UndoInsertNewBlock(IWriteableOperation operation)
        {
            IWriteableInsertBlockOperation InsertBlockOperation = (IWriteableInsertBlockOperation)operation;
            IWriteableRemoveBlockOperation RemoveBlockOperation = InsertBlockOperation.ToRemoveBlockOperation();

            ExecuteRemoveBlock(RemoveBlockOperation);
        }
예제 #2
0
        private protected virtual void UndoInsertNewNode(IWriteableOperation operation)
        {
            WriteableInsertNodeOperation InsertNodeOperation = (WriteableInsertNodeOperation)operation;
            WriteableRemoveNodeOperation RemoveNodeOperation = InsertNodeOperation.ToRemoveNodeOperation();

            ExecuteRemoveNode(RemoveNodeOperation);
        }
예제 #3
0
        private protected virtual void UndoExpandBlockList(IWriteableOperation operation)
        {
            WriteableExpandArgumentOperation ExpandArgumentOperation = (WriteableExpandArgumentOperation)operation;
            IWriteableRemoveBlockOperation   RemoveBlockOperation    = ExpandArgumentOperation.ToRemoveBlockOperation();

            ExecuteRemoveBlock(RemoveBlockOperation);
        }
예제 #4
0
        private protected virtual void UndoSplitBlock(IWriteableOperation operation)
        {
            WriteableSplitBlockOperation  SplitBlockOperation  = (WriteableSplitBlockOperation)operation;
            WriteableMergeBlocksOperation MergeBlocksOperation = SplitBlockOperation.ToMergeBlocksOperation();

            ExecuteMergeBlocks(MergeBlocksOperation);
        }
예제 #5
0
        private protected virtual void UndoChangeDiscreteValue(IWriteableOperation operation)
        {
            WriteableChangeDiscreteValueOperation ChangeDiscreteValueOperation = (WriteableChangeDiscreteValueOperation)operation;

            ChangeDiscreteValueOperation = ChangeDiscreteValueOperation.ToInverseChange();

            ExecuteChangeDiscreteValue(ChangeDiscreteValueOperation);
        }
예제 #6
0
        private protected virtual void UndoMove(IWriteableOperation operation)
        {
            WriteableMoveNodeOperation MoveNodeOperation = (WriteableMoveNodeOperation)operation;

            MoveNodeOperation = MoveNodeOperation.ToInverseMove();

            ExecuteMove(MoveNodeOperation);
        }
예제 #7
0
        private protected virtual void UndoChangeComment(IWriteableOperation operation)
        {
            WriteableChangeCommentOperation ChangeCommentOperation = (WriteableChangeCommentOperation)operation;

            ChangeCommentOperation = ChangeCommentOperation.ToInverseChange();

            ExecuteChangeComment(ChangeCommentOperation);
        }
예제 #8
0
        private protected virtual void UndoChangeReplication(IWriteableOperation operation)
        {
            WriteableChangeBlockOperation ChangeBlockOperation = (WriteableChangeBlockOperation)operation;

            ChangeBlockOperation = ChangeBlockOperation.ToInverseChange();

            ExecuteChangeReplication(ChangeBlockOperation);
        }
예제 #9
0
        private protected virtual void UndoReplace(IWriteableOperation operation)
        {
            IWriteableReplaceOperation ReplaceOperation = (IWriteableReplaceOperation)operation;

            ReplaceOperation = ReplaceOperation.ToInverseReplace();

            ExecuteReplace(ReplaceOperation);
        }
예제 #10
0
        private protected virtual void UndoAssign(IWriteableOperation operation)
        {
            WriteableAssignmentOperation AssignmentOperation = (WriteableAssignmentOperation)operation;

            AssignmentOperation = AssignmentOperation.ToInverseAssignment();

            ExecuteUnassign(AssignmentOperation);
        }
예제 #11
0
        private protected virtual void SetLastOperation(IWriteableOperation operation)
        {
            WriteableOperationList OperationList = CreateOperationList();

            OperationList.Add(operation);
            WriteableOperationReadOnlyList OperationReadOnlyList = OperationList.ToReadOnly();
            WriteableOperationGroup        OperationGroup        = CreateOperationGroup(OperationReadOnlyList, null);

            SetLastOperation(OperationGroup);
        }
        /// <summary>
        /// Execute all operations in the group.
        /// </summary>
        public virtual void Redo()
        {
            for (int i = 0; i < OperationList.Count; i++)
            {
                IWriteableOperation Operation = OperationList[i];
                Operation.Redo();
            }

            if (Refresh != null)
            {
                Refresh.Redo();
            }
        }
        /// <summary>
        /// Undo all operations in the group.
        /// </summary>
        public virtual void Undo()
        {
            for (int i = OperationList.Count; i > 0; i--)
            {
                IWriteableOperation Operation = OperationList[i - 1];
                Operation.Undo();
            }

            if (Refresh != null)
            {
                Refresh.Redo();
            }
        }
예제 #14
0
        private protected virtual void ExecuteReplaceWithCycle(IWriteableOperation operation)
        {
            IFocusReplaceWithCycleOperation ReplaceWithCycleOperation = (IFocusReplaceWithCycleOperation)operation;

            Node   ParentNode   = ReplaceWithCycleOperation.ParentNode;
            string PropertyName = ReplaceWithCycleOperation.PropertyName;
            IFocusInner <IFocusBrowsingChildIndex> Inner = GetInner(ParentNode, PropertyName) as IFocusInner <IFocusBrowsingChildIndex>;

            ReplaceState(ReplaceWithCycleOperation, Inner);

            IFocusCyclableNodeState NewState = StateTable[ReplaceWithCycleOperation.NewBrowsingIndex] as IFocusCyclableNodeState;

            Debug.Assert(NewState != null);

            NewState.RestoreCycleIndexList(ReplaceWithCycleOperation.CycleIndexList);

            NotifyStateReplaced(ReplaceWithCycleOperation);
        }
예제 #15
0
 void ICollection <IWriteableOperation> .Add(IWriteableOperation item)
 {
     Add((IFocusOperation)item);
 }
예제 #16
0
 int IList <IWriteableOperation> .IndexOf(IWriteableOperation value)
 {
     return(IndexOf((IFocusOperation)value));
 }
예제 #17
0
 void IList <IWriteableOperation> .Insert(int index, IWriteableOperation item)
 {
     Insert(index, (IFocusOperation)item);
 }
 bool IWriteableOperationReadOnlyList.Contains(IWriteableOperation value)
 {
     return(Contains((IFocusOperation)value));
 }
 int IWriteableOperationReadOnlyList.IndexOf(IWriteableOperation value)
 {
     return(IndexOf((IFocusOperation)value));
 }
예제 #20
0
        private protected virtual void RedoInsertNewBlock(IWriteableOperation operation)
        {
            IWriteableInsertBlockOperation InsertBlockOperation = (IWriteableInsertBlockOperation)operation;

            ExecuteInsertNewBlock(InsertBlockOperation);
        }
예제 #21
0
        private protected virtual void RedoInsertNewNode(IWriteableOperation operation)
        {
            WriteableInsertNodeOperation InsertNodeOperation = (WriteableInsertNodeOperation)operation;

            ExecuteInsertNewNode(InsertNodeOperation);
        }
예제 #22
0
        private protected virtual void RedoMergeBlocks(IWriteableOperation operation)
        {
            WriteableMergeBlocksOperation MergeBlocksOperation = (WriteableMergeBlocksOperation)operation;

            ExecuteMergeBlocks(MergeBlocksOperation);
        }
예제 #23
0
        private protected virtual void RedoMove(IWriteableOperation operation)
        {
            WriteableMoveNodeOperation MoveNodeOperation = (WriteableMoveNodeOperation)operation;

            ExecuteMove(MoveNodeOperation);
        }
예제 #24
0
 bool ICollection <IWriteableOperation> .Contains(IWriteableOperation value)
 {
     return(Contains((IFocusOperation)value));
 }
예제 #25
0
        private protected virtual void RedoReplace(IWriteableOperation operation)
        {
            IWriteableReplaceOperation ReplaceOperation = (IWriteableReplaceOperation)operation;

            ExecuteReplace(ReplaceOperation);
        }
예제 #26
0
 void ICollection <IWriteableOperation> .Add(IWriteableOperation item)
 {
     Add((ILayoutOperation)item);
 }
예제 #27
0
 bool ICollection <IWriteableOperation> .Remove(IWriteableOperation item)
 {
     return(Remove((IFocusOperation)item));
 }
예제 #28
0
        private protected virtual void RedoAssign(IWriteableOperation operation)
        {
            WriteableAssignmentOperation AssignmentOperation = (WriteableAssignmentOperation)operation;

            ExecuteAssign(AssignmentOperation);
        }
        private protected virtual void RedoRefresh(IWriteableOperation operation)
        {
            WriteableGenericRefreshOperation GenericRefreshOperation = (WriteableGenericRefreshOperation)operation;

            ExecuteRefresh(GenericRefreshOperation);
        }
예제 #30
0
        private protected virtual void RedoSplitBlock(IWriteableOperation operation)
        {
            WriteableSplitBlockOperation SplitBlockOperation = (WriteableSplitBlockOperation)operation;

            ExecuteSplitBlock(SplitBlockOperation);
        }