Author: mkrueger
Date: 2008-02-06 08:39:08 -0500 (Wed, 06 Feb 2008)
New Revision: 95022

Modified:
   trunk/monodevelop/main/src/core/MonoDevelop.Ide/ChangeLog
   
trunk/monodevelop/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui/DisplayBindingService.cs
Log:
* MonoDevelop.Ide.Gui/DisplayBindingService.cs: Fixed bug in display
  binding service.

Modified: trunk/monodevelop/main/src/core/MonoDevelop.Ide/ChangeLog
===================================================================
--- trunk/monodevelop/main/src/core/MonoDevelop.Ide/ChangeLog   2008-02-06 
13:24:30 UTC (rev 95021)
+++ trunk/monodevelop/main/src/core/MonoDevelop.Ide/ChangeLog   2008-02-06 
13:39:08 UTC (rev 95022)
@@ -1,3 +1,8 @@
+2008-02-06  Mike Krüger <[EMAIL PROTECTED]> 
+
+       * MonoDevelop.Ide.Gui/DisplayBindingService.cs: Fixed bug in display 
binding
+         service.
+
 2008-02-05  Michael Hutchinson <[EMAIL PROTECTED]> 
 
        * MonoDevelop.Ide.Gui/ProjectOperations.cs: End build and run operations

Modified: 
trunk/monodevelop/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui/DisplayBindingService.cs
===================================================================
--- 
trunk/monodevelop/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui/DisplayBindingService.cs
        2008-02-06 13:24:30 UTC (rev 95021)
+++ 
trunk/monodevelop/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui/DisplayBindingService.cs
        2008-02-06 13:39:08 UTC (rev 95022)
@@ -42,17 +42,10 @@
        public class DisplayBindingService
        {
                readonly static string displayBindingPath = 
"/MonoDevelop/Ide/DisplayBindings";
-               List<DisplayBindingCodon> bindings = null;
-
-               public DisplayBindingService ()
-               {
-                       bindings = new List<DisplayBindingCodon> ();
-                       AddinManager.AddExtensionNodeHandler 
(displayBindingPath, OnExtensionChanged);
-               }
                
                public IDisplayBinding LastBinding {
                        get {
-                               return bindings[0].DisplayBinding;
+                               return 
((DisplayBindingCodon)AddinManager.GetExtensionNodes 
(displayBindingPath)[0]).DisplayBinding;
                        }
                }
                
@@ -64,7 +57,7 @@
                
                public IDisplayBinding GetBindingForMimeType (string mimeType)
                {
-                       foreach (DisplayBindingCodon binding in bindings) {
+                       foreach (DisplayBindingCodon binding in 
AddinManager.GetExtensionNodes (displayBindingPath)) {
                                if (binding.DisplayBinding != null && 
binding.DisplayBinding.CanCreateContentForMimeType (mimeType)) {
                                        return binding.DisplayBinding;
                                }
@@ -74,13 +67,12 @@
                
                public IDisplayBinding[] GetBindingsForMimeType (string 
mimeType)
                {
-                       ArrayList list = new ArrayList ();
-                       foreach (DisplayBindingCodon binding in bindings) {
-                               if (binding.DisplayBinding != null && 
binding.DisplayBinding.CanCreateContentForMimeType (mimeType)) {
-                                       list.Add (binding.DisplayBinding);
-                               }
+                       List<IDisplayBinding> result = new 
List<IDisplayBinding> ();
+                       foreach (DisplayBindingCodon binding in 
AddinManager.GetExtensionNodes (displayBindingPath)) {
+                               if (binding.DisplayBinding != null && 
binding.DisplayBinding.CanCreateContentForMimeType (mimeType)) 
+                                       result.Add (binding.DisplayBinding);
                        }
-                       return (IDisplayBinding[]) list.ToArray 
(typeof(IDisplayBinding));
+                       return result.ToArray ();
                }
                
                internal DisplayBindingCodon GetCodonPerFileName(string 
filename)
@@ -90,14 +82,13 @@
                        vfsname = vfsname.Replace ("#", "%23");
                        vfsname = vfsname.Replace ("?", "%3F");
                        string mimetype = 
IdeApp.Services.PlatformService.GetMimeTypeForUri (vfsname);
-
-                       foreach (DisplayBindingCodon binding in bindings) {
+                       foreach (DisplayBindingCodon binding in 
AddinManager.GetExtensionNodes (displayBindingPath)) {
                                if (binding.DisplayBinding != null && 
binding.DisplayBinding.CanCreateContentForFile(filename)) {
                                        return binding;
                                }
                        }
                        if (!filename.StartsWith ("http")) {
-                               foreach (DisplayBindingCodon binding in 
bindings) {
+                               foreach (DisplayBindingCodon binding in 
AddinManager.GetExtensionNodes (displayBindingPath)) {
                                        if (binding.DisplayBinding != null && 
binding.DisplayBinding.CanCreateContentForMimeType (mimetype)) {
                                                return binding;
                                        }
@@ -108,19 +99,11 @@
                
                internal void AttachSubWindows(IWorkbenchWindow workbenchWindow)
                {
-                       foreach (DisplayBindingCodon binding in bindings) {
+                       foreach (DisplayBindingCodon binding in 
AddinManager.GetExtensionNodes (displayBindingPath)) {
                                if (binding.SecondaryDisplayBinding != null && 
binding.SecondaryDisplayBinding.CanAttachTo(workbenchWindow.ViewContent)) {
                                        
workbenchWindow.AttachSecondaryViewContent(binding.SecondaryDisplayBinding.CreateSecondaryViewContent(workbenchWindow.ViewContent));
                                }
                        }
                }
-               
-               void OnExtensionChanged (object s, ExtensionNodeEventArgs args)
-               {
-                       if (args.Change == ExtensionChange.Add)
-                               bindings.Add 
((DisplayBindingCodon)args.ExtensionNode);
-                       else
-                               bindings.Remove 
((DisplayBindingCodon)args.ExtensionNode);
-               }
        }
 }

_______________________________________________
Mono-patches maillist  -  [email protected]
http://lists.ximian.com/mailman/listinfo/mono-patches

Reply via email to