/// <summary> /// Constructor /// </summary> /// <param name="syntaxEditorControl"></param> /// <param name="mouseLocation"></param> /// <param name="menuLocation"></param> /// <param name="lineNumber"></param> public ShowContextMenuEventArg(ISyntaxEditorControl syntaxEditorControl, Point mouseLocation, Point menuLocation, int lineNumber) { SyntaxEditorControl = syntaxEditorControl; LineNumber = lineNumber; MenuLocation = menuLocation; MouseLocation = mouseLocation; }
/// <summary> /// Set the ISyntaxEditorControl to use highlighting from the SledDocumentSyntaxHighlighter</summary> /// <param name="highlighter">SledDocumentSyntaxHighlighter to use</param> /// <param name="syntaxEditor">ISyntaxEditorControl</param> public static void FeedHighlighterToSyntaxEditor(SledDocumentSyntaxHighlighter highlighter, ISyntaxEditorControl syntaxEditor) { if (syntaxEditor == null) return; var bSuccess = false; try { if (highlighter == null) return; if (highlighter.Highlighter == null) return; var hl = highlighter.Highlighter; if (hl is Languages) { syntaxEditor.SetLanguage((Languages)hl); bSuccess = true; } else if (hl is Stream) { syntaxEditor.SetLanguage((Stream)hl); bSuccess = true; } else if (hl is LanguageStreamPair) { var pair = (LanguageStreamPair)hl; syntaxEditor.SetLanguage(pair.BaseLanguage, pair.LanguageDefinition); bSuccess = true; } } catch (Exception) { bSuccess = false; } finally { if (!bSuccess) syntaxEditor.SetLanguage(Languages.Text); } }
private static string GetLineText(ISyntaxEditorControl control, int line) { try { return control.GetLineText(line); } catch (ArgumentOutOfRangeException) { return string.Empty; } }