diff options
author | Lluis Sanchez <lluis@novell.com> | 2010-01-28 22:57:51 +0300 |
---|---|---|
committer | Lluis Sanchez <lluis@novell.com> | 2010-01-28 22:57:51 +0300 |
commit | 2e04a269e5ac542bf79687656b0fede06c9ee7db (patch) | |
tree | 1bd004a06df7f7025f1da143326c4dfa724be500 /main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Templates | |
parent | 7d87287fa5a0da1b885774b3227e363938c1f0b8 (diff) |
* MonoDevelop.Ide.Templates/ISolutionItemFeature.cs:
* MonoDevelop.Ide.Gui.Dialogs/CombineEntryFeatureSelector.cs: Add
different levels of support for project features.
svn path=/trunk/monodevelop/; revision=150451
Diffstat (limited to 'main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Templates')
-rw-r--r-- | main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Templates/ISolutionItemFeature.cs | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Templates/ISolutionItemFeature.cs b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Templates/ISolutionItemFeature.cs index 06ed38e1d6..6d614acb50 100644 --- a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Templates/ISolutionItemFeature.cs +++ b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Templates/ISolutionItemFeature.cs @@ -34,13 +34,20 @@ using Mono.Addins; namespace MonoDevelop.Ide.Templates { + public enum FeatureSupportLevel + { + NotSupported, + Enabled, + Supported, + SupportedByDefault + } + public interface ISolutionItemFeature { - bool SupportsSolutionItem (SolutionFolder parentCombine, SolutionItem entry); + FeatureSupportLevel GetSupportLevel (SolutionFolder parentCombine, SolutionItem entry); string Title { get; } string Description { get; } Gtk.Widget CreateFeatureEditor (SolutionFolder parentCombine, SolutionItem entry); - bool IsEnabled (SolutionFolder parentCombine, SolutionItem entry); string Validate (SolutionFolder parentCombine, SolutionItem entry, Gtk.Widget editor); void ApplyFeature (SolutionFolder parentCombine, SolutionItem entry, Gtk.Widget editor); } @@ -51,7 +58,8 @@ namespace MonoDevelop.Ide.Templates { List<ISolutionItemFeature> list = new List<ISolutionItemFeature> (); foreach (ISolutionItemFeature e in AddinManager.GetExtensionObjects ("/MonoDevelop/Ide/ProjectFeatures", typeof(ISolutionItemFeature), true)) { - if (e.SupportsSolutionItem (parentCombine, entry)) + FeatureSupportLevel level = e.GetSupportLevel (parentCombine, entry); + if (level == FeatureSupportLevel.Enabled || level == FeatureSupportLevel.SupportedByDefault) list.Add (e); } return list.ToArray (); |