diff options
author | David Pugh <dpugh@microsoft.com> | 2017-03-21 22:04:02 +0300 |
---|---|---|
committer | Lluis Sanchez <llsan@microsoft.com> | 2017-03-29 18:44:22 +0300 |
commit | 8a10cc7e27dad2a1c7bd51120e6e7a8af5aeaad1 (patch) | |
tree | 7e003cee5e685e89c48107990e207e80db241b1b /main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Editor | |
parent | c4957eb7668f72ea742b77fb88346ff28120da81 (diff) |
Yet another cut on adding ITextView to MD.
Diffstat (limited to 'main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Editor')
-rw-r--r-- | main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Editor/TextEditor.cs | 40 |
1 files changed, 23 insertions, 17 deletions
diff --git a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Editor/TextEditor.cs b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Editor/TextEditor.cs index 6c04ede5f1..84fed90a16 100644 --- a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Editor/TextEditor.cs +++ b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Editor/TextEditor.cs @@ -50,6 +50,8 @@ namespace MonoDevelop.Ide.Editor public sealed class TextEditor : Control, ITextDocument, IDisposable { readonly ITextEditorImpl textEditorImpl; + public readonly Microsoft.VisualStudio.Text.Editor.ITextView TextView; + IReadonlyTextDocument ReadOnlyTextDocument { get { return textEditorImpl.Document; } } ITextDocument ReadWriteTextDocument { get { return (ITextDocument)textEditorImpl.Document; } } @@ -968,6 +970,8 @@ namespace MonoDevelop.Ide.Editor provider.Dispose (); textEditorImpl.Dispose (); + this.TextView.Close();
+ base.Dispose (disposing); } @@ -1037,6 +1041,8 @@ namespace MonoDevelop.Ide.Editor FileNameChanged += TextEditor_FileNameChanged; MimeTypeChanged += TextEditor_MimeTypeChanged; TextEditor_MimeTypeChanged (null, null); + + this.TextView = Microsoft.VisualStudio.Platform.PlatformCatalog.Instance.TextEditorFactoryService.CreateTextView(this) as Microsoft.VisualStudio.Text.Editor.ITextView; } void TextEditor_FileNameChanged (object sender, EventArgs e) @@ -1408,7 +1414,7 @@ namespace MonoDevelop.Ide.Editor projectedProviders.ForEach ((obj) => { textEditorImpl.RemoveTooltipProvider (obj); obj.Dispose (); - }); + }); projectedProviders = new List<ProjectedTooltipProvider> (); foreach (var projection in projections) { @@ -1504,22 +1510,22 @@ namespace MonoDevelop.Ide.Editor internal ITextEditorImpl Implementation { get { return this.textEditorImpl; } } - [EditorBrowsable(EditorBrowsableState.Advanced)] - public IndentationTracker IndentationTracker - { - get - { - Runtime.AssertMainThread(); - return textEditorImpl.IndentationTracker; - } - set - { - Runtime.AssertMainThread(); - textEditorImpl.IndentationTracker = value; - } - } - - public event EventHandler FocusLost { add { textEditorImpl.FocusLost += value; } remove { textEditorImpl.FocusLost -= value; } } + [EditorBrowsable(EditorBrowsableState.Advanced)] + public IndentationTracker IndentationTracker + { + get + { + Runtime.AssertMainThread(); + return textEditorImpl.IndentationTracker; + } + set + { + Runtime.AssertMainThread(); + textEditorImpl.IndentationTracker = value; + } + } + + public event EventHandler FocusLost { add { textEditorImpl.FocusLost += value; } remove { textEditorImpl.FocusLost -= value; } } public new void GrabFocus () { |