Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/monodevelop.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Hutchinson <mhutchinson@novell.com>2010-05-19 08:36:41 +0400
committerMichael Hutchinson <mhutchinson@novell.com>2010-05-19 08:36:41 +0400
commit6e7cdc6cf102c98bd724c06a175374f1a34a73b2 (patch)
treed1f01667e18fcf837b5e2b29e993f7823210b37c /main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.CodeTemplates
parent963efbcd4c40d52b1659f41358a4a72d35e4c533 (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.cs17
-rw-r--r--main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.CodeTemplates/CodeTemplateCompletionData.cs9
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);
}
-
}
}