/// <summary> /// 告知控制器在编辑器有修改的行 /// </summary> /// <param name="lineIndex"></param> /// <param name="content"></param> /// <returns></returns> public bool AskModifyNewLine(int lineIndex, String content) { ModifyLineEventArgs args = new ModifyLineEventArgs() { TargetLineIndex = lineIndex, NewContent = content }; return(ModifyLineEvent(this, args)); }
/// <summary> /// 编辑行事件处理 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> /// <returns></returns> bool ModifyLineEvent(object sender, ModifyLineEventArgs e) { if (TextDoc.GetLineCounts() > e.TargetLineIndex || e.TargetLineIndex <= 0) { return(false); } else { TextLine targetLine = this.TextDoc.GetTextLineByIndex(e.TargetLineIndex); if (targetLine == null) { return(false); } targetLine.EditContent(e.NewContent); targetLine.Mark = LineMarkType.Changed; MessageQueues.MessagesToSend.Enqueue(MessageWrapper.WriteMsg(this.CallerID, this.Identity, MessageType.UPD, targetLine.ID, e.NewContent)); return(true); } }