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:
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);
}
-
}
}