anx.framework/Visual Studio/MPF11/Dev11/Src/CSharp/LocalizableProperties.cs
Konstantin Koch 8287c54432 Included the Visual Studio extension and made the necessary changes to make it run.
Replaced the old VS templates with ones that offer more flexiblity.
Started replacing the Content Project for the samples with our custom project type.
Inlcuded a basic not yet working AssimpImporter.
2015-04-08 14:50:03 +02:00

112 lines
3.7 KiB
C#

/* ****************************************************************************
*
* Copyright (c) Microsoft Corporation.
*
* This source code is subject to terms and conditions of the Apache License, Version 2.0. A
* copy of the license can be found in the License.html file at the root of this distribution. If
* you cannot locate the Apache License, Version 2.0, please send an email to
* vspython@microsoft.com. By using this source code in any fashion, you are agreeing to be bound
* by the terms of the Apache License, Version 2.0.
*
* You must not remove this notice, or any other, from this software.
*
* ***************************************************************************/
using System;
using System.Collections;
using System.ComponentModel;
using System.Runtime.InteropServices;
namespace Microsoft.VisualStudio.Project
{
/// <summary>
/// Enables a managed object to expose properties and attributes for COM objects.
/// </summary>
[ComVisible(true)]
public class LocalizableProperties : ICustomTypeDescriptor
{
#region ICustomTypeDescriptor
public virtual AttributeCollection GetAttributes()
{
AttributeCollection col = TypeDescriptor.GetAttributes(this, true);
return col;
}
public virtual EventDescriptor GetDefaultEvent()
{
EventDescriptor ed = TypeDescriptor.GetDefaultEvent(this, true);
return ed;
}
public virtual PropertyDescriptor GetDefaultProperty()
{
PropertyDescriptor pd = TypeDescriptor.GetDefaultProperty(this, true);
return pd;
}
public virtual object GetEditor(Type editorBaseType)
{
object o = TypeDescriptor.GetEditor(this, editorBaseType, true);
return o;
}
public virtual EventDescriptorCollection GetEvents()
{
EventDescriptorCollection edc = TypeDescriptor.GetEvents(this, true);
return edc;
}
public virtual EventDescriptorCollection GetEvents(System.Attribute[] attributes)
{
EventDescriptorCollection edc = TypeDescriptor.GetEvents(this, attributes, true);
return edc;
}
public virtual object GetPropertyOwner(PropertyDescriptor pd)
{
return this;
}
public virtual PropertyDescriptorCollection GetProperties()
{
PropertyDescriptorCollection pcol = GetProperties(null);
return pcol;
}
public virtual PropertyDescriptorCollection GetProperties(System.Attribute[] attributes)
{
ArrayList newList = new ArrayList();
PropertyDescriptorCollection props = TypeDescriptor.GetProperties(this, attributes, true);
for (int i = 0; i < props.Count; i++)
newList.Add(CreateDesignPropertyDescriptor(props[i]));
return new PropertyDescriptorCollection((PropertyDescriptor[])newList.ToArray(typeof(PropertyDescriptor))); ;
}
public virtual DesignPropertyDescriptor CreateDesignPropertyDescriptor(PropertyDescriptor propertyDescriptor)
{
return new DesignPropertyDescriptor(propertyDescriptor);
}
public virtual string GetComponentName()
{
string name = TypeDescriptor.GetComponentName(this, true);
return name;
}
public virtual TypeConverter GetConverter()
{
TypeConverter tc = TypeDescriptor.GetConverter(this, true);
return tc;
}
public virtual string GetClassName()
{
return this.GetType().FullName;
}
#endregion ICustomTypeDescriptor
}
}