diff options
author | Michael Hutchinson <mhutchinson@novell.com> | 2010-05-19 08:36:41 +0400 |
---|---|---|
committer | Michael Hutchinson <mhutchinson@novell.com> | 2010-05-19 08:36:41 +0400 |
commit | 6e7cdc6cf102c98bd724c06a175374f1a34a73b2 (patch) | |
tree | d1f01667e18fcf837b5e2b29e993f7823210b37c /main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.CodeTemplates | |
parent | 963efbcd4c40d52b1659f41358a4a72d35e4c533 (diff) |
* src/core/MonoDevelop.Ide/MonoDevelop.Ide.CodeTemplates/CodeTemplate.cs:
* src/core/MonoDevelop.Ide/MonoDevelop.Ide.CodeTemplates/CodeTemplateCompletionData.cs:
* src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Content/CompletionTextEditorExtension.cs:
Make code template insertion API less confusing.
* src/addins/MonoDevelop.SourceEditor2/MonoDevelop.SourceEditor/ExtensibleTextEditor.cs:
Track code template API.
* src/addins/MonoDevelop.SourceEditor2/MonoDevelop.SourceEditor/SourceEditorView.cs:
Track code template API and toolbox API.
* src/addins/MonoDevelop.DesignerSupport/MonoDevelop.DesignerSupport.Toolbox/TextToolboxNode.cs:
* src/addins/MonoDevelop.DesignerSupport/MonoDevelop.DesignerSupport.Toolbox/ITextToolboxNode.cs:
* src/addins/MonoDevelop.DesignerSupport/MonoDevelop.DesignerSupport.Toolbox/TemplateToolboxNode.cs:
Give text toolbox nodes more control over how they insert text into
the document.
* src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet.Parser/DocumentReferenceManager.cs:
Make prefix generation and directive insertion APIs more flexible.
* src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet.Parser/PageInfo.cs:
Make it possible to inject directives to an existing info.
* src/addins/AspNet/MonoDevelop.AspNet/Makefile.am:
* src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet.csproj:
* src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet.Parser/PageDirectiveVisitor.cs:
Removed unneeded class.
* src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet/AspNetToolboxNode.cs:
Use new ItextToolboxItem and DocumentReferenceManager APIs to insert
new directives into the DOM only when the item is actually inserted
into the editor. Fixes Bug 543721 - Auto-added control directives
sometimes fail.
svn path=/trunk/monodevelop/; revision=157524
Diffstat (limited to 'main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.CodeTemplates')
-rw-r--r-- | main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.CodeTemplates/CodeTemplate.cs | 17 | ||||
-rw-r--r-- | main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.CodeTemplates/CodeTemplateCompletionData.cs | 9 |
2 files changed, 17 insertions, 9 deletions
diff --git a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.CodeTemplates/CodeTemplate.cs b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.CodeTemplates/CodeTemplate.cs index d2ec677110..306472251a 100644 --- a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.CodeTemplates/CodeTemplate.cs +++ b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.CodeTemplates/CodeTemplate.cs @@ -52,7 +52,7 @@ namespace MonoDevelop.Ide.CodeTemplates InExpression } - public interface ITemplateWidget + public interface ICodeTemplateContextProvider { CodeTemplateContext GetCodeTemplateContext (); } @@ -354,7 +354,20 @@ namespace MonoDevelop.Ide.CodeTemplates return result.ToString (); } - public TemplateResult InsertTemplate (MonoDevelop.Ide.Gui.Document document) + public void Insert (MonoDevelop.Ide.Gui.Document document) + { + var handler = document.GetContent<ICodeTemplateHandler> (); + if (handler != null) { + handler.InsertTemplate (this, document); + } else { + InsertTemplateContents (document); + } + } + + /// <summary> + /// Don't use this unless you're implementing ICodeTemplateWidget. Use Insert instead. + /// </summary> + public TemplateResult InsertTemplateContents (MonoDevelop.Ide.Gui.Document document) { ProjectDom dom = document.Dom; ParsedDocument doc = document.ParsedDocument ?? MonoDevelop.Projects.Dom.Parser.ProjectDomService.GetParsedDocument (dom, document.FileName); diff --git a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.CodeTemplates/CodeTemplateCompletionData.cs b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.CodeTemplates/CodeTemplateCompletionData.cs index 315057bc64..bb6721d0c1 100644 --- a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.CodeTemplates/CodeTemplateCompletionData.cs +++ b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.CodeTemplates/CodeTemplateCompletionData.cs @@ -32,7 +32,7 @@ using MonoDevelop.Core; namespace MonoDevelop.Ide.CodeTemplates { - public interface ICodeTemplateWidget + public interface ICodeTemplateHandler { void InsertTemplate (CodeTemplate template, Document document); } @@ -54,12 +54,7 @@ namespace MonoDevelop.Ide.CodeTemplates public override void InsertCompletionText (CompletionListWindow window) { - if (window.CompletionWidget is ICodeTemplateWidget) { - ((ICodeTemplateWidget)window.CompletionWidget).InsertTemplate (template, doc); - } else { - template.InsertTemplate (doc); - } + template.Insert (doc); } - } } |