Browse Source

Possibilities to disable Extensions

pull/604/head
jkuehner 12 years ago
parent
commit
0d69188c47
  1. 15
      src/AddIns/DisplayBindings/WpfDesign/WpfDesign/Project/Extensions/Extension.cs
  2. 3
      src/AddIns/DisplayBindings/WpfDesign/WpfDesign/Project/Extensions/ExtensionManager.cs

15
src/AddIns/DisplayBindings/WpfDesign/WpfDesign/Project/Extensions/Extension.cs

@ -18,6 +18,7 @@ @@ -18,6 +18,7 @@
using System;
using System.Diagnostics;
using System.Windows;
namespace ICSharpCode.WpfDesign.Extensions
{
@ -32,5 +33,19 @@ namespace ICSharpCode.WpfDesign.Extensions @@ -32,5 +33,19 @@ namespace ICSharpCode.WpfDesign.Extensions
/// </remarks>
public abstract class Extension
{
public static string GetDisabledExtensions(DependencyObject obj)
{
return (string)obj.GetValue(DisabledExtensionsProperty);
}
public static void SetDisabledExtensions(DependencyObject obj, string value)
{
obj.SetValue(DisabledExtensionsProperty, value);
}
public static readonly DependencyProperty DisabledExtensionsProperty =
DependencyProperty.RegisterAttached("DisabledExtensions", typeof(string), typeof(Extension), new PropertyMetadata(null));
}
}

3
src/AddIns/DisplayBindings/WpfDesign/WpfDesign/Project/Extensions/ExtensionManager.cs

@ -151,6 +151,9 @@ namespace ICSharpCode.WpfDesign.Extensions @@ -151,6 +151,9 @@ namespace ICSharpCode.WpfDesign.Extensions
foreach (ExtensionEntry entry in GetExtensionEntries(item)) {
if (entry.Server == server) {
var disabledExtensions = Extension.GetDisabledExtensions(item.View);
if (disabledExtensions == null || !disabledExtensions.Split(';').Contains(entry.ExtensionType.Name))
yield return server.CreateExtension(entry.ExtensionType, item);
}
}

Loading…
Cancel
Save