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 AmbientValueAtt


From: Rhys Weatherley <address@hidden>
Subject: [Dotgnu-pnet-commits] CVS: pnetlib/System/ComponentModel AmbientValueAttribute.cs,NONE,1.1 BindableAttribute.cs,NONE,1.1 BindableSupport.cs,NONE,1.1 BrowsableAttribute.cs,NONE,1.1 CategoryAttribute.cs,NONE,1.1 CollectionChangeAction.cs,NONE,1.1 DefaultEventAttribute.cs,NONE,1.1 DefaultPropertyAttribute.cs,NONE,1.1 DefaultValueAttribute.cs,NONE,1.1 DescriptionAttribute.cs,NONE,1.1 DesignerAttribute.cs,NONE,1.1 DesignerSerializationVisibility.cs,NONE,1.1 EditorBrowsableState.cs,NONE,1.1 InheritanceLevel.cs,NONE,1.1 LicenseUsageMode.cs,NONE,1.1 ListChangedType.cs,NONE,1.1 ListSortDirection.cs,NONE,1.1 PropertyTabScope.cs,NONE,1.1 RefreshProperties.cs,NONE,1.1 ToolboxItemFilterType.cs,NONE,1.1 TypeConverter.cs,1.1,1.2 TypeConverterAttribute.cs,1.1,1.2
Date: Thu, 07 Nov 2002 06:25:22 -0500

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

Modified Files:
        TypeConverter.cs TypeConverterAttribute.cs 
Added Files:
        AmbientValueAttribute.cs BindableAttribute.cs 
        BindableSupport.cs BrowsableAttribute.cs CategoryAttribute.cs 
        CollectionChangeAction.cs DefaultEventAttribute.cs 
        DefaultPropertyAttribute.cs DefaultValueAttribute.cs 
        DescriptionAttribute.cs DesignerAttribute.cs 
        DesignerSerializationVisibility.cs EditorBrowsableState.cs 
        InheritanceLevel.cs LicenseUsageMode.cs ListChangedType.cs 
        ListSortDirection.cs PropertyTabScope.cs RefreshProperties.cs 
        ToolboxItemFilterType.cs 
Log Message:


Implement a number of enumerated types and attributes in
"System.ComponentModel".


--- NEW FILE ---
/*
 * AmbientValueAttribute.cs - Implementation of the
 *                      "System.ComponentModel.AmbientValueAttribute" class.
 *
 * Copyright (C) 2002  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.All)]
public sealed class AmbientValueAttribute : Attribute
{
        // Internal state.
        private Object obj;

        // Constructors.
        public AmbientValueAttribute(bool value)
                        {
                                obj = value;
                        }
        public AmbientValueAttribute(byte value)
                        {
                                obj = value;
                        }
        public AmbientValueAttribute(char value)
                        {
                                obj = value;
                        }
        public AmbientValueAttribute(double value)
                        {
                                obj = value;
                        }
        public AmbientValueAttribute(short value)
                        {
                                obj = value;
                        }
        public AmbientValueAttribute(int value)
                        {
                                obj = value;
                        }
        public AmbientValueAttribute(long value)
                        {
                                obj = value;
                        }
        public AmbientValueAttribute(Object value)
                        {
                                obj = value;
                        }
        public AmbientValueAttribute(float value)
                        {
                                obj = value;
                        }
        public AmbientValueAttribute(String value)
                        {
                                obj = value;
                        }
        [TODO]
        public AmbientValueAttribute(Type type, String value)
                        {
                                // TODO: find a converter for the type and then
                                // convert the string using it.
                                obj = value;
                        }

        // Get the attribute's value.
        public Object Value
                        {
                                get
                                {
                                        return obj;
                                }
                        }

        // Determine if two ambient attribute values are equal.
        public override bool Equals(Object value)
                        {
                                AmbientValueAttribute other = (value as 
AmbientValueAttribute);
                                if(other != null)
                                {
                                        if(obj == null)
                                        {
                                                return (other.obj == null);
                                        }
                                        else
                                        {
                                                return obj.Equals(other.obj);
                                        }
                                }
                                else
                                {
                                        return false;
                                }
                        }

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

}; // class AmbientValueAttribute

#endif // !ECMA_COMPAT

}; // namespace System.ComponentModel

--- NEW FILE ---
/*
 * BindableAttribute.cs - Implementation of the
 *                      "System.ComponentModel.BindableAttribute" class.
 *
 * Copyright (C) 2002  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.All)]
public sealed class BindableAttribute : Attribute
{
        // Internal state.
        private bool bind;
        private bool def;

        // Constructor.
        public BindableAttribute(BindableSupport flags)
                        {
                                bind = (flags != BindableSupport.No);
                                def = (flags == BindableSupport.Default);
                        }
        public BindableAttribute(bool bindable)
                        {
                                bind = bindable;
                                def = false;
                        }

        // Get the attribute's value.
        public bool Bindable
                        {
                                get
                                {
                                        return bind;
                                }
                        }

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

        // Get the hash code for this attribute.
        public override int GetHashCode()
                        {
                                return bind.GetHashCode();
                        }

        // Determine if this is the default attribute value.
        public override bool IsDefaultAttribute()
                        {
                                return (def || Equals(Default));
                        }

        // Predefined instances of this class.
        public static readonly BindableAttribute No =
                new BindableAttribute(false);
        public static readonly BindableAttribute Yes =
                new BindableAttribute(true);
        public static readonly BindableAttribute Default = No;

}; // class BindableAttribute

#endif // !ECMA_COMPAT

}; // namespace System.ComponentModel

--- NEW FILE ---
/*
 * BindableSupport.cs - Implementation of the
 *              "System.ComponentModel.BindableSupport" class.
 *
 * Copyright (C) 2002  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

public enum BindableSupport
{
        No      = 0,
        Yes     = 1,
        Default = 2

}; // enum BindableSupport

#endif // !ECMA_COMPAT

}; // namespace System.ComponentModel

--- NEW FILE ---
/*
 * BrowsableAttribute.cs - Implementation of the
 *                      "System.ComponentModel.BrowsableAttribute" class.
 *
 * Copyright (C) 2002  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.All)]
public sealed class BrowsableAttribute : Attribute
{
        // Internal state.
        private bool browse;

        // Constructor.
        public BrowsableAttribute(bool browsable)
                        {
                                browse = browsable;
                        }

        // Get the attribute's value.
        public bool Browsable
                        {
                                get
                                {
                                        return browse;
                                }
                        }

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

        // Get the hash code for this attribute.
        public override int GetHashCode()
                        {
                                return browse.GetHashCode();
                        }

        // Determine if this is the default attribute value.
        public override bool IsDefaultAttribute()
                        {
                                return Equals(Default);
                        }

        // Predefined instances of this class.
        public static readonly BrowsableAttribute No =
                new BrowsableAttribute(false);
        public static readonly BrowsableAttribute Yes =
                new BrowsableAttribute(true);
        public static readonly BrowsableAttribute Default = Yes;

}; // class BrowsableAttribute

#endif // !ECMA_COMPAT

}; // namespace System.ComponentModel

--- NEW FILE ---
/*
 * CategoryAttribute.cs - Implementation of the
 *                      "System.ComponentModel.CategoryAttribute" class.
 *
 * Copyright (C) 2002  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

using System.Collections;

[AttributeUsage(AttributeTargets.All)]
public class CategoryAttribute : Attribute
{
        // Internal state.
        private String category;
        private bool alreadyLocalized;

        // Constructor.
        public CategoryAttribute()
                        {
                                category = "Default";
                                alreadyLocalized = false;
                        }
        public CategoryAttribute(String category)
                        {
                                this.category = category;
                                alreadyLocalized = false;
                        }

        // Get the attribute's value.
        public String Category
                        {
                                get
                                {
                                        if(alreadyLocalized)
                                        {
                                                return category;
                                        }
                                        alreadyLocalized = true;
                                        String newCat = 
GetLocalizedString(category);
                                        if(newCat != null)
                                        {
                                                category = newCat;
                                        }
                                        return category;
                                }
                        }

        // Get the localized form of a category name.
        protected virtual String GetLocalizedString(String value)
                        {
                                return S._("Category_" + value);
                        }

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

        // Get the hash code for this attribute.
        public override int GetHashCode()
                        {
                                return Category.GetHashCode();
                        }

        // Determine if this is the default attribute value.
        public override bool IsDefaultAttribute()
                        {
                                return Equals(Default);
                        }

        // Get a predefined instance.
        private static Hashtable stdCategories = null;
        private static CategoryAttribute GetStdCategory(String name)
                        {
                                lock(typeof(CategoryAttribute))
                                {
                                        CategoryAttribute attr;
                                        if(stdCategories == null)
                                        {
                                                stdCategories = new Hashtable();
                                        }
                                        else
                                        {
                                                attr = 
(CategoryAttribute)(stdCategories[name]);
                                                if(attr != null)
                                                {
                                                        return attr;
                                                }
                                        }
                                        attr = new CategoryAttribute(name);
                                        stdCategories[name] = attr;
                                        return attr;
                                }
                        }

        // Predefined instances of this class.
        public static CategoryAttribute Action
                        {
                                get
                                {
                                        return GetStdCategory("Action");
                                }
                        }
        public static CategoryAttribute Appearance
                        {
                                get
                                {
                                        return GetStdCategory("Appearance");
                                }
                        }
        public static CategoryAttribute Behavior
                        {
                                get
                                {
                                        return GetStdCategory("Behavior");
                                }
                        }
        public static CategoryAttribute Data
                        {
                                get
                                {
                                        return GetStdCategory("Data");
                                }
                        }
        public static CategoryAttribute Default
                        {
                                get
                                {
                                        return GetStdCategory("Default");
                                }
                        }
        public static CategoryAttribute Design
                        {
                                get
                                {
                                        return GetStdCategory("Design");
                                }
                        }
        public static CategoryAttribute DragDrop
                        {
                                get
                                {
                                        return GetStdCategory("DragDrop");
                                }
                        }
        public static CategoryAttribute Focus
                        {
                                get
                                {
                                        return GetStdCategory("Focus");
                                }
                        }
        public static CategoryAttribute Format
                        {
                                get
                                {
                                        return GetStdCategory("Format");
                                }
                        }
        public static CategoryAttribute Key
                        {
                                get
                                {
                                        return GetStdCategory("Key");
                                }
                        }
        public static CategoryAttribute Layout
                        {
                                get
                                {
                                        return GetStdCategory("Layout");
                                }
                        }
        public static CategoryAttribute Mouse
                        {
                                get
                                {
                                        return GetStdCategory("Mouse");
                                }
                        }
        public static CategoryAttribute WindowStyle
                        {
                                get
                                {
                                        return GetStdCategory("WindowStyle");
                                }
                        }

}; // class CategoryAttribute

#endif // !ECMA_COMPAT

}; // namespace System.ComponentModel

--- NEW FILE ---
/*
 * CollectionChangeAction.cs - Implementation of the
 *              "System.ComponentModel.CollectionChangeAction" class.
 *
 * Copyright (C) 2002  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

public enum CollectionChangeAction
{
        Add     = 1,
        Remove  = 2,
        Refresh = 3

}; // enum CollectionChangeAction

#endif // !ECMA_COMPAT

}; // namespace System.ComponentModel

--- NEW FILE ---
/*
 * DefaultEventAttribute.cs - Implementation of the
 *                      "System.ComponentModel.DefaultEventAttribute" class.
 *
 * Copyright (C) 2002  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 DefaultEventAttribute : Attribute
{
        // Internal state.
        private String name;

        // Constructor.
        public DefaultEventAttribute(String name)
                        {
                                this.name = name;
                        }

        // Get the attribute's value.
        public String Name
                        {
                                get
                                {
                                        return name;
                                }
                        }

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

        // Get the hash code for this attribute.
        public override int GetHashCode()
                        {
                                return name.GetHashCode();
                        }

        // Predefined instances of this class.
        public static readonly DefaultEventAttribute Default =
                new DefaultEventAttribute(null);

}; // class DefaultEventAttribute

#endif // !ECMA_COMPAT

}; // namespace System.ComponentModel

--- NEW FILE ---
/*
 * DefaultPropertyAttribute.cs - Implementation of the
 *                      "System.ComponentModel.DefaultPropertyAttribute" class.
 *
 * Copyright (C) 2002  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 DefaultPropertyAttribute : Attribute
{
        // Internal state.
        private String name;

        // Constructor.
        public DefaultPropertyAttribute(String name)
                        {
                                this.name = name;
                        }

        // Get the attribute's value.
        public String Name
                        {
                                get
                                {
                                        return name;
                                }
                        }

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

        // Get the hash code for this attribute.
        public override int GetHashCode()
                        {
                                return name.GetHashCode();
                        }

        // Predefined instances of this class.
        public static readonly DefaultPropertyAttribute Default =
                new DefaultPropertyAttribute(null);

}; // class DefaultPropertyAttribute

#endif // !ECMA_COMPAT

}; // namespace System.ComponentModel

--- NEW FILE ---
/*
 * DefaultValueAttribute.cs - Implementation of the
 *                      "System.ComponentModel.DefaultValueAttribute" class.
 *
 * Copyright (C) 2002  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.All)]
public sealed class DefaultValueAttribute : Attribute
{
        // Internal state.
        private Object obj;

        // Constructor.
        public DefaultValueAttribute(bool value)
                        {
                                obj = value;
                        }
        public DefaultValueAttribute(byte value)
                        {
                                obj = value;
                        }
        public DefaultValueAttribute(char value)
                        {
                                obj = value;
                        }
        public DefaultValueAttribute(double value)
                        {
                                obj = value;
                        }
        public DefaultValueAttribute(short value)
                        {
                                obj = value;
                        }
        public DefaultValueAttribute(int value)
                        {
                                obj = value;
                        }
        public DefaultValueAttribute(long value)
                        {
                                obj = value;
                        }
        public DefaultValueAttribute(Object value)
                        {
                                obj = value;
                        }
        public DefaultValueAttribute(float value)
                        {
                                obj = value;
                        }
        public DefaultValueAttribute(String value)
                        {
                                obj = value;
                        }
        [TODO]
        public DefaultValueAttribute(Type type, String value)
                        {
                                // TODO: find a converter for the type and then
                                // convert the string using it.
                                obj = value;
                        }

        // Get the attribute's value.
        public Object Value
                        {
                                get
                                {
                                        return obj;
                                }
                        }

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

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

}; // class DefaultValueAttribute

#endif // !ECMA_COMPAT

}; // namespace System.ComponentModel

--- NEW FILE ---
/*
 * DescriptionAttribute.cs - Implementation of the
 *                      "System.ComponentModel.DescriptionAttribute" class.
 *
 * Copyright (C) 2002  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.All)]
public class DescriptionAttribute : Attribute
{
        // Internal state.
        private String desc;

        // Constructor.
        public DescriptionAttribute()
                        {
                                desc = String.Empty;
                        }
        public DescriptionAttribute(String description)
                        {
                                desc = description;
                        }

        // Get the attribute's value.
        public virtual String Description
                        {
                                get
                                {
                                        return DescriptionValue;
                                }
                        }
        protected virtual String DescriptionValue
                        {
                                get
                                {
                                        return desc;
                                }
                                set
                                {
                                        desc = value;
                                }
                        }

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

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

}; // class DescriptionAttribute

#endif // !ECMA_COMPAT

}; // namespace System.ComponentModel

--- NEW FILE ---
/*
 * DesignerAttribute.cs - Implementation of the
 *                      "System.ComponentModel.DesignerAttribute" class.
 *
 * Copyright (C) 2002  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

using System.ComponentModel.Design;

[AttributeUsage(AttributeTargets.Class | AttributeTargets.Interface,
                            AllowMultiple=true, Inherited=true)]
public sealed class DesignerAttribute : Attribute
{
        // Internal state.
        private String type;
        private String baseType;

        // Constructor.
        public DesignerAttribute(String designerTypeName)
                        {
                                type = designerTypeName;
                                baseType = typeof(IDesigner).FullName;
                        }
        public DesignerAttribute(Type designerType)
                        {
                                type = designerType.AssemblyQualifiedName;
                                baseType = typeof(IDesigner).FullName;
                        }
        public DesignerAttribute(String designerTypeName,
                                                         String 
designerBaseTypeName)
                        {
                                type = designerTypeName;
                                baseType = designerBaseTypeName;
                        }
        public DesignerAttribute(String designerTypeName,
                                                         Type designerBaseType)
                        {
                                type = designerTypeName;
                                baseType = 
designerBaseType.AssemblyQualifiedName;
                        }
        public DesignerAttribute(Type designerType,
                                                         Type designerBaseType)
                        {
                                type = designerType.AssemblyQualifiedName;
                                baseType = 
designerBaseType.AssemblyQualifiedName;
                        }

        // Get the attribute's value.
        public String DesignerBaseTypeName
                        {
                                get
                                {
                                        return baseType;
                                }
                        }
        public String DesignerTypeName
                        {
                                get
                                {
                                        return type;
                                }
                        }

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

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

}; // class DesignerAttribute

#endif // !ECMA_COMPAT

}; // namespace System.ComponentModel

--- NEW FILE ---
/*
 * DesignerSerializationVisibility.cs - Implementation of the
 *              "System.ComponentModel.DesignerSerializationVisibility" class.
 *
 * Copyright (C) 2002  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

using System.Runtime.InteropServices;

[ComVisible(true)]
public enum DesignerSerializationVisibility
{
        Hidden  = 0,
        Visible = 1,
        Content = 2

}; // enum DesignerSerializationVisibility

#endif // !ECMA_COMPAT

}; // namespace System.ComponentModel

--- NEW FILE ---
/*
 * EditorBrowsableState.cs - Implementation of the
 *              "System.ComponentModel.EditorBrowsableState" class.
 *
 * Copyright (C) 2002  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

public enum EditorBrowsableState
{
        Always   = 0,
        Never    = 1,
        Advanced = 2

}; // enum EditorBrowsableState

#endif // !ECMA_COMPAT

}; // namespace System.ComponentModel

--- NEW FILE ---
/*
 * InheritanceLevel.cs - Implementation of the
 *              "System.ComponentModel.InheritanceLevel" class.
 *
 * Copyright (C) 2002  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

public enum InheritanceLevel
{
        Inherited         = 1,
        InheritedReadOnly = 2,
        NotInherited      = 3

}; // enum InheritanceLevel

#endif // !ECMA_COMPAT

}; // namespace System.ComponentModel

--- NEW FILE ---
/*
 * LicenseUsageMode.cs - Implementation of the
 *              "System.ComponentModel.LicenseUsageMode" class.
 *
 * Copyright (C) 2002  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

public enum LicenseUsageMode
{
        Runtime    = 0,
        Designtime = 1

}; // enum LicenseUsageMode

#endif // !ECMA_COMPAT

}; // namespace System.ComponentModel

--- NEW FILE ---
/*
 * ListChangedType.cs - Implementation of the
 *              "System.ComponentModel.ListChangedType" class.
 *
 * Copyright (C) 2002  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

public enum ListChangedType
{
        Reset                     = 0,
        ItemAdded                 = 1,
        ItemDeleted               = 2,
        ItemMoved                 = 3,
        ItemChanged               = 4,
        PropertyDescriptorAdded   = 5,
        PropertyDescriptorDeleted = 6,
        PropertyDescriptorChanged = 7

}; // enum ListChangedType

#endif // !ECMA_COMPAT

}; // namespace System.ComponentModel

--- NEW FILE ---
/*
 * ListSortDirection.cs - Implementation of the
 *              "System.ComponentModel.ListSortDirection" class.
 *
 * Copyright (C) 2002  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

public enum ListSortDirection
{
        Ascending  = 0,
        Descending = 1

}; // enum ListSortDirection

#endif // !ECMA_COMPAT

}; // namespace System.ComponentModel

--- NEW FILE ---
/*
 * PropertyTabScope.cs - Implementation of the
 *              "System.ComponentModel.PropertyTabScope" class.
 *
 * Copyright (C) 2002  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

public enum PropertyTabScope
{
        Static    = 0,
        Global    = 1,
        Document  = 2,
        Component = 3

}; // enum PropertyTabScope

#endif // !ECMA_COMPAT

}; // namespace System.ComponentModel

--- NEW FILE ---
/*
 * RefreshProperties.cs - Implementation of the
 *              "System.ComponentModel.RefreshProperties" class.
 *
 * Copyright (C) 2002  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

public enum RefreshProperties
{
        None    = 0,
        All     = 1,
        Repaint = 2

}; // enum RefreshProperties

#endif // !ECMA_COMPAT

}; // namespace System.ComponentModel

--- NEW FILE ---
/*
 * ToolboxItemFilterType.cs - Implementation of the
 *              "System.ComponentModel.ToolboxItemFilterType" class.
 *
 * Copyright (C) 2002  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

public enum ToolboxItemFilterType
{
        Allow   = 0,
        Custom  = 1,
        Prevent = 2,
        Require = 3

}; // enum ToolboxItemFilterType

#endif // !ECMA_COMPAT

}; // namespace System.ComponentModel

Index: TypeConverter.cs
===================================================================
RCS file: /cvsroot/dotgnu-pnet/pnetlib/System/ComponentModel/TypeConverter.cs,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -r1.1 -r1.2
*** TypeConverter.cs    30 Jun 2002 09:19:50 -0000      1.1
--- TypeConverter.cs    7 Nov 2002 11:25:19 -0000       1.2
***************
*** 1,5 ****
  /*
   * TypeConverter.cs - Implementation of the
!  *            "System.ComponentModel.TypeConverter" class.
   *
   * Copyright (C) 2002  Southern Storm Software, Pty Ltd.
--- 1,5 ----
  /*
   * TypeConverter.cs - Implementation of the
!  *            "System.ComponentModel.ComponentModel.TypeConverter" class.
   *
   * Copyright (C) 2002  Southern Storm Software, Pty Ltd.

Index: TypeConverterAttribute.cs
===================================================================
RCS file: 
/cvsroot/dotgnu-pnet/pnetlib/System/ComponentModel/TypeConverterAttribute.cs,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -r1.1 -r1.2
*** TypeConverterAttribute.cs   30 Jun 2002 09:19:50 -0000      1.1
--- TypeConverterAttribute.cs   7 Nov 2002 11:25:19 -0000       1.2
***************
*** 1,5 ****
  /*
   * TypeConverterAttribute.cs - Implementation of the
!  *            "System.ComponentModel.TypeConverterAttribute" class.
   *
   * Copyright (C) 2002  Southern Storm Software, Pty Ltd.
--- 1,5 ----
  /*
   * TypeConverterAttribute.cs - Implementation of the
!  *            "System.ComponentModel.ComponentModel.TypeConverterAttribute" 
class.
   *
   * Copyright (C) 2002  Southern Storm Software, Pty Ltd.





reply via email to

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