protected void UndoAction_SetItemText(int aItemNo, int aOffset, string aNewText) { HCUndoList vUndoList = GetUndoList(); if ((vUndoList != null) && vUndoList.Enable) { HCUndo vUndo = vUndoList.Last; if (vUndo != null) { HCSetItemTextUndoAction vTextAction = vUndo.ActionAppend(UndoActionTag.uatSetItemText, aItemNo, aOffset, Items[aItemNo].ParaFirst) as HCSetItemTextUndoAction; vTextAction.NewText = aNewText; } } }
private void UndoRedoSetItemText(HCCustomUndoAction aAction, bool aIsUndo, ref int aCaretItemNo, ref int aCaretOffset) { HCSetItemTextUndoAction vAction = aAction as HCSetItemTextUndoAction; aCaretItemNo = vAction.ItemNo; if (aIsUndo) { Items[vAction.ItemNo].Text = vAction.Text; aCaretOffset = vAction.Offset; } else { Items[vAction.ItemNo].Text = vAction.NewText; aCaretOffset = vAction.NewText.Length; } }
public HCCustomUndoAction ActionAppend(HCAction aTag, int aItemNo, int aOffset, bool aParaFirst) { HCCustomUndoAction Result = null; switch (aTag) { case HCAction.actBackDeleteText: case HCAction.actDeleteText: case HCAction.actInsertText: Result = new HCTextUndoAction(); break; case HCAction.actSetItemText: Result = new HCSetItemTextUndoAction(); break; case HCAction.actDeleteItem: case HCAction.actInsertItem: case HCAction.actItemMirror: Result = new HCItemUndoAction(); break; //case HCAction.actItemProperty: // Result = new HCItemParaFirstUndoAction(); // break; case HCAction.actItemSelf: Result = new HCItemSelfUndoAction(); break; default: Result = new HCCustomUndoAction(); break; } Result.Tag = aTag; Result.ItemNo = aItemNo; Result.Offset = aOffset; Result.ParaFirst = aParaFirst; this.Actions.Add(Result); return(Result); }