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:
authorLluis Sanchez <lluis@novell.com>2010-01-28 22:57:51 +0300
committerLluis Sanchez <lluis@novell.com>2010-01-28 22:57:51 +0300
commit2e04a269e5ac542bf79687656b0fede06c9ee7db (patch)
tree1bd004a06df7f7025f1da143326c4dfa724be500 /main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Templates
parent7d87287fa5a0da1b885774b3227e363938c1f0b8 (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.cs14
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 ();