Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / WF / Activities / Designers / ListenDesigner.cs / 1305376 / ListenDesigner.cs
namespace System.Workflow.Activities { using System; using System.Text; using System.Reflection; using System.Collections; using System.Collections.ObjectModel; using System.CodeDom; using System.ComponentModel; using System.ComponentModel.Design; using System.Drawing.Design; using System.Drawing; using System.Drawing.Drawing2D; using System.Diagnostics; using System.Workflow.ComponentModel; using System.Workflow.ComponentModel.Design; using System.Runtime.Serialization; #region Class ListenToolboxItem [Serializable] internal sealed class ListenToolboxItem: ActivityToolboxItem { public ListenToolboxItem(Type type) : base(type) { } private ListenToolboxItem(SerializationInfo info, StreamingContext context) { Deserialize(info, context); } protected override IComponent[] CreateComponentsCore(IDesignerHost designerHost) { CompositeActivity listenActivity = new ListenActivity(); listenActivity.Activities.Add(new EventDrivenActivity()); listenActivity.Activities.Add(new EventDrivenActivity()); return (IComponent[])new IComponent[] {listenActivity}; } } #endregion #region Class ListenDesigner [ActivityDesignerTheme(typeof(ListenDesignerTheme))] internal sealed class ListenDesigner: ParallelActivityDesigner { #region Properties and Methods public override bool CanInsertActivities(HitTestInfo insertLocation, ReadOnlyCollectionactivitiesToInsert) { foreach (Activity activity in activitiesToInsert) { if (!(activity is EventDrivenActivity)) return false; } return base.CanInsertActivities(insertLocation, activitiesToInsert); } protected override CompositeActivity OnCreateNewBranch() { return new EventDrivenActivity(); } protected override void OnPaint(ActivityDesignerPaintEventArgs e) { base.OnPaint(e); if (!Expanded || ContainedDesigners.Count == 0 || this != ActiveView.AssociatedDesigner) return; CompositeDesignerTheme compositeDesignerTheme = e.DesignerTheme as CompositeDesignerTheme; Debug.Assert(compositeDesignerTheme != null); if (compositeDesignerTheme == null) return; //Draw the Icon and Text Rectangle bounds = Bounds; Rectangle imageRectangle = ImageRectangle; Rectangle roundRectangle = Rectangle.Empty; roundRectangle.Width = compositeDesignerTheme.ConnectorSize.Height - 2 * e.AmbientTheme.Margin.Height - 1; roundRectangle.Height = roundRectangle.Width; roundRectangle.X = bounds.Left + bounds.Width / 2 - roundRectangle.Width / 2; roundRectangle.Y = bounds.Top + TitleHeight + (compositeDesignerTheme.ConnectorSize.Height * 3 / 2 - roundRectangle.Height) / 2; e.Graphics.FillEllipse(compositeDesignerTheme.ForegroundBrush, roundRectangle); e.Graphics.DrawEllipse(compositeDesignerTheme.ForegroundPen, roundRectangle); roundRectangle.Y = bounds.Bottom - compositeDesignerTheme.ConnectorSize.Height * 3 / 2 + (compositeDesignerTheme.ConnectorSize.Height * 3 / 2 - roundRectangle.Height) / 2; e.Graphics.FillEllipse(compositeDesignerTheme.ForegroundBrush, roundRectangle); e.Graphics.DrawEllipse(compositeDesignerTheme.ForegroundPen, roundRectangle); } #endregion } #endregion #region ListenDesignerTheme internal sealed class ListenDesignerTheme : CompositeDesignerTheme { public ListenDesignerTheme(WorkflowTheme theme) : base(theme) { this.ShowDropShadow = false; this.ConnectorStartCap = LineAnchor.None; this.ConnectorEndCap = LineAnchor.None; this.ForeColor = Color.FromArgb(0xFF, 0x80, 0x00, 0x00); this.BorderColor = Color.FromArgb(0xFF, 0xE0, 0xE0, 0xE0); this.BorderStyle = DashStyle.Dash; this.BackColorStart = Color.FromArgb(0x00, 0x00, 0x00, 0x00); this.BackColorEnd = Color.FromArgb(0x00, 0x00, 0x00, 0x00); } } #endregion } // 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
- Transform.cs
- DataTransferEventArgs.cs
- Token.cs
- Point3DAnimationUsingKeyFrames.cs
- SoapMessage.cs
- CodeBlockBuilder.cs
- Latin1Encoding.cs
- SynchronizedCollection.cs
- ClientUtils.cs
- LinqDataSourceValidationException.cs
- WindowsListView.cs
- PeerCollaboration.cs
- File.cs
- DataSourceSelectArguments.cs
- XmlSchemaSubstitutionGroup.cs
- _ConnectOverlappedAsyncResult.cs
- DataGridViewSelectedRowCollection.cs
- TakeOrSkipQueryOperator.cs
- Renderer.cs
- OutputScopeManager.cs
- KeyTime.cs
- Synchronization.cs
- Image.cs
- EmissiveMaterial.cs
- SQLInt64.cs
- XmlSchemaAttributeGroupRef.cs
- LinkedResourceCollection.cs
- DurableRuntimeValidator.cs
- CompositeFontFamily.cs
- FrameworkContentElement.cs
- TextRange.cs
- TheQuery.cs
- WindowsFont.cs
- QueryRewriter.cs
- Double.cs
- WebGetAttribute.cs
- DesignTimeVisibleAttribute.cs
- TextTreeTextBlock.cs
- SiteMapDataSourceView.cs
- RectAnimationUsingKeyFrames.cs
- ReadOnlyMetadataCollection.cs
- RelationshipEndMember.cs
- GeneralTransformGroup.cs
- CodeSnippetTypeMember.cs
- SmtpReplyReaderFactory.cs
- Expressions.cs
- RandomNumberGenerator.cs
- XmlLanguageConverter.cs
- PropertyChangeTracker.cs
- Int32AnimationUsingKeyFrames.cs
- UnaryExpressionHelper.cs
- DependsOnAttribute.cs
- ObjectPersistData.cs
- EmbeddedMailObject.cs
- ImageAnimator.cs
- TextFormatterContext.cs
- ContractMapping.cs
- TextParagraphView.cs
- CollectionBase.cs
- DataTableMappingCollection.cs
- KeyedHashAlgorithm.cs
- EventMappingSettings.cs
- XmlDocument.cs
- XamlFigureLengthSerializer.cs
- HttpConfigurationContext.cs
- ScrollData.cs
- ImpersonationContext.cs
- TypedReference.cs
- ApplicationActivator.cs
- DataView.cs
- Parsers.cs
- KoreanLunisolarCalendar.cs
- NameNode.cs
- FieldToken.cs
- EpmSyndicationContentSerializer.cs
- DbSetClause.cs
- FrameworkTemplate.cs
- FilteredAttributeCollection.cs
- SqlRetyper.cs
- BookmarkEventArgs.cs
- KnownTypesHelper.cs
- CodeStatementCollection.cs
- MSAAEventDispatcher.cs
- CounterCreationData.cs
- TraversalRequest.cs
- OrderToken.cs
- ActiveDocumentEvent.cs
- TypeNameConverter.cs
- RuleSettingsCollection.cs
- ScalarRestriction.cs
- objectresult_tresulttype.cs
- WorkflowService.cs
- IIS7UserPrincipal.cs
- LogManagementAsyncResult.cs
- GridViewSortEventArgs.cs
- AttachedPropertyBrowsableAttribute.cs
- SigningProgress.cs
- TableLayoutCellPaintEventArgs.cs
- PingOptions.cs
- ListControl.cs