本文整理匯總了C#中AtomicUndoOperation類的典型用法代碼示例。如果您正苦於以下問題:C# AtomicUndoOperation類的具體用法?C# AtomicUndoOperation怎麽用?C# AtomicUndoOperation使用的例子?那麽, 這裏精選的類代碼示例或許可以為您提供幫助。
AtomicUndoOperation類屬於命名空間,在下文中一共展示了AtomicUndoOperation類的6個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的C#代碼示例。
示例1: EndAtomicUndo
internal void EndAtomicUndo ()
{
if (atomicUndoLevel <= 0)
throw new InvalidOperationException ("There is no atomic undo operation running.");
atomicUndoLevel--;
Debug.Assert (atomicUndoLevel >= 0);
if (atomicUndoLevel == 0 && currentAtomicOperation != null) {
if (currentAtomicOperation.Operations.Count > 1) {
undoStack.Push (currentAtomicOperation);
OnEndUndo (new UndoOperationEventArgs (currentAtomicOperation));
} else {
if (currentAtomicOperation.Operations.Count > 0) {
undoStack.Push (currentAtomicOperation.Operations [0]);
OnEndUndo (new UndoOperationEventArgs (currentAtomicOperation.Operations [0]));
} else {
OnEndUndo (null);
}
}
currentAtomicOperation = null;
}
currentAtomicUndoOperationType.Pop ();
}
示例2: BeginAtomicUndo
internal void BeginAtomicUndo (OperationType operationType = OperationType.Undefined)
{
currentAtomicUndoOperationType.Push (operationType);
if (atomicUndoLevel == 0) {
if (this.syntaxMode != null && !SuppressHighlightUpdate)
Mono.TextEditor.Highlighting.SyntaxModeService.WaitUpdate (this);
}
if (currentAtomicOperation == null) {
Debug.Assert (atomicUndoLevel == 0);
currentAtomicOperation = new AtomicUndoOperation (operationType);
OnBeginUndo ();
}
atomicUndoLevel++;
}
示例3: MergeUndoOperations
public void MergeUndoOperations (int number)
{
number = System.Math.Min (number, undoStack.Count);
var atomicUndo = new AtomicUndoOperation ();
while (number-- > 0) {
atomicUndo.Insert (0, undoStack.Pop ());
}
undoStack.Push (atomicUndo);
}
示例4: StackUndoToDepth
public void StackUndoToDepth (int depth)
{
if (undoStack.Count == depth)
return;
var atomicUndo = new AtomicUndoOperation ();
while (undoStack.Count > depth) {
atomicUndo.Operations.Insert (0, undoStack.Pop ());
}
undoStack.Push (atomicUndo);
}
示例5: BeginAtomicUndo
public void BeginAtomicUndo ()
{
if (atomicUndoLevel == 0) {
if (this.syntaxMode != null && !SuppressHighlightUpdate)
Mono.TextEditor.Highlighting.SyntaxModeService.WaitUpdate (this);
}
if (currentAtomicOperation == null) {
Debug.Assert (atomicUndoLevel == 0);
currentAtomicOperation = new AtomicUndoOperation ();
OnBeginUndo ();
}
atomicUndoLevel++;
}
示例6: BeginAtomicUndo
internal void BeginAtomicUndo (OperationType operationType = OperationType.Undefined)
{
currentAtomicUndoOperationType.Push (operationType);
if (currentAtomicOperation == null) {
Debug.Assert (atomicUndoLevel == 0);
currentAtomicOperation = new AtomicUndoOperation (operationType);
OnBeginUndo ();
}
atomicUndoLevel++;
}