public void ReloadDocument(Document doc, bool silent) { if (!silent) { OpenDocument(doc); ReadDocumentFile(sci, doc.FileInfo); } else { var sciDoc = ((TextDocument)doc).GetSciDocument(); if (sci.GetCurrentDocument() == sciDoc) { OpenDocument(doc); ReadDocumentFile(sci, doc.FileInfo); } else { using (var sciTemp = new BasicScintillaControl()) { sciTemp.AttachDocument(sciDoc); ReadDocumentFile(sciTemp, doc.FileInfo); } } } doc.IsDirty = false; }
TextLocation ITextEditor.GetLocationFromPosition(Document doc, int pos) { using (var sciTemp = new BasicScintillaControl()) { sciTemp.AttachDocument(((TextDocument)doc).GetSciDocument()); var line = sciTemp.GetLineFromPosition(pos); var col = sciTemp.GetColumnFromPosition(pos); return(new TextLocation(line, col)); } }
string ITextEditor.GetContent(Document doc, int lineNumber) { if (doc == App.Document()) { return(sci.GetLine(lineNumber).Text); } else { using (var sciTemp = new BasicScintillaControl()) { sciTemp.AttachDocument(((TextDocument)doc).GetSciDocument()); return(sciTemp.GetLine(lineNumber).Text); } } }
string ITextEditor.GetContent(Document doc, int start, int length) { if (doc == App.Document()) { return(sci.GetTextRangeUnicode(start, start + length)); } else { using (var sciTemp = new BasicScintillaControl()) { sciTemp.AttachDocument(((TextDocument)doc).GetSciDocument()); return(sciTemp.GetTextRangeUnicode(start, start + length)); } } }
void ITextEditor.SetContent(Document doc, string text) { if (doc == App.Document()) { sci.SetText(text); } else { using (var sciTemp = new BasicScintillaControl()) { sciTemp.AttachDocument(((TextDocument)doc).GetSciDocument()); sciTemp.SetText(text); } } }
private void InternalCompile(object obj) { var doc = (CodeDocument)obj; var src = String.Empty; sci.Invoke(() => { using (var sciTemp = new BasicScintillaControl()) { sciTemp.AttachDocument(doc.GetSciDocument()); src = sciTemp.GetTextUnicode(); } }); if (!String.IsNullOrWhiteSpace(src)) { var ret = default(Tuple <ICompiledUnit, IEnumerable <MessageItem> >); try { ret = compiler.Compile(doc, src); } catch { } if (ret != null) { doc.Unit = ret.Item1; if (service.HighlightErrors) { doc.Messages = ret.Item2; sci.Invoke(() => app.GetService <IOutlinerService>().Outline(doc)); } else { doc.Messages = null; } doc.UnitVersion = doc.Version; } } Thread.Sleep(1000); thread = null; }
private void InternalCompile(object obj) { var doc = (CodeDocument)obj; var src = String.Empty; sci.Invoke(() => { using (var sciTemp = new BasicScintillaControl()) { sciTemp.AttachDocument(doc.GetSciDocument()); src = sciTemp.GetTextUnicode(); } }); if (!String.IsNullOrWhiteSpace(src)) { var ret = default(Tuple<ICompiledUnit, IEnumerable<MessageItem>>); try { ret = compiler.Compile(doc, src); } catch { } if (ret != null) { doc.Unit = ret.Item1; if (service.HighlightErrors) { doc.Messages = ret.Item2; sci.Invoke(() => app.GetService<IOutlinerService>().Outline(doc)); } else doc.Messages = null; doc.UnitVersion = doc.Version; } } Thread.Sleep(1000); thread = null; }