public HResult SetBuffer(INiTextLines textBuffer) { try { if (textBuffer == null) { throw new ArgumentNullException("textBuffer"); } if (_textLines != null) { _textLines.BeginUpdate -= _textLines_BeginUpdate; _textLines.EndUpdate -= _textLines_EndUpdate; } _textLines = (NiTextLines)textBuffer; if (_textLines != null) { Control.Document = _textLines.Document; _textLines.BeginUpdate += _textLines_BeginUpdate; _textLines.EndUpdate += _textLines_EndUpdate; } return(HResult.OK); } catch (Exception ex) { return(ErrorUtil.GetHResult(ex)); } }
public override HResult CreateEditor(string document, out string editorCaption, out INiWindowPane editor) { editor = null; editorCaption = null; try { INiTextLines textLines = null; // If we were opened from a real document or hier, set a text buffer. // NiOpenDocumentManager will initialize this. if (document != null) { var registry = (INiLocalRegistry)GetService(typeof(INiLocalRegistry)); object instance; var hr = registry.CreateInstance(new Guid(NiConstants.TextLines), this, out instance); if (ErrorUtil.Failure(hr)) { return(hr); } textLines = (INiTextLines)instance; Guid languageServiceId; hr = ((INiLanguageServiceRegistry)GetService(typeof(INiLanguageServiceRegistry))).FindForFileName( document, out languageServiceId ); if (ErrorUtil.Failure(hr)) { return(hr); } hr = textLines.SetLanguageServiceID(languageServiceId); if (ErrorUtil.Failure(hr)) { return(hr); } } editor = new TextEditorWindow(textLines); editor.SetSite(this); return(HResult.OK); } catch (Exception ex) { return(ErrorUtil.GetHResult(ex)); } }
protected override INiIsolationClient CreateWindow() { var env = (INiEnv)GetService(typeof(INiEnv)); var registry = (INiLocalRegistry)GetService(typeof(INiLocalRegistry)); INiEditorFactory editorFactory; ErrorUtil.ThrowOnFailure(env.GetStandardEditorFactory(new Guid(NiConstants.TextEditor), null, out editorFactory)); string unused; INiWindowPane windowPane; ErrorUtil.ThrowOnFailure(editorFactory.CreateEditor(null, out unused, out windowPane)); var window = (INiCodeWindow)windowPane; ErrorUtil.ThrowOnFailure(window.Initialize()); object instance; ErrorUtil.ThrowOnFailure(registry.CreateInstance(new Guid(NiConstants.TextLines), windowPane, out instance)); _textBuffer = (INiTextLines)instance; ErrorUtil.ThrowOnFailure(window.SetBuffer(TextBuffer)); if (!String.IsNullOrEmpty(_text)) { SetText(_text); _text = null; } _listener = new Listener(this); return(window); }
public TextEditorWindow(INiTextLines textLines) { _textLines = (NiTextLines)textLines; }
public HResult GetBuffer(out INiTextLines textBuffer) { textBuffer = _textLines; return(HResult.OK); }
public HResult GetBuffer(out INiTextLines textBuffer) { textBuffer = _textLines; return HResult.OK; }
public HResult SetBuffer(INiTextLines textBuffer) { try { if (textBuffer == null) throw new ArgumentNullException("textBuffer"); if (_textLines != null) { _textLines.BeginUpdate -= _textLines_BeginUpdate; _textLines.EndUpdate -= _textLines_EndUpdate; } _textLines = (NiTextLines)textBuffer; if (_textLines != null) { Control.Document = _textLines.Document; _textLines.BeginUpdate += _textLines_BeginUpdate; _textLines.EndUpdate += _textLines_EndUpdate; } return HResult.OK; } catch (Exception ex) { return ErrorUtil.GetHResult(ex); } }