2007-06-08 Ivan N. Zlatev <contact@i-nz.net>
authorIvan Zlatev <ivan@ivanz.com>
Fri, 8 Jun 2007 20:36:48 +0000 (20:36 -0000)
committerIvan Zlatev <ivan@ivanz.com>
Fri, 8 Jun 2007 20:36:48 +0000 (20:36 -0000)
* ToolboxItem.cs: Implement some 2.0 stuff.
Fix events not to get fired twice.

svn path=/trunk/mcs/; revision=78995

mcs/class/System.Drawing/System.Drawing.Design/ChangeLog
mcs/class/System.Drawing/System.Drawing.Design/ToolboxItem.cs

index 32b8c1a320e6db499da23d1e8cdc1fd0392fc076..cb78b019e6e8419a2015db8702ae6934a908497d 100644 (file)
@@ -1,3 +1,8 @@
+2007-06-08  Ivan N. Zlatev <contact@i-nz.net>
+
+       * ToolboxItem.cs: Implement some 2.0 stuff.
+       Fix events not to get fired twice.
+
 2007-06-06  Alan McGovern <alan.mcgovern@gmail.com>
 
        * ToolboxItem.cs: Fixed typo in event firing
index a03838e8bffaf10d4d61b3bedffb503fd908dff0..c40c38bf452a0767a63d1e5a471a9b99f1c71ea1 100644 (file)
@@ -151,7 +151,7 @@ namespace System.Drawing.Design
                {\r
                        OnComponentsCreating (new ToolboxComponentsCreatingEventArgs (host));\r
                        IComponent[] Comp = CreateComponentsCore (host);\r
-                       OnComponentsCreated ( new ToolboxComponentsCreatedEventArgs (Comp));\r
+                       OnComponentsCreated (new ToolboxComponentsCreatedEventArgs (Comp));\r
                        return Comp;\r
                }\r
 \r
@@ -160,8 +160,6 @@ namespace System.Drawing.Design
                {\r
                        if (host == null)\r
                                throw new ArgumentNullException("host");\r
-\r
-                       OnComponentsCreating(new ToolboxComponentsCreatingEventArgs(host));\r
                        \r
                        IComponent[] components;\r
                        Type type = GetType(host, AssemblyName, TypeName, true);\r
@@ -170,30 +168,28 @@ namespace System.Drawing.Design
                        else\r
                                components = new IComponent[] { host.CreateComponent(type) };\r
 \r
-                       OnComponentsCreated(new ToolboxComponentsCreatedEventArgs(components));\r
                        return components;\r
                }\r
 \r
 #if NET_2_0\r
-               [MonoTODO] \r
                protected virtual IComponent[] CreateComponentsCore (IDesignerHost host, IDictionary defaultValues)\r
                {\r
-                       throw new NotImplementedException ();\r
+                       IComponent[] components = CreateComponentsCore (host);\r
+                       foreach (Component c in components) {\r
+                               IComponentInitializer initializer = host.GetDesigner (c) as IComponentInitializer;\r
+                               initializer.InitializeNewComponent (defaultValues);\r
+                       }\r
+                       return components;\r
                } \r
 \r
-               [MonoTODO] \r
                public IComponent[] CreateComponents (IDesignerHost host, IDictionary defaultValues)\r
                {\r
-                       throw new NotImplementedException ();\r
-               } \r
+                       OnComponentsCreating (new ToolboxComponentsCreatingEventArgs (host));\r
+                       IComponent[] components = CreateComponentsCore (host,  defaultValues);\r
+                       OnComponentsCreated (new ToolboxComponentsCreatedEventArgs (components));\r
 \r
-               [MonoNotSupported("")] \r
-               public Type GetType (IDesignerHost host)\r
-               {\r
-                       if (host == null)\r
-                               return null;\r
-                       throw new NotImplementedException ();\r
-               }\r
+                       return components;\r
+               } \r
 \r
                protected virtual object FilterPropertyValue (string propertyName, object value)\r
                {\r
@@ -242,6 +238,11 @@ namespace System.Drawing.Design
                        return string.Concat (TypeName, DisplayName).GetHashCode ();\r
                }\r
 \r
+               public Type GetType (IDesignerHost host)\r
+               {\r
+                       return GetType (host, this.AssemblyName,  this.TypeName,  false);\r
+               }\r
+\r
                protected virtual Type GetType (IDesignerHost host, AssemblyName assemblyName, string typeName, bool reference)\r
                {\r
                        if (typeName == null)\r