Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / WF / Common / AuthoringOM / Design / WinOEToolBoxItem.cs / 1305376 / WinOEToolBoxItem.cs
namespace System.Workflow.ComponentModel.Design
{
using System;
using System.Collections;
using System.Drawing;
using System.Drawing.Design;
using System.ComponentModel;
using System.Runtime.Serialization;
using System.ComponentModel.Design;
using System.Security.Permissions;
using System.Reflection;
[Serializable]
[PermissionSet(SecurityAction.InheritanceDemand, Name = "FullTrust")]
[PermissionSet(SecurityAction.LinkDemand, Name = "FullTrust")]
public class ActivityToolboxItem: ToolboxItem
{
private const String ActivitySuffix = "Activity";
public ActivityToolboxItem()
{
}
public ActivityToolboxItem(Type type):base(type)
{
//
if (type != null)
{
if (type.Name != null)
{
string name = type.Name;
if ((type.Assembly == Assembly.GetExecutingAssembly() ||
type.Assembly != null && type.Assembly.FullName != null &&
type.Assembly.FullName.Equals(AssemblyRef.ActivitiesAssemblyRef, StringComparison.OrdinalIgnoreCase)) &&
type.Name.EndsWith(ActivitySuffix, StringComparison.Ordinal) &&
!type.Name.Equals(ActivitySuffix, StringComparison.Ordinal))
{
name = type.Name.Substring(0, type.Name.Length - ActivitySuffix.Length);
}
base.DisplayName = name;
}
base.Description = ActivityDesigner.GetActivityDescription(type);
}
}
protected ActivityToolboxItem(SerializationInfo info, StreamingContext context)
{
Deserialize(info, context);
}
public virtual IComponent[] CreateComponentsWithUI(IDesignerHost host)
{
return CreateComponentsCore(host);
}
//
protected override IComponent[] CreateComponentsCore(IDesignerHost host)
{
Type typeOfComponent = GetType(host, AssemblyName, TypeName, true);
if (typeOfComponent == null && host != null)
typeOfComponent = host.GetType(TypeName);
if (typeOfComponent == null)
{
ITypeProviderCreator tpc = null;
if (host != null)
tpc = (ITypeProviderCreator)host.GetService(typeof(ITypeProviderCreator));
if (tpc != null)
{
System.Reflection.Assembly assembly = tpc.GetTransientAssembly(this.AssemblyName);
if (assembly != null)
typeOfComponent = assembly.GetType(this.TypeName);
}
if (typeOfComponent == null)
typeOfComponent = GetType(host, AssemblyName, TypeName, true);
}
ArrayList comps = new ArrayList();
if (typeOfComponent != null)
{
if (typeof(IComponent).IsAssignableFrom(typeOfComponent))
comps.Add(TypeDescriptor.CreateInstance(null, typeOfComponent, null, null));
}
IComponent[] temp = new IComponent[comps.Count];
comps.CopyTo(temp, 0);
return temp;
}
public static Image GetToolboxImage(Type activityType)
{
if (activityType == null)
throw new ArgumentNullException("activityType");
Image toolBoxImage = null;
if (activityType != null)
{
object[] attribs = activityType.GetCustomAttributes(typeof(ToolboxBitmapAttribute), false);
if (attribs != null && attribs.GetLength(0) == 0)
attribs = activityType.GetCustomAttributes(typeof(ToolboxBitmapAttribute), true);
ToolboxBitmapAttribute toolboxBitmapAttribute = (attribs != null && attribs.GetLength(0) > 0) ? attribs[0] as ToolboxBitmapAttribute : null;
if (toolboxBitmapAttribute != null)
toolBoxImage = toolboxBitmapAttribute.GetImage(activityType);
}
return toolBoxImage;
}
public static string GetToolboxDisplayName(Type activityType)
{
if (activityType == null)
throw new ArgumentNullException("activityType");
string displayName = activityType.Name;
object[] toolboxItemAttributes = activityType.GetCustomAttributes(typeof(ToolboxItemAttribute), true);
if (toolboxItemAttributes != null && toolboxItemAttributes.Length > 0)
{
ToolboxItemAttribute toolboxItemAttrib = toolboxItemAttributes[0] as ToolboxItemAttribute;
if (toolboxItemAttrib != null && toolboxItemAttrib.ToolboxItemType != null)
{
try
{
ToolboxItem item = Activator.CreateInstance(toolboxItemAttrib.ToolboxItemType, new object[] { activityType }) as ToolboxItem;
if (item != null)
displayName = item.DisplayName;
}
catch
{
}
}
}
if (activityType.Assembly != null && activityType.Assembly.FullName != null)
{
if ((activityType.Assembly.FullName.Equals(AssemblyRef.ActivitiesAssemblyRef, StringComparison.OrdinalIgnoreCase) ||
activityType.Assembly.FullName.Equals(Assembly.GetExecutingAssembly().FullName, StringComparison.OrdinalIgnoreCase)) &&
displayName.EndsWith(ActivitySuffix, StringComparison.Ordinal) &&
!displayName.Equals(ActivitySuffix, StringComparison.Ordinal))
{
displayName = displayName.Substring(0, displayName.Length - ActivitySuffix.Length);
}
}
return displayName;
}
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
// Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- InfoCardCryptoHelper.cs
- BaseValidator.cs
- Deflater.cs
- MessageLogTraceRecord.cs
- FieldNameLookup.cs
- SamlAuthorizationDecisionClaimResource.cs
- EntityCollection.cs
- CompilationSection.cs
- SqlNamer.cs
- LicenseProviderAttribute.cs
- ApplicationFileParser.cs
- ListenerSessionConnection.cs
- WebControlAdapter.cs
- CubicEase.cs
- LZCodec.cs
- DesignTimeResourceProviderFactoryAttribute.cs
- __Filters.cs
- EventLogEntryCollection.cs
- HyperLinkDataBindingHandler.cs
- TransactionBehavior.cs
- MetadataItemEmitter.cs
- DesignerView.cs
- RegistryKey.cs
- ListViewTableRow.cs
- ThicknessKeyFrameCollection.cs
- RelationshipEnd.cs
- XmlEntityReference.cs
- BitStack.cs
- CreatingCookieEventArgs.cs
- DesignSurfaceCollection.cs
- ToolStripSystemRenderer.cs
- PolicyManager.cs
- XamlClipboardData.cs
- ImportCatalogPart.cs
- PageAsyncTaskManager.cs
- SettingsPropertyIsReadOnlyException.cs
- CollectionExtensions.cs
- HandlerFactoryWrapper.cs
- ArrangedElementCollection.cs
- DigitShape.cs
- BrowserTree.cs
- ManipulationStartedEventArgs.cs
- PatternMatcher.cs
- ContainerParagraph.cs
- MouseOverProperty.cs
- CodeDelegateInvokeExpression.cs
- XmlAnyElementAttributes.cs
- AlternationConverter.cs
- TreeNodeClickEventArgs.cs
- ContextMenuService.cs
- UTF32Encoding.cs
- ReaderOutput.cs
- Transform.cs
- Point3DCollection.cs
- RuntimeHelpers.cs
- SByteStorage.cs
- GPPOINT.cs
- SourceElementsCollection.cs
- EventRoute.cs
- ColorContext.cs
- DecryptedHeader.cs
- base64Transforms.cs
- Material.cs
- ImageUrlEditor.cs
- ArrayElementGridEntry.cs
- TemplateApplicationHelper.cs
- PathNode.cs
- mactripleDES.cs
- QilTypeChecker.cs
- DrawTreeNodeEventArgs.cs
- ParameterReplacerVisitor.cs
- OpenTypeLayoutCache.cs
- RoleService.cs
- XmlSchemaAttributeGroup.cs
- errorpatternmatcher.cs
- TitleStyle.cs
- Item.cs
- GenericPrincipal.cs
- ETagAttribute.cs
- AsymmetricSignatureDeformatter.cs
- SystemIcmpV4Statistics.cs
- DataGridViewRowHeightInfoPushedEventArgs.cs
- QueryRewriter.cs
- ConfigurationSectionGroup.cs
- wgx_render.cs
- Underline.cs
- Pts.cs
- CodeMemberProperty.cs
- CharKeyFrameCollection.cs
- TextEndOfLine.cs
- AnimationException.cs
- TextSpanModifier.cs
- HtmlTableCellCollection.cs
- _SslState.cs
- FactoryGenerator.cs
- XmlLanguageConverter.cs
- CfgParser.cs
- DeferredTextReference.cs
- AttributeEmitter.cs
- XmlConvert.cs