private void scint_MarkerChanged(object sender, ScintillaNet.MarkerChangedEventArgs e) { if (e.Line < 0) { return; } // note e.modification type is useless bool isAdding = false; if (scint.Markers.GetMarkerMask(e.Line) != 0) { isAdding = true; } if (isAdding) { parent.BreakpointChanged(isAdding, this.FileName, e.Line); } }
/// <summary> /// Raises the <see cref="MarkerChanged"/> event. /// </summary> /// <param name="e">An <see cref="MarkerChangedEventArgs"/> that contains the event data.</param> protected virtual void OnMarkerChanged(MarkerChangedEventArgs e) { EventHandler<MarkerChangedEventArgs> handler = Events[_markerChangedEventKey] as EventHandler<MarkerChangedEventArgs>; if (handler != null) handler(this, e); }
private void Scintilla_MarkerChanged(object sender, MarkerChangedEventArgs args) { if (this.Mode.Equals("DEBUG")) { if (args.Line > -1) { if (isDebugTraceMarkerChanged == false) { int mask = this.ActiveDocument.Scintilla.Markers.GetMarkerMask(this.ActiveDocument.Scintilla.Lines[args.Line]); if (mask == 0 || mask == 4) { this.mainForm.debuggerPanel1.sendDeleteBreakPointCommand(new GameEditor.Debugger.BreakPoint(this.ActiveDocument.Text, (args.Line + 1).ToString())); } else if (mask == 1 || mask == 5) { Line line = this.ActiveDocument.Scintilla.Lines[args.Line]; if (line.Text.StartsWith("--") || line.Text.StartsWith("\t\r\n") || line.Text.StartsWith("\n") || line.Text.StartsWith("\r")) { line.DeleteMarker(0); return; } this.mainForm.debuggerPanel1.sendAddBreakPointCommand(new GameEditor.Debugger.BreakPoint(this.ActiveDocument.Text, (args.Line + 1).ToString())); } } } } }
internal void FireModified(NativeScintillaEventArgs ea) { // First we fire the INativeScintilla Modified event. if(Events[_modifiedEventKey] != null) ((EventHandler<NativeScintillaEventArgs>)Events[_modifiedEventKey])(this, ea); // Now we use raw information from the Modified event to construct // some more user friendly Events to fire. SCNotification scn = ea.SCNotification; int modType = scn.modificationType; if((modType & TEXT_MODIFIED_FLAGS) > 0) { TextModifiedEventArgs mea = new TextModifiedEventArgs ( modType, (modType & Constants.SC_PERFORMED_USER) != 0, scn.line, scn.position, scn.length, scn.linesAdded, Utilities.IntPtrToString(_encoding, scn.text, scn.length) ); // Adding in TextChanged because it's really common to // just want to know when the damned text changed bool textChanged = false; // These messages all get fired seperately hence the if else ifs if ((modType & Constants.SC_MOD_BEFOREDELETE) > 0) { OnBeforeTextDelete(mea); textChanged = true; } else if ((modType & Constants.SC_MOD_BEFOREINSERT) > 0) { OnBeforeTextInsert(mea); textChanged = true; } else if ((modType & Constants.SC_MOD_DELETETEXT) > 0) { OnTextDeleted(mea); textChanged = true; } else if ((modType & Constants.SC_MOD_INSERTTEXT) > 0) { OnTextInserted(mea); textChanged = true; } if (textChanged) { _textChangedTimer.Start(); } } else if((modType & Constants.SC_MOD_CHANGEFOLD) > 0) { FoldChangedEventArgs fea = new FoldChangedEventArgs(scn.line, scn.foldLevelNow, scn.foldLevelPrev, scn.modificationType); OnFoldChanged(fea); } else if((modType & Constants.SC_MOD_CHANGESTYLE) > 0) { StyleChangedEventArgs sea = new StyleChangedEventArgs(scn.position, scn.length, scn.modificationType); OnStyleChanged(sea); } else if((modType & Constants.SC_MOD_CHANGEMARKER) > 0) { MarkerChangedEventArgs mea = new MarkerChangedEventArgs(scn.line, scn.modificationType); OnMarkerChanged(mea); } OnDocumentChange(ea); }