dotgnu-pnet-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Dotgnu-pnet-commits] CVS: pnetlib/System/ComponentModel DesignerCategor


From: Rhys Weatherley <address@hidden>
Subject: [Dotgnu-pnet-commits] CVS: pnetlib/System/ComponentModel DesignerCategoryAttribute.cs,NONE,1.1 AttributeCollection.cs,1.1,1.2 BaseNumberConverter.cs,1.2,1.3 Component.cs,1.3,1.4 ComponentCollection.cs,1.1,1.2 Container.cs,1.3,1.4 EditorAttribute.cs,1.2,1.3 EditorBrowsableAttribute.cs,1.2,1.3 IBindingList.cs,1.1,1.2 ITypeDescriptorContext.cs,1.2,1.3InvalidEnumArgumentException.cs,1.3,1.4 ListBindableAttribute.cs,1.2,1.3 ListChangedEventArgs.cs,1.3,1.4 LocalizableAttribute.cs,1.2,1.3 Makefile,1.1,1.2 NotifyParentPropertyAttribute.cs,1.2,1.3ReadOnlyAttribute.cs,1.2,1.3 RecommendedAsConfigurableAttribute.cs,1.2,1.3 RefreshPropertiesAttribute.cs,1.2,1.3 ToolboxItemAttribute.cs,1.2,1.3 WarningException.cs,1.3,1.4 Win32Exception.cs,1.5,1.6
Date: Sat, 19 Apr 2003 22:57:21 -0400

Update of /cvsroot/dotgnu-pnet/pnetlib/System/ComponentModel
In directory subversions:/tmp/cvs-serv6384/System/ComponentModel

Modified Files:
        AttributeCollection.cs BaseNumberConverter.cs Component.cs 
        ComponentCollection.cs Container.cs EditorAttribute.cs 
        EditorBrowsableAttribute.cs IBindingList.cs 
        ITypeDescriptorContext.cs InvalidEnumArgumentException.cs 
        ListBindableAttribute.cs ListChangedEventArgs.cs 
        LocalizableAttribute.cs Makefile 
        NotifyParentPropertyAttribute.cs ReadOnlyAttribute.cs 
        RecommendedAsConfigurableAttribute.cs 
        RefreshPropertiesAttribute.cs ToolboxItemAttribute.cs 
        WarningException.cs Win32Exception.cs 
Added Files:
        DesignerCategoryAttribute.cs 
Log Message:


Implement some of the TODO's in "System.ComponentModel".


--- NEW FILE ---
/*
 * DesignerCategoryAttribute.cs - Implementation of the
 *                      "System.ComponentModel.DesignerCategoryAttribute" class.
 *
 * Copyright (C) 2003  Southern Storm Software, Pty Ltd.
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 */

namespace System.ComponentModel
{

#if !ECMA_COMPAT

[AttributeUsage(AttributeTargets.Class)]
public sealed class DesignerCategoryAttribute : Attribute
{
        // Internal state.
        private String category;

        // Pre-defined attribute values.
        public static readonly DesignerCategoryAttribute Component =
                        new DesignerCategoryAttribute("Component");
        public static readonly DesignerCategoryAttribute Form =
                        new DesignerCategoryAttribute("Form");
        public static readonly DesignerCategoryAttribute Generic =
                        new DesignerCategoryAttribute("Generic");

        // Constructors.
        public DesignerCategoryAttribute()
                        {
                                this.category = String.Empty;
                        }
        public DesignerCategoryAttribute(String category)
                        {
                                this.category = category;
                        }

        // Get the attribute's value.
        public String Category
                        {
                                get
                                {
                                        return category;
                                }
                        }

        // Get the type identifier for this attribute.
        public override Object TypeId
                        {
                                get
                                {
                                        return GetType();
                                }
                        }

        // Determine if two instances of this class are equal.
        public override bool Equals(Object obj)
                        {
                                DesignerCategoryAttribute other =
                                                (obj as 
DesignerCategoryAttribute);
                                if(other != null)
                                {
                                        return (category == other.category);
                                }
                                else
                                {
                                        return false;
                                }
                        }

        // Get the hash code for this attribute.
        public override int GetHashCode()
                        {
                                if(category != null)
                                {
                                        return category.GetHashCode();
                                }
                                else
                                {
                                        return 0;
                                }
                        }

        // Determine if this is the default attribute value.
        public override bool IsDefaultAttribute()
                        {
                                return (category == null || category == 
String.Empty);
                        }

}; // class DesignerCategoryAttribute

#endif // !ECMA_COMPAT

}; // namespace System.ComponentModel

Index: AttributeCollection.cs
===================================================================
RCS file: 
/cvsroot/dotgnu-pnet/pnetlib/System/ComponentModel/AttributeCollection.cs,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -r1.1 -r1.2
*** AttributeCollection.cs      3 Dec 2002 00:18:55 -0000       1.1
--- AttributeCollection.cs      20 Apr 2003 02:57:19 -0000      1.2
***************
*** 3,7 ****
   *            "System.ComponentModel.ComponentModel.AttributeCollection" 
class.
   *
!  * Copyright (C) 2002  Southern Storm Software, Pty Ltd.
   *
   * This program is free software; you can redistribute it and/or modify
--- 3,7 ----
   *            "System.ComponentModel.ComponentModel.AttributeCollection" 
class.
   *
!  * Copyright (C) 2002, 2003  Southern Storm Software, Pty Ltd.
   *
   * This program is free software; you can redistribute it and/or modify
***************
*** 26,38 ****
  
  using System.Collections;
  using System.Runtime.InteropServices;
  
- [TODO]
  [ComVisible(true)]
! public class AttributeCollection
  {
!       // TODO
  
!       public AttributeCollection(Attribute[] attributes) {}
  
  }; // class AttributeCollection
--- 26,184 ----
  
  using System.Collections;
+ using System.Reflection;
  using System.Runtime.InteropServices;
  
  [ComVisible(true)]
! public class AttributeCollection : ICollection, IEnumerable
  {
!       // Internal state.
!       private ArrayList coll;
  
!       // The empty attribute collection.
!       public static readonly AttributeCollection Empty
!                       = new AttributeCollection(null);
! 
!       // Constructor.
!       public AttributeCollection(Attribute[] attributes)
!                       {
!                               coll = new ArrayList();
!                               if(attributes != null)
!                               {
!                                       coll.AddRange(attributes);
!                               }
!                       }
! 
!       // Implement the ICollection interface.
!       public void CopyTo(Array array, int index)
!                       {
!                               coll.CopyTo(array, index);
!                       }
!       public int Count
!                       {
!                               get
!                               {
!                                       return coll.Count;
!                               }
!                       }
!       public bool IsSynchronized
!                       {
!                               get
!                               {
!                                       return false;
!                               }
!                       }
!       public Object SyncRoot
!                       {
!                               get
!                               {
!                                       return this;
!                               }
!                       }
! 
!       // Implement the IEnumerable interface.
!       public IEnumerator GetEnumerator()
!                       {
!                               return coll.GetEnumerator();
!                       }
! 
!       // Get an element from this collection, by index.
!       public virtual Attribute this[int index]
!                       {
!                               get
!                               {
!                                       return (Attribute)(coll[index]);
!                               }
!                       }
! 
!       // Get an element from this collection, by type.
!       public virtual Attribute this[Type type]
!                       {
!                               get
!                               {
!                                       foreach(Attribute attr in coll)
!                                       {
!                                               if(attr != null && 
attr.GetType() == type)
!                                               {
!                                                       return attr;
!                                               }
!                                       }
!                                       return GetDefaultAttribute(type);
!                               }
!                       }
! 
!       // Determine if this collection contains a particular attribute.
!       public bool Contains(Attribute attr)
!                       {
!                               return coll.Contains(attr);
!                       }
! 
!       // Determine if this collection contains a list of attributes.
!       public bool Contains(Attribute[] attributes)
!                       {
!                               if(attributes != null)
!                               {
!                                       foreach(Attribute attr in attributes)
!                                       {
!                                               if(!Contains(attr))
!                                               {
!                                                       return false;
!                                               }
!                                       }
!                               }
!                               return true;
!                       }
! 
!       // Get the default attribute value of a particular type.
!       protected Attribute GetDefaultAttribute(Type attributeType)
!                       {
!                               FieldInfo field = attributeType.GetField
!                                       ("Default", BindingFlags.Public | 
BindingFlags.Static);
!                               if(field != null)
!                               {
!                                       return 
(Attribute)(field.GetValue(null));
!                               }
!                               else
!                               {
!                                       Attribute attr;
!                                       attr = 
(Attribute)(Activator.CreateInstance(attributeType));
!                                       if(attr != null && 
attr.IsDefaultAttribute())
!                                       {
!                                               return attr;
!                                       }
!                                       else
!                                       {
!                                               return null;
!                                       }
!                               }
!                       }
! 
!       // Determine if an attribute matches something in the collection.
!       public bool Matches(Attribute attr)
!                       {
!                               foreach(Attribute attr2 in coll)
!                               {
!                                       if(attr2 != null && attr2.Match(attr))
!                                       {
!                                               return true;
!                                       }
!                               }
!                               return false;
!                       }
! 
!       // Determine if all attributes in a list match something.
!       public bool Matches(Attribute[] attributes)
!                       {
!                               if(attributes != null)
!                               {
!                                       foreach(Attribute attr in attributes)
!                                       {
!                                               if(!Matches(attr))
!                                               {
!                                                       return false;
!                                               }
!                                       }
!                               }
!                               return true;
!                       }
  
  }; // class AttributeCollection

Index: BaseNumberConverter.cs
===================================================================
RCS file: 
/cvsroot/dotgnu-pnet/pnetlib/System/ComponentModel/BaseNumberConverter.cs,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -r1.2 -r1.3
*** BaseNumberConverter.cs      31 Dec 2002 06:40:28 -0000      1.2
--- BaseNumberConverter.cs      20 Apr 2003 02:57:19 -0000      1.3
***************
*** 32,40 ****
        public class BaseNumberConverter: TypeConverter
        {
!               [TODO]
!               public BaseNumberConverter()
!               {
!                       throw new NotImplementedException(".ctor");
!               }
  
        }
--- 32,37 ----
        public class BaseNumberConverter: TypeConverter
        {
!               // Constructor - nothing to do.
!               public BaseNumberConverter() {}
  
        }

Index: Component.cs
===================================================================
RCS file: /cvsroot/dotgnu-pnet/pnetlib/System/ComponentModel/Component.cs,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -r1.3 -r1.4
*** Component.cs        10 Jan 2003 23:33:31 -0000      1.3
--- Component.cs        20 Apr 2003 02:57:19 -0000      1.4
***************
*** 1,8 ****
  /*
!  * Component.cs - Implementation of "System.ComponentModel.Component" class 
   *
-  * Copyright (C) 2002  Southern Storm Software, Pty Ltd.
-  * Copyright (C) 2002  Free Software Foundation, Inc.
-  * 
   * This program is free software; you can redistribute it and/or modify
   * it under the terms of the GNU General Public License as published by
--- 1,8 ----
  /*
!  * Component.cs - Implementation of the
!  *            "System.ComponentModel.Component" class.
!  *
!  * Copyright (C) 2003  Southern Storm Software, Pty Ltd.
   *
   * This program is free software; you can redistribute it and/or modify
   * it under the terms of the GNU General Public License as published by
***************
*** 20,113 ****
   */
  
- using System;
- 
  namespace System.ComponentModel
  {
- #if !ECMA_COMPAT
-       public class Component: MarshalByRefObject, IDisposable, IComponent
-       {
-               [TODO]
-               public Component()
-               {
-                       throw new NotImplementedException(".ctor");
-               }
- 
-               [TODO]
-               public void Dispose()
-               {
-                       throw new NotImplementedException("Dispose");
-               }
- 
-               [TODO]
-               protected virtual void Dispose(bool release_all)
-               {
-                       throw new NotImplementedException("Dispose");
-               }
  
!               [TODO]
!               ~Component()
!               {
!                       // TODO
!               }
! 
!               [TODO]
!               protected virtual Object GetService(Type service)
!               {
!                       throw new NotImplementedException("GetService");
!               }
  
!               [TODO]
!               public override String ToString()
!               {
!                       throw new NotImplementedException("ToString");
!               }
  
!               public IContainer Container 
!               {
!                       get
!                       {
!                               throw new NotImplementedException("Container");
                        }
-               }
  
!               protected bool DesignMode 
!               {
!                       get
!                       {
!                               throw new NotImplementedException("DesignMode");
!                       }
!               }
  
!               protected EventHandlerList Events 
!               {
!                       get
!                       {
!                               throw new NotImplementedException("Events");
!                       }
!               }
  
!               public virtual ISite Site 
!               {
!                       get
!                       {
!                               throw new NotImplementedException("Site");
!                       }
!                       set
!                       {
!                               throw new NotImplementedException("Site");
!                       }
!               }
!               public event EventHandler Disposed
!               {
!                       add
!                       {
!                               throw new NotImplementedException("Disposed");
!                       }
!                       remove
!                       {
!                               throw new NotImplementedException("Disposed");
!                       }
!               }
!       }
! #endif
! }//namespace
--- 20,180 ----
   */
  
  namespace System.ComponentModel
  {
  
! #if !ECMA_COMPAT
  
! using System;
  
! public class Component : MarshalByRefObject, IComponent, IDisposable
! {
!       // Internal state.
!       private static readonly Object disposedId = new Object();
!       private EventHandlerList events;
!       private ISite site;
! 
!       // Constructor.
!       public Component() {}
! 
!       // Destructor.
!       ~Component()
!                       {
!                               Dispose(false);
!                       }
! 
!       // Get this component's container.
!       public IContainer Container
!                       {
!                               get
!                               {
!                                       if(site != null)
!                                       {
!                                               return site.Container;
!                                       }
!                                       else
!                                       {
!                                               return null;
!                                       }
!                               }
!                       }
! 
!       // Determine if this component is in "design mode".
!       protected bool DesignMode
!                       {
!                               get
!                               {
!                                       if(site != null)
!                                       {
!                                               return site.DesignMode;
!                                       }
!                                       else
!                                       {
!                                               return false;
!                                       }
!                               }
!                       }
! 
!       // Get the event handler list for this component.
!       protected EventHandlerList Events
!                       {
!                               get
!                               {
!                                       lock(this)
!                                       {
!                                               if(events == null)
!                                               {
!                                                       events = new 
EventHandlerList();
!                                               }
!                                               return events;
!                                       }
!                               }
!                       }
! 
!       // Get or set the site associated with this component.
!       public virtual ISite Site
!                       {
!                               get
!                               {
!                                       return site;
!                               }
!                               set
!                               {
!                                       site = value;
!                               }
!                       }
! 
!       // Event that is raised when a component is disposed.
!       public event EventHandler Disposed
!                       {
!                               add
!                               {
!                                       Events.AddHandler(disposedId, value);
!                               }
!                               remove
!                               {
!                                       Events.RemoveHandler(disposedId, value);
!                               }
!                       }
! 
!       // Implement the IDisposable interface.
!       public void Dispose()
!                       {
!                               Dispose(true);
!                               GC.SuppressFinalize(this);
!                       }
! 
!       // Dispose this component.
!       protected virtual void Dispose(bool disposing)
!                       {
!                               if(disposing)
!                               {
!                                       lock(this)
!                                       {
!                                               EventHandler dispose;
!                                               if(site != null && 
site.Container != null)
!                                               {
!                                                       
site.Container.Remove(this);
!                                               }
!                                               if(events != null)
!                                               {
!                                                       dispose = 
(EventHandler)(events[disposedId]);
!                                                       if(dispose != null)
!                                                       {
!                                                               dispose(this, 
EventArgs.Empty);
!                                                       }
!                                               }
!                                       }
!                               }
!                       }
! 
!       // Get a service that is implemented by this component.
!       protected virtual Object GetService(Type service)
!                       {
!                               if(site != null)
!                               {
!                                       return site.GetService(service);
!                               }
!                               else
!                               {
!                                       return null;
!                               }
!                       }
! 
!       // Convert this object into a string.
!       public override String ToString()
!                       {
!                               if(site != null)
!                               {
!                                       return site.Name + "[" + 
GetType().ToString() + "]";
!                               }
!                               else
!                               {
!                                       return GetType().ToString();
!                               }
                        }
  
! }; // class Component
  
! #endif // !ECMA_COMPAT
  
! }; // namespace System.ComponentModel

Index: ComponentCollection.cs
===================================================================
RCS file: 
/cvsroot/dotgnu-pnet/pnetlib/System/ComponentModel/ComponentCollection.cs,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -r1.1 -r1.2
*** ComponentCollection.cs      3 Dec 2002 00:18:55 -0000       1.1
--- ComponentCollection.cs      20 Apr 2003 02:57:19 -0000      1.2
***************
*** 28,38 ****
  using System.Runtime.InteropServices;
  
- [TODO]
  [ComVisible(true)]
! public class ComponentCollection
  {
!       // TODO
  
!       public ComponentCollection() {}
  
  }; // class ComponentCollection
--- 28,77 ----
  using System.Runtime.InteropServices;
  
  [ComVisible(true)]
! public class ComponentCollection : ReadOnlyCollectionBase
  {
!       // Constructor.
!       public ComponentCollection(IComponent[] components)
!                       {
!                               InnerList.AddRange(components);
!                       }
  
!       // Get a collection element by index.
!       public virtual IComponent this[int index]
!                       {
!                               get
!                               {
!                                       return (IComponent)(InnerList[index]);
!                               }
!                       }
! 
!       // Get a collection element by name.
!       public virtual IComponent this[String name]
!                       {
!                               get
!                               {
!                                       if(name == null)
!                                       {
!                                               return null;
!                                       }
!                                       ISite site;
!                                       foreach(IComponent component in 
InnerList)
!                                       {
!                                               site = component.Site;
!                                               if(site != null && site.Name != 
null &&
!                                                  String.Compare(name, 
site.Name, true) == 0)
!                                               {
!                                                       return component;
!                                               }
!                                       }
!                                       return null;
!                               }
!                       }
! 
!       // Copy the contents of this collection to an array.
!       public void CopyTo(IComponent[] array, int index)
!                       {
!                               InnerList.CopyTo(array, index);
!                       }
  
  }; // class ComponentCollection

Index: Container.cs
===================================================================
RCS file: /cvsroot/dotgnu-pnet/pnetlib/System/ComponentModel/Container.cs,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -r1.3 -r1.4
*** Container.cs        10 Jan 2003 23:33:31 -0000      1.3
--- Container.cs        20 Apr 2003 02:57:19 -0000      1.4
***************
*** 1,7 ****
  /*
!  * Container.cs - Implementation of "System.ComponentModel.Container" class 
   *
!  * Copyright (C) 2002  Southern Storm Software, Pty Ltd.
!  * Copyright (C) 2002  Free Software Foundation,Inc.
   *
   * This program is free software; you can redistribute it and/or modify
--- 1,7 ----
  /*
!  * Container.cs - Implementation of the
!  *            "System.ComponentModel.Container" class.
   *
!  * Copyright (C) 2003  Southern Storm Software, Pty Ltd.
   *
   * This program is free software; you can redistribute it and/or modify
***************
*** 20,94 ****
   */
  
- using System;
- 
  namespace System.ComponentModel
  {
  #if !ECMA_COMPAT
!       public class Container: IDisposable, IContainer
        {
!               [TODO]
!               public Container()
!               {
!                       throw new NotImplementedException(".ctor");
!               }
! 
!               [TODO]
!               public virtual void Add(IComponent component)
!               {
!                       throw new NotImplementedException("Add");
!               }
! 
!               [TODO]
!               public virtual void Add(IComponent component, String name)
!               {
!                       throw new NotImplementedException("Add");
!               }
! 
!               [TODO]
!               protected virtual ISite CreateSite(IComponent component, String 
name)
!               {
!                       throw new NotImplementedException("CreateSite");
!               }
! 
!               [TODO]
!               public void Dispose()
!               {
!                       throw new NotImplementedException("Dispose");
!               }
! 
!               [TODO]
!               protected virtual void Dispose(bool release_all)
!               {
!                       throw new NotImplementedException("Dispose");
!               }
! 
!               [TODO]
!               ~Container()
!               {
!                       // TODO
!               }
! 
!               [TODO]
!               protected virtual Object GetService(Type service)
!               {
!                       throw new NotImplementedException("GetService");
!               }
! 
!               [TODO]
!               public virtual void Remove(IComponent component)
!               {
!                       throw new NotImplementedException("Remove");
!               }
! 
!               [TODO]
!               public virtual ComponentCollection Components 
!               {
!                       get
!                       {
!                               throw new NotImplementedException("Components");
!                       }
!               }
! 
!       }
! #endif        
! }//namespace
--- 20,278 ----
   */
  
  namespace System.ComponentModel
  {
+ 
  #if !ECMA_COMPAT
! 
! using System;
! 
! public class Container : IContainer, IDisposable
! {
!       // Internal state.
!       private ISite[] sites;
!       private int numSites;
! 
!       // Constructor.
!       public Container() {}
! 
!       // Destructor.
!       ~Container()
!                       {
!                               Dispose(false);
!                       }
! 
!       // Get a collection of all components within this container.
!       // The collection is a copy, not live.
!       public virtual ComponentCollection Components
!                       {
!                               get
!                               {
!                                       lock(this)
!                                       {
!                                               IComponent[] components;
!                                               int posn;
!                                               components = new IComponent 
[numSites];
!                                               for(posn = 0; posn < numSites; 
++posn)
!                                               {
!                                                       components[posn] = 
sites[posn].Component;
!                                               }
!                                               return new 
ComponentCollection(components);
!                                       }
!                               }
!                       }
! 
!       // Add a component to this container.
!       public virtual void Add(IComponent component)
!                       {
!                               Add(component, null);
!                       }
!       public virtual void Add(IComponent component, String name)
!                       {
!                               ISite site;
!                               int posn;
! 
!                               // Nothing to do if component is null or 
already in the list.
!                               if(component == null)
!                               {
!                                       return;
!                               }
!                               site = component.Site;
!                               if(site != null && site.Container == this)
!                               {
!                                       return;
!                               }
! 
!                               // Check for name duplicates and add the new 
component.
!                               lock(this)
!                               {
!                                       if(name != null)
!                                       {
!                                               for(posn = 0; posn < numSites; 
++posn)
!                                               {
!                                                       if(String.Compare
!                                                               
(sites[posn].Name, name, true) == 0)
!                                                       {
!                                                               throw new 
ArgumentException
!                                                                       
(S._("Arg_DuplicateComponent"));
!                                                       }
!                                               }
!                                       }
!                                       if(site != null)
!                                       {
!                                               
site.Container.Remove(component);
!                                       }
!                                       if(sites == null)
!                                       {
!                                               sites = new ISite [4];
!                                       }
!                                       else if(numSites >= sites.Length)
!                                       {
!                                               ISite[] newList = new ISite 
[numSites * 2];
!                                               Array.Copy(sites, 0, newList, 
0, numSites);
!                                               sites = newList;
!                                       }
!                                       site = CreateSite(component, name);
!                                       sites[numSites++] = site;
!                               }
!                       }
! 
!       // Create a site for a component within this container.
!       protected virtual ISite CreateSite(IComponent component, String name)
!                       {
!                               return new ContainSite(this, component, name);
!                       }
! 
!       // Implement the IDisposable interface.
!       public void Dispose()
!                       {
!                               Dispose(true);
!                               GC.SuppressFinalize(this);
!                       }
! 
!       // Dispose of this object.
!       protected virtual void Dispose(bool disposing)
!                       {
!                               if(disposing)
!                               {
!                                       // Dispose all of the components in 
reverse order.
!                                       lock(this)
!                                       {
!                                               IComponent component;
!                                               while(numSites > 0)
!                                               {
!                                                       --numSites;
!                                                       component = 
sites[numSites].Component;
!                                                       component.Site = null;
!                                                       component.Dispose();
!                                               }
!                                               sites = null;
!                                       }
!                               }
!                       }
! 
!       // Get a service from this object (the only service we support
!       // in the base class is "get container".
!       protected virtual Object GetService(Type service)
!                       {
!                               if(service == typeof(IContainer))
!                               {
!                                       return this;
!                               }
!                               else
!                               {
!                                       return null;
!                               }
!                       }
! 
!       // Remove a component from this container.
!       public virtual void Remove(IComponent component)
!                       {
!                               // Bail out if the component is not in this 
container.
!                               if(component == null)
!                               {
!                                       return;
!                               }
!                               ISite site = component.Site;
!                               if(site == null || site.Container != this)
!                               {
!                                       return;
!                               }
! 
!                               // Lock down the container and remove the 
component.
!                               lock(this)
!                               {
!                                       component.Site = null;
!                                       int posn = 0;
!                                       while(posn < numSites)
!                                       {
!                                               if(sites[posn] == site)
!                                               {
!                                                       Array.Copy(sites, posn 
+ 1, sites, posn,
!                                                                          
numSites - (posn + 1));
!                                                       sites[numSites - 1] = 
null;
!                                                       --numSites;
!                                                       break;
!                                               }
!                                               ++posn;
!                                       }
!                               }
!                       }
! 
!       // Site information for this type of container.
!       private sealed class ContainSite : ISite
        {
!               // Internal state.
!               private Container container;
!               private IComponent component;
!               private String name;
! 
!               // Constructor
!               public ContainSite(Container container, IComponent component,
!                                                  String name)
!                               {
!                                       this.container = container;
!                                       this.component = component;
!                                       this.name = name;
!                                       component.Site = this;
!                               }
! 
!               // Get the component associated with this site.
!               public IComponent Component
!                               {
!                                       get
!                                       {
!                                               return component;
!                                       }
!                               }
! 
!               // Get the container associated with this site.
!               public IContainer Container
!                               {
!                                       get
!                                       {
!                                               return container;
!                                       }
!                               }
! 
!               // Determine if the component is in design mode.
!               public bool DesignMode
!                               {
!                                       get
!                                       {
!                                               return false;
!                                       }
!                               }
! 
!               // Get or set the name of the component.
!               public String Name
!                               {
!                                       get
!                                       {
!                                               return name;
!                                       }
!                                       set
!                                       {
!                                               name = value;
!                                       }
!                               }
! 
!               // Get a service that is provided by this object.
!               public Object GetService(Type serviceType)
!                               {
!                                       if(serviceType == typeof(ISite))
!                                       {
!                                               return this;
!                                       }
!                                       else
!                                       {
!                                               return 
container.GetService(serviceType);
!                                       }
!                               }
! 
!       }; // class ContainSite
! 
! }; // class Container
! 
! #endif // !ECMA_COMPAT
! 
! }; // namespace System.ComponentModel

Index: EditorAttribute.cs
===================================================================
RCS file: 
/cvsroot/dotgnu-pnet/pnetlib/System/ComponentModel/EditorAttribute.cs,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -r1.2 -r1.3
*** EditorAttribute.cs  31 Dec 2002 06:40:28 -0000      1.2
--- EditorAttribute.cs  20 Apr 2003 02:57:19 -0000      1.3
***************
*** 1,8 ****
  /*
!  * EditorAttribute.cs - Implementation of 
!  *                                            
"System.ComponentModel.EditorAttribute" 
   *
!  * Copyright (C) 2002  Southern Storm Software, Pty Ltd.
!  * Copyright (C) 2002  Free Software Foundation,Inc.
   *
   * This program is free software; you can redistribute it and/or modify
--- 1,7 ----
  /*
!  * EditorAttribute.cs - Implementation of the
!  *                    "System.ComponentModel.EditorAttribute" class.
   *
!  * Copyright (C) 2003  Southern Storm Software, Pty Ltd.
   *
   * This program is free software; you can redistribute it and/or modify
***************
*** 20,95 ****
   * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
   */
-  
- using System;
  
  namespace System.ComponentModel
  {
  #if !ECMA_COMPAT
!       public sealed class EditorAttribute: Attribute
!       {
!               [TODO]
!               public EditorAttribute()
!               {
!                       throw new NotImplementedException(".ctor");
!               }
! 
!               [TODO]
!               public EditorAttribute(String typeName, String baseTypeName)
!               {
!                       throw new NotImplementedException(".ctor");
!               }
! 
!               [TODO]
!               public EditorAttribute(String typeName, Type baseType)
!               {
!                       throw new NotImplementedException(".ctor");
!               }
! 
!               [TODO]
!               public EditorAttribute(Type type, Type baseType)
!               {
!                       throw new NotImplementedException(".ctor");
!               }
! 
!               [TODO]
!               public override bool Equals(Object obj)
!               {
!                       throw new NotImplementedException("Equals");
!               }
! 
!               [TODO]
!               public override int GetHashCode()
!               {
!                       throw new NotImplementedException("GetHashCode");
!               }
! 
!               [TODO]
!               public String EditorBaseTypeName 
!               {
!                       get
!                       {
!                               throw new 
NotImplementedException("EditorBaseTypeName");
!                       }
!               }
! 
!               [TODO]
!               public String EditorTypeName 
!               {
!                       get
!                       {
!                               throw new 
NotImplementedException("EditorTypeName");
!                       }
!               }
! 
!               [TODO]
!               public override Object TypeId 
!               {
!                       get
!                       {
!                               throw new NotImplementedException("TypeId");
!                       }
!               }
! 
!       }
! #endif        
! }//namespace
--- 19,110 ----
   * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
   */
  
  namespace System.ComponentModel
  {
+ 
  #if !ECMA_COMPAT
! 
! [AttributeUsage(AttributeTargets.All)]
! public sealed class EditorAttribute : Attribute
! {
!       // Internal state.
!       private String typeName;
!       private String baseTypeName;
! 
!       // Constructors.
!       public EditorAttribute()
!                       {
!                               this.typeName = String.Empty;
!                       }
!       public EditorAttribute(String typeName, String baseTypeName)
!                       {
!                               this.typeName = typeName;
!                               this.baseTypeName = baseTypeName;
!                       }
!       public EditorAttribute(String typeName, Type baseType)
!                       {
!                               this.typeName = typeName;
!                               this.baseTypeName = 
baseType.AssemblyQualifiedName;
!                       }
!       public EditorAttribute(Type type, Type baseType)
!                       {
!                               this.typeName = type.AssemblyQualifiedName;
!                               this.baseTypeName = 
baseType.AssemblyQualifiedName;
!                       }
! 
!       // Get the attribute's properties.
!       public String EditorBaseTypeName
!                       {
!                               get
!                               {
!                                       return baseTypeName;
!                               }
!                       }
!       public String EditorTypeName
!                       {
!                               get
!                               {
!                                       return typeName;
!                               }
!                       }
!       public override Object TypeId
!                       {
!                               get
!                               {
!                                       return GetType();
!                               }
!                       }
! 
!       // Determine if two instances of this class are equal.
!       public override bool Equals(Object obj)
!                       {
!                               EditorAttribute other = (obj as 
EditorAttribute);
!                               if(other != null)
!                               {
!                                       return (typeName == other.typeName &&
!                                                       baseTypeName == 
other.baseTypeName);
!                               }
!                               else
!                               {
!                                       return false;
!                               }
!                       }
! 
!       // Get the hash code for this attribute.
!       public override int GetHashCode()
!                       {
!                               if(typeName != null)
!                               {
!                                       return typeName.GetHashCode();
!                               }
!                               else
!                               {
!                                       return 0;
!                               }
!                       }
! 
! }; // class EditorAttribute
! 
! #endif // !ECMA_COMPAT
! 
! }; // namespace System.ComponentModel

Index: EditorBrowsableAttribute.cs
===================================================================
RCS file: 
/cvsroot/dotgnu-pnet/pnetlib/System/ComponentModel/EditorBrowsableAttribute.cs,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -r1.2 -r1.3
*** EditorBrowsableAttribute.cs 29 Dec 2002 07:00:36 -0000      1.2
--- EditorBrowsableAttribute.cs 20 Apr 2003 02:57:19 -0000      1.3
***************
*** 1,8 ****
  /*
!  * EditorBrowsableAttribute.cs - Implementation of 
!  *                                            
"System.ComponentModel.EditorBrowsableAttribute" 
   *
!  * Copyright (C) 2002  Southern Storm Software, Pty Ltd.
!  * Copyright (C) 2002  Free Software Foundation,Inc.
   *
   * This program is free software; you can redistribute it and/or modify
--- 1,7 ----
  /*
!  * EditorBrowsableAttribute.cs - Implementation of the
!  *                    "System.ComponentModel.EditorBrowsableAttribute" class.
   *
!  * Copyright (C) 2003  Southern Storm Software, Pty Ltd.
   *
   * This program is free software; you can redistribute it and/or modify
***************
*** 21,73 ****
   */
  
- using System;
- 
  namespace System.ComponentModel
  {
  #if !ECMA_COMPAT
!       public sealed class EditorBrowsableAttribute: Attribute
!       {
!               private EditorBrowsableState state;
! 
!               public EditorBrowsableAttribute(EditorBrowsableState state)
!               {
!                       this.state = state;
!               }
! 
!               public EditorBrowsableAttribute()
!               {
!                       state = EditorBrowsableState.Always;
!               }
! 
!               public EditorBrowsableState State 
!               {
!                       get
                        {
!                               return state;
                        }
-               }
- 
-               public override bool Equals(Object value)
-               {
-                       EditorBrowsableAttribute temp;
  
!                       temp = value as EditorBrowsableAttribute;
  
!                       if (temp != null)
                        {
!                               return (temp.State == state);
                        }
!                       else
                        {
!                               return false;
                        }
-               }
  
!               public override int GetHashCode()
!               {
!                       return state.GetHashCode();
!               }
! 
!       }
! #endif        
! }//namespace
--- 20,86 ----
   */
  
  namespace System.ComponentModel
  {
+ 
  #if !ECMA_COMPAT
! 
! [AttributeUsage(AttributeTargets.Class |
!                           AttributeTargets.Constructor |
!                               AttributeTargets.Delegate |
!                               AttributeTargets.Enum |
!                               AttributeTargets.Event |
!                               AttributeTargets.Field |
!                               AttributeTargets.Interface |
!                               AttributeTargets.Method |
!                               AttributeTargets.Property |
!                               AttributeTargets.Struct)]
! public sealed class EditorBrowsableAttribute : Attribute
! {
!       // Internal state.
!       private EditorBrowsableState state;
! 
!       // Constructors.
!       public EditorBrowsableAttribute()
                        {
!                               this.state = EditorBrowsableState.Always;
!                       }
!       public EditorBrowsableAttribute(EditorBrowsableState state)
!                       {
!                               this.state = state;
                        }
  
!       // Get the attribute's properties.
!       public EditorBrowsableState State
!                       {
!                               get
!                               {
!                                       return state;
!                               }
!                       }
  
!       // Determine if two instances of this class are equal.
!       public override bool Equals(Object obj)
                        {
!                               EditorBrowsableAttribute other =
!                                       (obj as EditorBrowsableAttribute);
!                               if(other != null)
!                               {
!                                       return (state == other.state);
!                               }
!                               else
!                               {
!                                       return false;
!                               }
                        }
! 
!       // Get the hash code for this attribute.
!       public override int GetHashCode()
                        {
!                               return (int)state;
                        }
  
! }; // class EditorBrowsableAttribute
! 
! #endif // !ECMA_COMPAT
! 
! }; // namespace System.ComponentModel

Index: IBindingList.cs
===================================================================
RCS file: /cvsroot/dotgnu-pnet/pnetlib/System/ComponentModel/IBindingList.cs,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -r1.1 -r1.2
*** IBindingList.cs     3 Dec 2002 00:18:55 -0000       1.1
--- IBindingList.cs     20 Apr 2003 02:57:19 -0000      1.2
***************
*** 28,32 ****
  using System.Collections;
  
- [TODO]
  public interface IBindingList : IList, ICollection, IEnumerable
  {
--- 28,31 ----
***************
*** 77,84 ****
        void RemoveSort();
  
- #if false
        // Event that is raised when the list changes.
        event ListChangedEventHandler ListChanged;
- #endif
  
  }; // interface IBindingList
--- 76,81 ----

Index: ITypeDescriptorContext.cs
===================================================================
RCS file: 
/cvsroot/dotgnu-pnet/pnetlib/System/ComponentModel/ITypeDescriptorContext.cs,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -r1.2 -r1.3
*** ITypeDescriptorContext.cs   3 Dec 2002 00:18:55 -0000       1.2
--- ITypeDescriptorContext.cs   20 Apr 2003 02:57:19 -0000      1.3
***************
*** 3,7 ****
   *            "System.ComponentModel.ITypeDescriptorContext" interface.
   *
!  * Copyright (C) 2002  Southern Storm Software, Pty Ltd.
   *
   * This program is free software; you can redistribute it and/or modify
--- 3,7 ----
   *            "System.ComponentModel.ITypeDescriptorContext" interface.
   *
!  * Copyright (C) 2002, 2003  Southern Storm Software, Pty Ltd.
   *
   * This program is free software; you can redistribute it and/or modify
***************
*** 28,35 ****
  using System.Globalization;
  
- [TODO]
  public interface ITypeDescriptorContext : IServiceProvider
  {
!       // TODO
  
  }; // interface ITypeDescriptorContext
--- 28,47 ----
  using System.Globalization;
  
  public interface ITypeDescriptorContext : IServiceProvider
  {
!       // Get the container for this context.
!       IContainer Container { get; }
! 
!       // Get the instance information for this context.
!       Object Instance { get; }
! 
!       // Get the property descriptor for this context.
!       PropertyDescriptor PropertyDescriptor { get; }
! 
!       // Method that is called when the component is changed.
!       void OnComponentChanged();
! 
!       // Method that is called when the component is about to change.
!       void OnComponentChanging();
  
  }; // interface ITypeDescriptorContext

Index: InvalidEnumArgumentException.cs
===================================================================
RCS file: 
/cvsroot/dotgnu-pnet/pnetlib/System/ComponentModel/InvalidEnumArgumentException.cs,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -r1.3 -r1.4
*** InvalidEnumArgumentException.cs     5 Apr 2003 00:35:16 -0000       1.3
--- InvalidEnumArgumentException.cs     20 Apr 2003 02:57:19 -0000      1.4
***************
*** 1,8 ****
  /*
!  * InvalidEnumArgumentException.cs - Implementation of 
!  *                                            
"System.ComponentModel.InvalidEnumArgumentException" 
   *
!  * Copyright (C) 2002  Southern Storm Software, Pty Ltd.
!  * Copyright (C) 2002  Free Software Foundation,Inc.
   *
   * This program is free software; you can redistribute it and/or modify
--- 1,7 ----
  /*
!  * InvalidEnumArgumentException.cs - Implementation of the
!  *            "System.ComponentModel.InvalidEnumArgumentException" class.
   *
!  * Copyright (C) 2003  Southern Storm Software, Pty Ltd.
   *
   * This program is free software; you can redistribute it and/or modify
***************
*** 21,63 ****
   */
  
- using System;
- 
  namespace System.ComponentModel
  {
  #if !ECMA_COMPAT
!       public class InvalidEnumArgumentException: ArgumentException
!       {
!               [TODO]
!               public InvalidEnumArgumentException()
!               {
!                       HResult = (int)0x80070057;
!                       throw new NotImplementedException(".ctor");
!               }
! 
!               [TODO]
!               public InvalidEnumArgumentException(String message)
!               {
!                       HResult = (int)0x80070057;
!                       throw new NotImplementedException(".ctor");
!               }
! 
!               [TODO]
!               public InvalidEnumArgumentException(String argumentName, 
!                                                       int invalidValue, Type 
enumClass)
!               {
!                       HResult = (int)0x80070057;
!                       throw new NotImplementedException(".ctor");
!               }
! 
!               [TODO]
!               public override String Message 
!               {
!                       get
                        {
!                               throw new NotImplementedException("Message");
                        }
-               }
  
!       }
! #endif        
! }//namespace
--- 20,79 ----
   */
  
  namespace System.ComponentModel
  {
+ 
  #if !ECMA_COMPAT
! 
! using System;
! 
! [Serializable]
! public class InvalidEnumArgumentException : ArgumentException
! {
!       // Internal state.
!       private int invalidValue;
!       private Type enumClass;
! 
!       // Constructors.
!       public InvalidEnumArgumentException()
!                       : base(S._("Exception_InvalidEnum"))
!                       {
!                               HResult = (int)0x80070057;
!                       }
!       public InvalidEnumArgumentException(String message)
!                       : base(message)
!                       {
!                               HResult = (int)0x80070057;
!                       }
!       public InvalidEnumArgumentException(String argumentName,
!                                                                               
int invalidValue,
!                                                                               
Type enumClass)
!                       : base(null, argumentName)
!                       {
!                               HResult = (int)0x80070057;
!                               this.invalidValue = invalidValue;
!                               this.enumClass = enumClass;
!                       }
! 
!       // Get the exception message.
!       public override String Message
                        {
!                               get
!                               {
!                                       if(enumClass != null)
!                                       {
!                                               return 
String.Format(S._("Exception_InvalidEnumValue"),
!                                                                               
         invalidValue.ToString(),
!                                                                               
         ParamName, enumClass.ToString());
!                                       }
!                                       else
!                                       {
!                                               return base.Message;
!                                       }
!                               }
                        }
  
! }; // class InvalidEnumArgumentException
! 
! #endif // !ECMA_COMPAT
! 
! }; // namespace System.ComponentModel

Index: ListBindableAttribute.cs
===================================================================
RCS file: 
/cvsroot/dotgnu-pnet/pnetlib/System/ComponentModel/ListBindableAttribute.cs,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -r1.2 -r1.3
*** ListBindableAttribute.cs    31 Dec 2002 06:40:28 -0000      1.2
--- ListBindableAttribute.cs    20 Apr 2003 02:57:19 -0000      1.3
***************
*** 1,8 ****
  /*
!  * ListBindableAttribute.cs - Implementation of 
!  *                                                    
"System.ComponentModel.ListBindableAttribute" 
   *
!  * Copyright (C) 2002  Southern Storm Software, Pty Ltd.
!  * Copyright (C) 2002  Free Software Foundation,Inc.
   *
   * This program is free software; you can redistribute it and/or modify
--- 1,7 ----
  /*
!  * ListBindableAttribute.cs - Implementation of the
!  *                    "System.ComponentModel.ListBindableAttribute" class.
   *
!  * Copyright (C) 2003  Southern Storm Software, Pty Ltd.
   *
   * This program is free software; you can redistribute it and/or modify
***************
*** 21,80 ****
   */
  
- using System;
- 
  namespace System.ComponentModel
  {
  #if !ECMA_COMPAT
!       public sealed class ListBindableAttribute: Attribute
!       {
!               [TODO]
!               public ListBindableAttribute(bool listBindable)
!               {
!                       throw new NotImplementedException(".ctor");
!               }
! 
!               [TODO]
!               public ListBindableAttribute(BindableSupport flags)
!               {
!                       throw new NotImplementedException(".ctor");
!               }
! 
!               [TODO]
!               public override bool Equals(Object obj)
!               {
!                       throw new NotImplementedException("Equals");
!               }
! 
!               [TODO]
!               public override int GetHashCode()
!               {
!                       throw new NotImplementedException("GetHashCode");
!               }
! 
!               [TODO]
!               public override bool IsDefaultAttribute()
!               {
!                       throw new NotImplementedException("IsDefaultAttribute");
!               }
! 
!               [TODO]
!               public static readonly ListBindableAttribute Default;
! 
!               [TODO]
!               public static readonly ListBindableAttribute No;
! 
!               [TODO]
!               public static readonly ListBindableAttribute Yes;
! 
!               [TODO]
!               public bool ListBindable 
!               {
!                       get
!                       {
!                               throw new 
NotImplementedException("ListBindable");
!                       }
!               }
! 
!       }
! #endif        
! }//namespace
--- 20,92 ----
   */
  
  namespace System.ComponentModel
  {
+ 
  #if !ECMA_COMPAT
! 
! [AttributeUsage(AttributeTargets.All,
!                               AllowMultiple=false, Inherited=true)]
! public sealed class ListBindableAttribute : Attribute
! {
!       // Internal state.
!       private BindableSupport flags;
! 
!       // Pre-defined attribute values.
!       public static readonly ListBindableAttribute Default
!                       = new ListBindableAttribute(BindableSupport.Default);
!       public static readonly ListBindableAttribute No
!                       = new ListBindableAttribute(BindableSupport.No);
!       public static readonly ListBindableAttribute Yes
!                       = new ListBindableAttribute(BindableSupport.Yes);
! 
!       // Constructors.
!       public ListBindableAttribute(bool listBindable)
!                       {
!                               this.flags = (listBindable ? BindableSupport.Yes
!                                                                               
   : BindableSupport.No);
!                       }
!       public ListBindableAttribute(BindableSupport flags)
!                       {
!                               this.flags = flags;
!                       }
! 
!       // Get the attribute's value.
!       public bool ListBindable
!                       {
!                               get
!                               {
!                                       return (flags == BindableSupport.Yes);
!                               }
!                       }
! 
!       // Determine if two attribute values are equal.
!       public override bool Equals(Object obj)
!                       {
!                               ListBindableAttribute other = (obj as 
ListBindableAttribute);
!                               if(other != null)
!                               {
!                                       return (flags == other.flags);
!                               }
!                               else
!                               {
!                                       return false;
!                               }
!                       }
! 
!       // Get the hash code for this value.
!       public override int GetHashCode()
!                       {
!                               return GetType().GetHashCode() + (int)flags;
!                       }
! 
!       // Determine if this is a default attribute value.
!       public override bool IsDefaultAttribute()
!                       {
!                               return (flags == BindableSupport.Default);
!                       }
! 
! }; // class ListBindableAttribute
! 
! #endif // !ECMA_COMPAT
! 
! }; // namespace System.ComponentModel

Index: ListChangedEventArgs.cs
===================================================================
RCS file: 
/cvsroot/dotgnu-pnet/pnetlib/System/ComponentModel/ListChangedEventArgs.cs,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -r1.3 -r1.4
*** ListChangedEventArgs.cs     1 Jan 2003 18:05:10 -0000       1.3
--- ListChangedEventArgs.cs     20 Apr 2003 02:57:19 -0000      1.4
***************
*** 1,8 ****
  /*
!  * ListChangedEventArgs.cs - Implementation of 
!  *                                                    
"System.ComponentModel.ListChangedEventArgs" 
   *
!  * Copyright (C) 2002  Southern Storm Software, Pty Ltd.
!  * Copyright (C) 2002  Free Software Foundation.
   *
   * This program is free software; you can redistribute it and/or modify
--- 1,7 ----
  /*
!  * ListChangedEventArgs.cs - Implementation of the
!  *                    "System.ComponentModel.ListChangedEventArgs" class.
   *
!  * Copyright (C) 2003  Southern Storm Software, Pty Ltd.
   *
   * This program is free software; you can redistribute it and/or modify
***************
*** 21,83 ****
   */
  
- using System;
- 
  namespace System.ComponentModel
  {
  #if !ECMA_COMPAT
!       public class ListChangedEventArgs: EventArgs
!       {
!               private ListChangedType listChangedType;
!               private int newIndex;
!               private int oldIndex;
!       
!               public ListChangedEventArgs(ListChangedType listChangedType, 
!                                                                               
int newIndex)
!               {
!                       this.listChangedType = listChangedType;
!                       this.newIndex = newIndex;
!               }
! 
!               [TODO]
!               public ListChangedEventArgs(ListChangedType listChangedType, 
!                                                                               
        PropertyDescriptor propDesc)
!               {
!                       //this.listChangedType = listChangedType;
!                       throw new 
NotImplementedException("ListChangedEventArgs");
!               }
! 
!               public ListChangedEventArgs(ListChangedType listChangedType, 
!                                                                               
        int newIndex, int oldIndex)
!               {
!                       this.listChangedType = listChangedType;
!                       this.newIndex = newIndex;
!                       this.oldIndex = oldIndex;
!               }
! 
!               public ListChangedType ListChangedType  
!               {
!                       get
!                       {
!                               return listChangedType;
!                       }
!               }
! 
!               public int NewIndex 
!               {
!                       get
!                       {
!                               return newIndex;
!                       }
!               }
! 
!               public int OldIndex 
!               {
!                       get
!                       {
!                               return oldIndex;
!                       }
!               }
! 
!       }
! #endif        
! }//namespace
--- 20,82 ----
   */
  
  namespace System.ComponentModel
  {
+ 
  #if !ECMA_COMPAT
! 
! public class ListChangedEventArgs : EventArgs
! {
!       // Internal state.
!       private ListChangedType listChangedType;
!       private int oldIndex;
!       private int newIndex;
!       private PropertyDescriptor propDesc;
! 
!       // Constructors.
!       public ListChangedEventArgs(ListChangedType listChangedType, int 
newIndex)
!                       {
!                               this.listChangedType = listChangedType;
!                               this.newIndex = newIndex;
!                       }
!       public ListChangedEventArgs(ListChangedType listChangedType,
!                                                               int newIndex, 
int oldIndex)
!                       {
!                               this.listChangedType = listChangedType;
!                               this.newIndex = newIndex;
!                               this.oldIndex = oldIndex;
!                       }
!       public ListChangedEventArgs(ListChangedType listChangedType,
!                                                               
PropertyDescriptor propDesc)
!                       {
!                               this.listChangedType = listChangedType;
!                               this.propDesc = propDesc;
!                       }
! 
!       // Get the object's property values.
!       public ListChangedType ListChangedType
!                       {
!                               get
!                               {
!                                       return listChangedType;
!                               }
!                       }
!       public int NewIndex
!                       {
!                               get
!                               {
!                                       return newIndex;
!                               }
!                       }
!       public int OldIndex
!                       {
!                               get
!                               {
!                                       return oldIndex;
!                               }
!                       }
! 
! }; // class ListChangedEventArgs
! 
! #endif // !ECMA_COMPAT
! 
! }; // namespace System.ComponentModel

Index: LocalizableAttribute.cs
===================================================================
RCS file: 
/cvsroot/dotgnu-pnet/pnetlib/System/ComponentModel/LocalizableAttribute.cs,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -r1.2 -r1.3
*** LocalizableAttribute.cs     31 Dec 2002 06:40:28 -0000      1.2
--- LocalizableAttribute.cs     20 Apr 2003 02:57:19 -0000      1.3
***************
*** 1,8 ****
  /*
!  * LocalizableAttribute.cs - Implementation of 
!  *                                                    
"System.ComponentModel.LocalizableAttribute" 
   *
!  * Copyright (C) 2002  Southern Storm Software, Pty Ltd.
!  * Copyright (C) 2002  Free Software Foundation,Inc.
   *
   * This program is free software; you can redistribute it and/or modify
--- 1,7 ----
  /*
!  * LocalizableAttribute.cs - Implementation of the
!  *                    "System.ComponentModel.LocalizableAttribute" class.
   *
!  * Copyright (C) 2003  Southern Storm Software, Pty Ltd.
   *
   * This program is free software; you can redistribute it and/or modify
***************
*** 21,53 ****
   */
  
- using System;
- 
  namespace System.ComponentModel
  {
  #if !ECMA_COMPAT
!       public sealed class LocalizableAttribute: Attribute
!       {
!               [TODO]
!               public LocalizableAttribute(bool localizable)
!               {
!                       throw new NotImplementedException(".ctor");
!               }
! 
!               [TODO]
!               public static readonly LocalizableAttribute No;
! 
!               [TODO]
!               public static readonly LocalizableAttribute Yes;
! 
!               [TODO]
!               public bool IsLocalizable 
!               {
!                       get
                        {
!                               throw new 
NotImplementedException("IsLocalizable");
                        }
-               }
  
!       }
! #endif        
! }//namespace
--- 20,58 ----
   */
  
  namespace System.ComponentModel
  {
+ 
  #if !ECMA_COMPAT
! 
! [AttributeUsage(AttributeTargets.Property)]
! public sealed class LocalizableAttribute : Attribute
! {
!       // Internal state.
!       private bool localizable;
! 
!       // Pre-defined attribute values.
!       public static readonly LocalizableAttribute No
!                       = new LocalizableAttribute(false);
!       public static readonly LocalizableAttribute Yes
!                       = new LocalizableAttribute(true);
! 
!       // Constructor.
!       public LocalizableAttribute(bool localizable)
                        {
!                               this.localizable = localizable;
                        }
  
!       // Get the attribute's value.
!       public bool IsLocalizable
!                       {
!                               get
!                               {
!                                       return localizable;
!                               }
!                       }
! 
! }; // class LocalizableAttribute
! 
! #endif // !ECMA_COMPAT
! 
! }; // namespace System.ComponentModel

Index: Makefile
===================================================================
RCS file: /cvsroot/dotgnu-pnet/pnetlib/System/ComponentModel/Makefile,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -r1.1 -r1.2
*** Makefile    3 Dec 2002 00:18:55 -0000       1.1
--- Makefile    20 Apr 2003 02:57:19 -0000      1.2
***************
*** 2,3 ****
--- 2,4 ----
  all:
        (cd ..;make)
+       (cd ..;make phase-two)

Index: NotifyParentPropertyAttribute.cs
===================================================================
RCS file: 
/cvsroot/dotgnu-pnet/pnetlib/System/ComponentModel/NotifyParentPropertyAttribute.cs,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -r1.2 -r1.3
*** NotifyParentPropertyAttribute.cs    31 Dec 2002 06:40:28 -0000      1.2
--- NotifyParentPropertyAttribute.cs    20 Apr 2003 02:57:19 -0000      1.3
***************
*** 1,8 ****
  /*
!  * NotifyParentPropertyAttribute.cs - Implementation of 
!  *                                            
"System.ComponentModel.NotifyParentPropertyAttribute" 
   *
!  * Copyright (C) 2002  Southern Storm Software, Pty Ltd.
!  * Copyright (C) 2002  Free Software Foundation,Inc.
   *
   * This program is free software; you can redistribute it and/or modify
--- 1,7 ----
  /*
!  * NotifyParentPropertyAttribute.cs - Implementation of the
!  *                    "System.ComponentModel.NotifyParentPropertyAttribute" 
class.
   *
!  * Copyright (C) 2003  Southern Storm Software, Pty Ltd.
   *
   * This program is free software; you can redistribute it and/or modify
***************
*** 21,73 ****
   */
  
- using System;
- 
  namespace System.ComponentModel
  {
  #if !ECMA_COMPAT
!       public sealed class NotifyParentPropertyAttribute: Attribute
!       {
!               [TODO]
!               public NotifyParentPropertyAttribute(bool notifyParent)
!               {
!                       throw new NotImplementedException(".ctor");
!               }
! 
!               [TODO]
!               public override bool Equals(Object obj)
!               {
!                       throw new NotImplementedException("Equals");
!               }
! 
!               [TODO]
!               public override int GetHashCode()
!               {
!                       throw new NotImplementedException("GetHashCode");
!               }
! 
!               [TODO]
!               public override bool IsDefaultAttribute()
!               {
!                       throw new NotImplementedException("IsDefaultAttribute");
!               }
! 
!               [TODO]
!               public static readonly 
System.ComponentModel.NotifyParentPropertyAttribute Default;
! 
!               [TODO]
!               public static readonly 
System.ComponentModel.NotifyParentPropertyAttribute No;
! 
!               [TODO]
!               public static readonly 
System.ComponentModel.NotifyParentPropertyAttribute Yes;
! 
!               public bool NotifyParent 
!               {
!                       get
                        {
!                               throw new 
NotImplementedException("NotifyParent");
                        }
-               }
  
!       }
! #endif        
! }//namespace
--- 20,87 ----
   */
  
  namespace System.ComponentModel
  {
+ 
  #if !ECMA_COMPAT
! 
! [AttributeUsage(AttributeTargets.Property)]
! public sealed class NotifyParentPropertyAttribute : Attribute
! {
!       // Internal state.
!       private bool flag;
! 
!       // Pre-defined attribute values.
!       public static readonly NotifyParentPropertyAttribute Default
!                       = new NotifyParentPropertyAttribute(false);
!       public static readonly NotifyParentPropertyAttribute No
!                       = new NotifyParentPropertyAttribute(false);
!       public static readonly NotifyParentPropertyAttribute Yes
!                       = new NotifyParentPropertyAttribute(true);
! 
!       // Constructors.
!       public NotifyParentPropertyAttribute(bool flag)
!                       {
!                               this.flag = flag;
!                       }
! 
!       // Get the attribute's value.
!       public bool NotifyParent
!                       {
!                               get
!                               {
!                                       return flag;
!                               }
!                       }
! 
!       // Determine if two attribute values are equal.
!       public override bool Equals(Object obj)
!                       {
!                               NotifyParentPropertyAttribute other =
!                                               (obj as 
NotifyParentPropertyAttribute);
!                               if(other != null)
!                               {
!                                       return (flag == other.flag);
!                               }
!                               else
!                               {
!                                       return false;
!                               }
!                       }
! 
!       // Get the hash code for this value.
!       public override int GetHashCode()
                        {
!                               return GetType().GetHashCode() + (flag ? 1 : 0);
                        }
  
!       // Determine if this is a default attribute value.
!       public override bool IsDefaultAttribute()
!                       {
!                               return Equals(Default);
!                       }
! 
! }; // class NotifyParentPropertyAttribute
! 
! #endif // !ECMA_COMPAT
! 
! }; // namespace System.ComponentModel

Index: ReadOnlyAttribute.cs
===================================================================
RCS file: 
/cvsroot/dotgnu-pnet/pnetlib/System/ComponentModel/ReadOnlyAttribute.cs,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -r1.2 -r1.3
*** ReadOnlyAttribute.cs        31 Dec 2002 06:40:28 -0000      1.2
--- ReadOnlyAttribute.cs        20 Apr 2003 02:57:19 -0000      1.3
***************
*** 1,8 ****
  /*
!  * ReadOnlyAttribute.cs - Implementation of 
!  *                                                    
"System.ComponentModel.ReadOnlyAttribute" 
   *
!  * Copyright (C) 2002  Southern Storm Software, Pty Ltd.
!  * Copyright (C) 2002  Free Software Foundation,Inc.
   *
   * This program is free software; you can redistribute it and/or modify
--- 1,7 ----
  /*
!  * ReadOnlyAttribute.cs - Implementation of the
!  *                    "System.ComponentModel.ReadOnlyAttribute" class.
   *
!  * Copyright (C) 2003  Southern Storm Software, Pty Ltd.
   *
   * This program is free software; you can redistribute it and/or modify
***************
*** 21,73 ****
   */
  
- using System;
- 
  namespace System.ComponentModel
  {
  #if !ECMA_COMPAT
!       public sealed class ReadOnlyAttribute: Attribute
!       {
!               [TODO]
!               public ReadOnlyAttribute(bool read_only)
!               {
!                       throw new NotImplementedException(".ctor");
!               }
! 
!               [TODO]
!               public override bool Equals(Object o)
!               {
!                       throw new NotImplementedException("Equals");
!               }
! 
!               [TODO]
!               public override int GetHashCode()
!               {
!                       throw new NotImplementedException("GetHashCode");
!               }
! 
!               [TODO]
!               public override bool IsDefaultAttribute()
!               {
!                       throw new NotImplementedException("IsDefaultAttribute");
!               }
! 
!               [TODO]
!               public static readonly System.ComponentModel.ReadOnlyAttribute 
Default;
! 
!               [TODO]
!               public static readonly System.ComponentModel.ReadOnlyAttribute 
No;
! 
!               [TODO]
!               public static readonly System.ComponentModel.ReadOnlyAttribute 
Yes;
! 
!               public bool IsReadOnly 
!               {
!                       get
                        {
!                               throw new NotImplementedException("IsReadOnly");
                        }
-               }
  
!       }
! #endif        
! }//namespace
--- 20,86 ----
   */
  
  namespace System.ComponentModel
  {
+ 
  #if !ECMA_COMPAT
! 
! [AttributeUsage(AttributeTargets.All)]
! public sealed class ReadOnlyAttribute : Attribute
! {
!       // Internal state.
!       private bool flag;
! 
!       // Pre-defined attribute values.
!       public static readonly ReadOnlyAttribute Default
!                       = new ReadOnlyAttribute(false);
!       public static readonly ReadOnlyAttribute No
!                       = new ReadOnlyAttribute(false);
!       public static readonly ReadOnlyAttribute Yes
!                       = new ReadOnlyAttribute(true);
! 
!       // Constructors.
!       public ReadOnlyAttribute(bool flag)
!                       {
!                               this.flag = flag;
!                       }
! 
!       // Get the attribute's value.
!       public bool IsReadOnly
!                       {
!                               get
!                               {
!                                       return flag;
!                               }
!                       }
! 
!       // Determine if two attribute values are equal.
!       public override bool Equals(Object obj)
!                       {
!                               ReadOnlyAttribute other = (obj as 
ReadOnlyAttribute);
!                               if(other != null)
!                               {
!                                       return (flag == other.flag);
!                               }
!                               else
!                               {
!                                       return false;
!                               }
!                       }
! 
!       // Get the hash code for this value.
!       public override int GetHashCode()
                        {
!                               return GetType().GetHashCode() + (flag ? 1 : 0);
                        }
  
!       // Determine if this is a default attribute value.
!       public override bool IsDefaultAttribute()
!                       {
!                               return Equals(Default);
!                       }
! 
! }; // class ReadOnlyAttribute
! 
! #endif // !ECMA_COMPAT
! 
! }; // namespace System.ComponentModel

Index: RecommendedAsConfigurableAttribute.cs
===================================================================
RCS file: 
/cvsroot/dotgnu-pnet/pnetlib/System/ComponentModel/RecommendedAsConfigurableAttribute.cs,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -r1.2 -r1.3
*** RecommendedAsConfigurableAttribute.cs       31 Dec 2002 06:40:28 -0000      
1.2
--- RecommendedAsConfigurableAttribute.cs       20 Apr 2003 02:57:19 -0000      
1.3
***************
*** 1,8 ****
  /*
!  * RecommendedAsConfigurableAttribute.cs - Implementation of 
!  *                                    
"System.ComponentModel.RecommendedAsConfigurableAttribute" 
   *
!  * Copyright (C) 2002  Southern Storm Software, Pty Ltd.
!  * Copyright (C) 2002  Free Software Foundation,Inc.
   *
   * This program is free software; you can redistribute it and/or modify
--- 1,7 ----
  /*
!  * RecommendedAsConfigurableAttribute.cs - Implementation of the
!  *                    
"System.ComponentModel.RecommendedAsConfigurableAttribute" class.
   *
!  * Copyright (C) 2003  Southern Storm Software, Pty Ltd.
   *
   * This program is free software; you can redistribute it and/or modify
***************
*** 21,74 ****
   */
  
- using System;
- 
  namespace System.ComponentModel
  {
  #if !ECMA_COMPAT
!       public class RecommendedAsConfigurableAttribute: Attribute
!       {
!               [TODO]
!               public RecommendedAsConfigurableAttribute(
!                                                       bool 
recommendedAsConfigurable)
!               {
!                       throw new NotImplementedException(".ctor");
!               }
! 
!               [TODO]
!               public override bool Equals(Object obj)
!               {
!                       throw new NotImplementedException("Equals");
!               }
! 
!               [TODO]
!               public override int GetHashCode()
!               {
!                       throw new NotImplementedException("GetHashCode");
!               }
! 
!               [TODO]
!               public override bool IsDefaultAttribute()
!               {
!                       throw new NotImplementedException("IsDefaultAttribute");
!               }
! 
!               [TODO]
!               public static readonly 
System.ComponentModel.RecommendedAsConfigurableAttribute Default;
! 
!               [TODO]
!               public static readonly 
System.ComponentModel.RecommendedAsConfigurableAttribute No;
! 
!               [TODO]
!               public static readonly 
System.ComponentModel.RecommendedAsConfigurableAttribute Yes;
! 
!               public bool RecommendedAsConfigurable 
!               {
!                       get
                        {
!                               throw new 
NotImplementedException("RecommendedAsConfigurable");
                        }
-               }
  
!       }
! #endif        
! }//namespace
--- 20,87 ----
   */
  
  namespace System.ComponentModel
  {
+ 
  #if !ECMA_COMPAT
! 
! [AttributeUsage(AttributeTargets.Property)]
! public class RecommendedAsConfigurableAttribute : Attribute
! {
!       // Internal state.
!       private bool flag;
! 
!       // Pre-defined attribute values.
!       public static readonly RecommendedAsConfigurableAttribute Default
!                       = new RecommendedAsConfigurableAttribute(false);
!       public static readonly RecommendedAsConfigurableAttribute No
!                       = new RecommendedAsConfigurableAttribute(false);
!       public static readonly RecommendedAsConfigurableAttribute Yes
!                       = new RecommendedAsConfigurableAttribute(true);
! 
!       // Constructors.
!       public RecommendedAsConfigurableAttribute(bool flag)
!                       {
!                               this.flag = flag;
!                       }
! 
!       // Get the attribute's value.
!       public bool RecommendedAsConfigurable
!                       {
!                               get
!                               {
!                                       return flag;
!                               }
!                       }
! 
!       // Determine if two attribute values are equal.
!       public override bool Equals(Object obj)
!                       {
!                               RecommendedAsConfigurableAttribute other =
!                                               (obj as 
RecommendedAsConfigurableAttribute);
!                               if(other != null)
!                               {
!                                       return (flag == other.flag);
!                               }
!                               else
!                               {
!                                       return false;
!                               }
!                       }
! 
!       // Get the hash code for this value.
!       public override int GetHashCode()
                        {
!                               return GetType().GetHashCode() + (flag ? 1 : 0);
                        }
  
!       // Determine if this is a default attribute value.
!       public override bool IsDefaultAttribute()
!                       {
!                               return Equals(Default);
!                       }
! 
! }; // class RecommendedAsConfigurableAttribute
! 
! #endif // !ECMA_COMPAT
! 
! }; // namespace System.ComponentModel

Index: RefreshPropertiesAttribute.cs
===================================================================
RCS file: 
/cvsroot/dotgnu-pnet/pnetlib/System/ComponentModel/RefreshPropertiesAttribute.cs,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -r1.2 -r1.3
*** RefreshPropertiesAttribute.cs       31 Dec 2002 06:40:28 -0000      1.2
--- RefreshPropertiesAttribute.cs       20 Apr 2003 02:57:19 -0000      1.3
***************
*** 1,8 ****
  /*
!  * RefreshPropertiesAttribute.cs - Implementation of 
!  *                                            
"System.ComponentModel.RefreshPropertiesAttribute" 
   *
!  * Copyright (C) 2002  Southern Storm Software, Pty Ltd.
!  * Copyright (C) 2002  Free Software Foundation,Inc.
   *
   * This program is free software; you can redistribute it and/or modify
--- 1,7 ----
  /*
!  * RefreshPropertiesAttribute.cs - Implementation of the
!  *                    "System.ComponentModel.RefreshPropertiesAttribute" 
class.
   *
!  * Copyright (C) 2003  Southern Storm Software, Pty Ltd.
   *
   * This program is free software; you can redistribute it and/or modify
***************
*** 21,73 ****
   */
  
- using System;
- 
  namespace System.ComponentModel
  {
  #if !ECMA_COMPAT
!       public sealed class RefreshPropertiesAttribute: Attribute
!       {
!               [TODO]
!               public RefreshPropertiesAttribute(RefreshProperties refresh)
!               {
!                       throw new NotImplementedException(".ctor");
!               }
! 
!               [TODO]
!               public override bool Equals(Object obj)
!               {
!                       throw new NotImplementedException("Equals");
!               }
! 
!               [TODO]
!               public override int GetHashCode()
!               {
!                       throw new NotImplementedException("GetHashCode");
!               }
! 
!               [TODO]
!               public override bool IsDefaultAttribute()
!               {
!                       throw new NotImplementedException("IsDefaultAttribute");
!               }
! 
!               [TODO]
!               public static readonly RefreshPropertiesAttribute All;
! 
!               [TODO]
!               public static readonly RefreshPropertiesAttribute Default;
! 
!               [TODO]
!               public static readonly RefreshPropertiesAttribute Repaint;
! 
!               public RefreshProperties RefreshProperties 
!               {
!                       get
                        {
!                               throw new 
NotImplementedException("RefreshProperties");
                        }
-               }
  
!       }
! #endif        
! }//namespace
--- 20,88 ----
   */
  
  namespace System.ComponentModel
  {
+ 
  #if !ECMA_COMPAT
! 
! [AttributeUsage(AttributeTargets.All,
!                               AllowMultiple=false, Inherited=true)]
! public sealed class RefreshPropertiesAttribute : Attribute
! {
!       // Internal state.
!       private RefreshProperties refresh;
! 
!       // Pre-defined attribute values.
!       public static readonly RefreshPropertiesAttribute All
!                       = new RefreshPropertiesAttribute(RefreshProperties.All);
!       public static readonly RefreshPropertiesAttribute Default
!                       = new 
RefreshPropertiesAttribute(RefreshProperties.None);
!       public static readonly RefreshPropertiesAttribute Repaint
!                       = new 
RefreshPropertiesAttribute(RefreshProperties.Repaint);
! 
!       // Constructor.
!       public RefreshPropertiesAttribute(RefreshProperties refresh)
!                       {
!                               this.refresh = refresh;
!                       }
! 
!       // Get the attribute's value.
!       public RefreshProperties RefreshProperties
!                       {
!                               get
!                               {
!                                       return refresh;
!                               }
!                       }
! 
!       // Determine if two attribute values are equal.
!       public override bool Equals(Object obj)
!                       {
!                               RefreshPropertiesAttribute other =
!                                               (obj as 
RefreshPropertiesAttribute);
!                               if(other != null)
!                               {
!                                       return (refresh == other.refresh);
!                               }
!                               else
!                               {
!                                       return false;
!                               }
!                       }
! 
!       // Get the hash code for this value.
!       public override int GetHashCode()
                        {
!                               return GetType().GetHashCode() + (int)refresh;
                        }
  
!       // Determine if this is a default attribute value.
!       public override bool IsDefaultAttribute()
!                       {
!                               return (refresh == RefreshProperties.None);
!                       }
! 
! }; // class RefreshPropertiesAttribute
! 
! #endif // !ECMA_COMPAT
! 
! }; // namespace System.ComponentModel

Index: ToolboxItemAttribute.cs
===================================================================
RCS file: 
/cvsroot/dotgnu-pnet/pnetlib/System/ComponentModel/ToolboxItemAttribute.cs,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -r1.2 -r1.3
*** ToolboxItemAttribute.cs     31 Dec 2002 06:40:28 -0000      1.2
--- ToolboxItemAttribute.cs     20 Apr 2003 02:57:19 -0000      1.3
***************
*** 1,8 ****
  /*
!  * ToolboxItemAttribute.cs - Implementation of 
!  *                                                            
"System.ComponentModel.ToolboxItemAttribute" 
   *
!  * Copyright (C) 2002  Southern Storm Software, Pty Ltd.
!  * Copyright (C) 2002  Free Software Foundation,Inc.
   *
   * This program is free software; you can redistribute it and/or modify
--- 1,7 ----
  /*
!  * ToolboxItemAttribute.cs - Implementation of the
!  *                    "System.ComponentModel.ToolboxItemAttribute" class.
   *
!  * Copyright (C) 2003  Southern Storm Software, Pty Ltd.
   *
   * This program is free software; you can redistribute it and/or modify
***************
*** 21,92 ****
   */
  
- using System;
- 
  namespace System.ComponentModel
  {
  #if !ECMA_COMPAT
!       public class ToolboxItemAttribute: Attribute
!       {
!               [TODO]
!               public ToolboxItemAttribute(bool defaultType)
!               {
!                       throw new NotImplementedException(".ctor");
!               }
! 
!               [TODO]
!               public ToolboxItemAttribute(String toolboxItemName)
!               {
!                       throw new NotImplementedException(".ctor");
!               }
! 
!               [TODO]
!               public ToolboxItemAttribute(Type toolboxItemType)
!               {
!                       throw new NotImplementedException(".ctor");
!               }
! 
!               [TODO]
!               public override bool Equals(Object o)
!               {
!                       throw new NotImplementedException("Equals");
!               }
! 
!               [TODO]
!               public override int GetHashCode()
!               {
!                       throw new NotImplementedException("GetHashCode");
!               }
! 
!               [TODO]
!               public override bool IsDefaultAttribute()
!               {
!                       throw new NotImplementedException("IsDefaultAttribute");
!               }
! 
!               [TODO]
!               public static readonly ToolboxItemAttribute Default;
! 
!               [TODO]
!               public static readonly ToolboxItemAttribute None;
! 
!               [TODO]
!               public Type ToolboxItemType 
!               {
!                       get
!                       {
!                               throw new 
NotImplementedException("ToolboxItemType");
!                       }
!               }
!       
!               [TODO]
!               public String ToolboxItemTypeName 
!               {
!                       get
!                       {
!                               throw new 
NotImplementedException("ToolboxItemTypeName");
!                       }
!               }
! 
!       }
! #endif        
! }//namespace
--- 20,126 ----
   */
  
  namespace System.ComponentModel
  {
+ 
  #if !ECMA_COMPAT
! 
! [AttributeUsage(AttributeTargets.All)]
! public class ToolboxItemAttribute : Attribute
! {
!       // Internal state.
!       private Type toolboxItemType;
!       private String toolboxItemTypeName;
! 
!       // Pre-defined attribute values.
!       public static readonly ToolboxItemAttribute Default
!                       = new ToolboxItemAttribute(true);
!       public static readonly ToolboxItemAttribute None
!                       = new ToolboxItemAttribute(false);
! 
!       // Constructors.
!       public ToolboxItemAttribute(bool defaultType)
!                       {
!                               if(defaultType)
!                               {
!                                       toolboxItemTypeName =
!                                               
"System.Drawing.Design.ToolboxItem,System.Drawing";
!                               }
!                       }
!       public ToolboxItemAttribute(String toolboxItemName)
!                       {
!                               this.toolboxItemTypeName = toolboxItemName;
!                       }
!       public ToolboxItemAttribute(Type toolboxItemType)
!                       {
!                               this.toolboxItemType = toolboxItemType;
!                       }
! 
!       // Get the attribute's value.
!       public Type ToolboxItemType
!                       {
!                               get
!                               {
!                                       if(toolboxItemType != null)
!                                       {
!                                               return toolboxItemType;
!                                       }
!                                       else
!                                       {
!                                               toolboxItemType = 
Type.GetType(toolboxItemTypeName);
!                                               return toolboxItemType;
!                                       }
!                               }
!                       }
!       public String ToolboxItemTypeName
!                       {
!                               get
!                               {
!                                       if(toolboxItemTypeName != null)
!                                       {
!                                               return toolboxItemTypeName;
!                                       }
!                                       else if(toolboxItemType != null)
!                                       {
!                                               toolboxItemTypeName =
!                                                       
toolboxItemType.AssemblyQualifiedName;
!                                               return toolboxItemTypeName;
!                                       }
!                                       else
!                                       {
!                                               return String.Empty;
!                                       }
!                               }
!                       }
! 
!       // Determine if two attribute values are equal.
!       public override bool Equals(Object obj)
!                       {
!                               ToolboxItemAttribute other = (obj as 
ToolboxItemAttribute);
!                               if(other != null)
!                               {
!                                       return (ToolboxItemTypeName == 
other.ToolboxItemTypeName);
!                               }
!                               else
!                               {
!                                       return false;
!                               }
!                       }
! 
!       // Get the hash code for this value.
!       public override int GetHashCode()
!                       {
!                               return ToolboxItemTypeName.GetHashCode();
!                       }
! 
!       // Determine if this is a default attribute value.
!       public override bool IsDefaultAttribute()
!                       {
!                               return (ToolboxItemTypeName ==
!                                                 
"System.Drawing.Design.ToolboxItem,System.Drawing");
!                       }
! 
! }; // class ToolboxItemAttribute
! 
! #endif // !ECMA_COMPAT
! 
! }; // namespace System.ComponentModel

Index: WarningException.cs
===================================================================
RCS file: 
/cvsroot/dotgnu-pnet/pnetlib/System/ComponentModel/WarningException.cs,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -r1.3 -r1.4
*** WarningException.cs 5 Apr 2003 00:35:16 -0000       1.3
--- WarningException.cs 20 Apr 2003 02:57:19 -0000      1.4
***************
*** 1,8 ****
  /*
!  * WarningException.cs - Implementation of 
!  *                                                    
"System.ComponentModel.WarningException" 
   *
!  * Copyright (C) 2002  Southern Storm Software, Pty Ltd.
!  * Copyright (C) 2002  Free Software Foundation,Inc.
   *
   * This program is free software; you can redistribute it and/or modify
--- 1,7 ----
  /*
!  * WarningException.cs - Implementation of the
!  *            "System.ComponentModel.WarningException" class.
   *
!  * Copyright (C) 2003  Southern Storm Software, Pty Ltd.
   *
   * This program is free software; you can redistribute it and/or modify
***************
*** 21,72 ****
   */
  
- using System;
- 
  namespace System.ComponentModel
  {
  #if !ECMA_COMPAT
!       public class WarningException: SystemException
!       {
!               [TODO]
!               public WarningException(String message)
!               {
!                       HResult = (int)0x80131501;
!                       throw new NotImplementedException(".ctor");
!               }
! 
!               [TODO]
!               public WarningException(String message, String helpUrl)
!               {
!                       HResult = (int)0x80131501;
!                       throw new NotImplementedException(".ctor");
!               }
! 
!               [TODO]
!               public WarningException(String message, String helpUrl, 
!                                                                               
String helpTopic)
!               {
!                       HResult = (int)0x80131501;
!                       throw new NotImplementedException(".ctor");
!               }
! 
!               [TODO]
!               public String HelpTopic 
!               {
!                       get
                        {
!                               throw new NotImplementedException("HelpTopic");
                        }
-               }
  
!               [TODO]
!               public String HelpUrl 
!               {
!                       get
                        {
!                               throw new NotImplementedException("HelpUrl");
                        }
!               }
  
!       }
! #endif        
! }//namespace
--- 20,76 ----
   */
  
  namespace System.ComponentModel
  {
+ 
  #if !ECMA_COMPAT
! 
! using System;
! 
! public class WarningException : SystemException
! {
!       // Internal state.
!       private String helpUrl;
!       private String helpTopic;
! 
!       // Constructors.
!       public WarningException(String message)
!                       : base(message)
                        {
!                               HResult = (int)0x80131501;
!                       }
!       public WarningException(String message, String helpUrl)
!                       : base(message)
!                       {
!                               HResult = (int)0x80131501;
!                               this.helpUrl = helpUrl;
!                       }
!       public WarningException(String message, String helpUrl, String 
helpTopic)
!                       : base(message)
!                       {
!                               HResult = (int)0x80131501;
!                               this.helpUrl = helpUrl;
!                               this.helpTopic = helpTopic;
!                               this.helpUrl = helpUrl;
                        }
  
!       // Get the exception properties.
!       public String HelpTopic
                        {
!                               get
!                               {
!                                       return helpTopic;
!                               }
                        }
!       public String HelpUrl
!                       {
!                               get
!                               {
!                                       return helpUrl;
!                               }
!                       }
! 
! }; // class WarningException
! 
! #endif // !ECMA_COMPAT
  
! }; // namespace System.ComponentModel

Index: Win32Exception.cs
===================================================================
RCS file: /cvsroot/dotgnu-pnet/pnetlib/System/ComponentModel/Win32Exception.cs,v
retrieving revision 1.5
retrieving revision 1.6
diff -C2 -r1.5 -r1.6
*** Win32Exception.cs   7 Apr 2003 06:03:57 -0000       1.5
--- Win32Exception.cs   20 Apr 2003 02:57:19 -0000      1.6
***************
*** 31,41 ****
                private int nativeErrorCode;
  
-               [TODO]
                public Win32Exception() : base()
                {
                        HResult = (int)0x80004005;
                }
- 
-               [TODO]
                public Win32Exception(int error) : base()
                {
--- 31,38 ----
***************
*** 43,48 ****
                        HResult = (int)0x80004005;
                }
- 
-               [TODO]
                public Win32Exception(int error, String message) : base(message)
                {
--- 40,43 ----
***************
*** 50,61 ****
                        HResult = (int)0x80004005;
                }
- 
-               [TODO]
                internal Win32Exception(String message) : base (message)
                {
                        HResult = (int)0x80004005;
                }
- 
-               [TODO]
                internal Win32Exception(String message,Exception inner) 
                        : base (message,inner)
--- 45,52 ----
***************
*** 63,67 ****
                        HResult = (int)0x80004005;
                }
- 
                protected Win32Exception(SerializationInfo info,
                                                                 
StreamingContext context)
--- 54,57 ----





reply via email to

[Prev in Thread] Current Thread [Next in Thread]