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 @@
using System; using System;
using System.Diagnostics; using System.Diagnostics;
using System.Windows;
namespace ICSharpCode.WpfDesign.Extensions namespace ICSharpCode.WpfDesign.Extensions
{ {
@ -32,5 +33,19 @@ namespace ICSharpCode.WpfDesign.Extensions
/// </remarks> /// </remarks>
public abstract class Extension 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
foreach (ExtensionEntry entry in GetExtensionEntries(item)) { foreach (ExtensionEntry entry in GetExtensionEntries(item)) {
if (entry.Server == server) { 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); yield return server.CreateExtension(entry.ExtensionType, item);
} }
} }

Loading…
Cancel
Save