|
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.ComponentModel.Design;
using System.ComponentModel;
namespace Mullivan.Web
{
internal sealed class TypeDescriptorContext : ITypeDescriptorContext, IServiceProvider
{
// Fields
private IDesignerHost _designerHost;
private object _instance;
private PropertyDescriptor _propDesc;
// Methods
public TypeDescriptorContext(IDesignerHost designerHost, PropertyDescriptor propDesc, object instance)
{
this._designerHost = designerHost;
this._propDesc = propDesc;
this._instance = instance;
}
public object GetService(Type serviceType)
{
return this._designerHost.GetService(serviceType);
}
public void OnComponentChanged()
{
if (this.ComponentChangeService != null)
{
this.ComponentChangeService.OnComponentChanged(this._instance, this._propDesc, null, null);
}
}
public bool OnComponentChanging()
{
if (this.ComponentChangeService != null)
{
try
{
this.ComponentChangeService.OnComponentChanging(this._instance, this._propDesc);
}
catch (CheckoutException exception)
{
if (exception != CheckoutException.Canceled)
{
throw exception;
}
return false;
}
}
return true;
}
// Properties
private IComponentChangeService ComponentChangeService
{
get
{
return (IComponentChangeService)this._designerHost.GetService(typeof(IComponentChangeService));
}
}
public IContainer Container
{
get
{
return (IContainer)this._designerHost.GetService(typeof(IContainer));
}
}
public object Instance
{
get
{
return this._instance;
}
}
public PropertyDescriptor PropertyDescriptor
{
get
{
return this._propDesc;
}
}
}
}
|
By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.
If a file you wish to view isn't highlighted, and is a text file (not binary), please
let us know and we'll add colourisation support for it.
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.