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
- InputManager.cs
- codemethodreferenceexpression.cs
- ElementsClipboardData.cs
- XmlSchemaSimpleContent.cs
- CacheMemory.cs
- SystemUnicastIPAddressInformation.cs
- XmlArrayAttribute.cs
- PointAnimation.cs
- HtmlTableCell.cs
- ScrollChrome.cs
- OdbcConnection.cs
- CompilerErrorCollection.cs
- OpCopier.cs
- ColumnHeaderConverter.cs
- DispatchOperation.cs
- SerializationUtilities.cs
- ErrorHandler.cs
- ExtentKey.cs
- GorillaCodec.cs
- TextModifierScope.cs
- RandomDelayQueuedSendsAsyncResult.cs
- ConnectivityStatus.cs
- RemoteWebConfigurationHostStream.cs
- SignedXml.cs
- ChannelEndpointElement.cs
- SchemaDeclBase.cs
- StreamInfo.cs
- ClientScriptManagerWrapper.cs
- ManifestBasedResourceGroveler.cs
- SoapTypeAttribute.cs
- HMACRIPEMD160.cs
- ControlValuePropertyAttribute.cs
- SvcMapFileLoader.cs
- AuthenticationSection.cs
- HotSpotCollectionEditor.cs
- DataGridViewCell.cs
- ButtonBaseDesigner.cs
- TextEditor.cs
- MarkupObject.cs
- DataStorage.cs
- KeyInterop.cs
- wgx_sdk_version.cs
- BindingList.cs
- TreeNodeStyleCollectionEditor.cs
- Font.cs
- ArglessEventHandlerProxy.cs
- ServiceDescriptionData.cs
- AmbientLight.cs
- wmiprovider.cs
- XmlNode.cs
- DataGridViewComboBoxColumn.cs
- SqlDataSourceView.cs
- DataServiceQueryOfT.cs
- UriSchemeKeyedCollection.cs
- WebPartManagerInternals.cs
- VersionedStreamOwner.cs
- Rules.cs
- Literal.cs
- IERequestCache.cs
- BinaryObjectInfo.cs
- HebrewCalendar.cs
- DocumentViewerAutomationPeer.cs
- TreeNodeCollectionEditorDialog.cs
- IDQuery.cs
- BooleanFunctions.cs
- CodeDomConfigurationHandler.cs
- ResourceSet.cs
- Command.cs
- Accessors.cs
- FileSystemEventArgs.cs
- QuotedPrintableStream.cs
- WithParamAction.cs
- MultiPartWriter.cs
- EntityTypeEmitter.cs
- SqlDataAdapter.cs
- SqlVisitor.cs
- ControlCachePolicy.cs
- ActiveDesignSurfaceEvent.cs
- StreamWithDictionary.cs
- MessageLoggingElement.cs
- PrivateFontCollection.cs
- ReadOnlyDictionary.cs
- PageStatePersister.cs
- MobileControlPersister.cs
- XmlRootAttribute.cs
- XPathDocumentIterator.cs
- XmlComplianceUtil.cs
- ForceCopyBuildProvider.cs
- ParenExpr.cs
- DBSchemaTable.cs
- FixedSOMTable.cs
- Model3D.cs
- QueueSurrogate.cs
- XpsResource.cs
- SchemeSettingElement.cs
- PackageDigitalSignature.cs
- NominalTypeEliminator.cs
- TypeDelegator.cs
- HtmlUtf8RawTextWriter.cs
- ProcessModelSection.cs