/// <summary> /// 添加新行事件处理 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> /// <returns></returns> bool AddNewLineEvent(object sender, AddNewLineEventArgs e) { if (this.TextDoc.InsertLine(TextDoc.GetTextLineByIndex(e.TargetLineIndex), out TextLine newLine)) { newLine.EditContent(e.NewLineContent); MessageQueues.MessagesToSend.Enqueue(MessageWrapper.WriteMsg(this.CallerID, this.Identity, MessageType.ADD, newLine.ID, e.NewLineContent)); return(true); } else { return(false); } }
/// <summary> /// 删除行事件处理 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> /// <returns></returns> bool DeleteLineEvent(object sender, DeleteLineEventArgs e) { TextLine targetLine = TextDoc.GetTextLineByIndex(e.TargetLineIndex); if (targetLine == null) { return(false); } if (this.TextDoc.MarkDeleteLine(targetLine)) { MessageQueues.MessagesToSend.Enqueue(MessageWrapper.WriteMsg(this.CallerID, this.Identity, MessageType.DEL, targetLine.ID, null)); return(true); } else { return(false); } }
/// <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); } }