protected override bool DoAcceptAction(int aItemNo, int aOffset, HCAction aAction) { bool Result = base.DoAcceptAction(aItemNo, aOffset, aAction); if (Result && (aAction == HCAction.actDeleteItem)) { if (Items[aItemNo].StyleNo == HCStyle.Domain) { if ((Items[aItemNo] as HCDomainItem).MarkType == MarkType.cmtEnd) { int vItemNo = GetDomainAnother(aItemNo); // 找起始 Result = (vItemNo >= SelectInfo.StartItemNo) && (vItemNo <= SelectInfo.EndItemNo); if (Result) { FDomainStartDeletes.Add(vItemNo); // 记录下来 } } else // 域起始标记 { Result = FDomainStartDeletes.IndexOf(aItemNo) >= 0; // 结束标识已经删除了 } } } return(Result); }
public override bool AcceptAction(int aOffset, HCAction aAction) { bool Result = base.AcceptAction(aOffset, aAction); if (Result) { if (this.IsElement) { if ((aAction == HCAction.actInsertText) || (aAction == HCAction.actBackDeleteText) || (aAction == HCAction.actDeleteText)) { Result = !FEditProtect; } else if (aAction == HCAction.actDeleteItem) { Result = FDeleteAllow; } } else { Result = !FEditProtect; } } if (!Result) { User.MessageBeep(0); } return(Result); }
protected override bool DoAcceptAction(int aItemNo, int aOffset, HCAction aAction) { bool vResult = true; if (Style.States.Contain(HCState.hosLoading) || Style.States.Contain(HCState.hosUndoing) || Style.States.Contain(HCState.hosRedoing) ) { return(vResult); } if (aAction == HCAction.actDeleteItem) { if (Items[aItemNo].StyleNo == HCStyle.Annotate) // 是批注 { vResult = false; } } if (vResult) { vResult = base.DoAcceptAction(aItemNo, aOffset, aAction); } return(vResult); }
public override bool AcceptAction(int aOffset, bool aRestrain, HCAction aAction) { bool vR = base.AcceptAction(aOffset, aRestrain, aAction); if (vR && FHyperLink != "" && aAction == HCAction.actConcatText) { vR = false; } return(vR); }
public override bool AcceptAction(int aOffset, bool aRestrain, HCAction aAction) { bool vResult = base.AcceptAction(aOffset, aRestrain, aAction); if (vResult) { switch (aAction) { case HCAction.actInsertText: if (FEditProtect) // 两头允许输入,触发actConcatText时返回供Data层处理新TextItem还是连接 { vResult = (aOffset == 0) || (aOffset == this.Length); } break; case HCAction.actConcatText: if (FEditProtect) { vResult = false; } else if (IsElement) { vResult = false; } break; case HCAction.actBackDeleteText: if (FEditProtect) { vResult = aOffset == 0; } break; case HCAction.actDeleteText: if (FEditProtect) { vResult = aOffset == this.Length; } break; } } return(vResult); }
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); }
protected override void DoItemAction(int aItemNo, int aOffset, HCAction aAction) { switch (aAction) { case HCAction.actDeleteItem: _AnnotateRemove(aItemNo, aOffset); break; case HCAction.actInsertText: _AnnotateInsertChar(aItemNo, aOffset); break; case HCAction.actBackDeleteText: _AnnotateBackChar(aItemNo, aOffset); break; case HCAction.actDeleteText: _AnnotateDeleteChar(aItemNo, aOffset); break; } }
public virtual bool AcceptAction(int aOffset, bool aRestrain, HCAction aAction) { return(true); }