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
- FileFormatException.cs
- UnsafeNativeMethods.cs
- GridViewSelectEventArgs.cs
- FreezableOperations.cs
- OutOfProcStateClientManager.cs
- ToolStripSplitButton.cs
- ParseElement.cs
- CodeTypeParameter.cs
- OutputCacheProfile.cs
- SqlRowUpdatedEvent.cs
- BinaryKeyIdentifierClause.cs
- BehaviorEditorPart.cs
- TdsRecordBufferSetter.cs
- Thickness.cs
- NetPeerTcpBindingElement.cs
- XamlReaderHelper.cs
- Propagator.JoinPropagator.cs
- KnownTypesHelper.cs
- RowToFieldTransformer.cs
- MasterPageParser.cs
- MatrixTransform3D.cs
- TypographyProperties.cs
- Content.cs
- GeneralTransform.cs
- CommandExpr.cs
- CommandValueSerializer.cs
- SmiMetaDataProperty.cs
- OutputCacheSettings.cs
- ToggleButton.cs
- EntityDataSourceMemberPath.cs
- ObjectNotFoundException.cs
- OutOfProcStateClientManager.cs
- QuaternionAnimation.cs
- Application.cs
- TextTreeRootTextBlock.cs
- SqlStatistics.cs
- DateTimeFormatInfoScanner.cs
- UIInitializationException.cs
- IRCollection.cs
- BCryptNative.cs
- log.cs
- StaticTextPointer.cs
- HtmlInputButton.cs
- EmptyControlCollection.cs
- DocumentGridPage.cs
- CustomBinding.cs
- GridViewRowCollection.cs
- RoutingService.cs
- AssemblyBuilder.cs
- LedgerEntry.cs
- TraceHandler.cs
- AdornedElementPlaceholder.cs
- ProtocolsConfiguration.cs
- ImageSource.cs
- TreeWalkHelper.cs
- DataContractSet.cs
- TypedRowHandler.cs
- FindRequestContext.cs
- GridViewCancelEditEventArgs.cs
- UIElementParaClient.cs
- DocumentXmlWriter.cs
- Trace.cs
- SecurityKeyUsage.cs
- VScrollBar.cs
- ListViewDataItem.cs
- System.Data_BID.cs
- HtmlLink.cs
- BlockUIContainer.cs
- KeyboardNavigation.cs
- TogglePatternIdentifiers.cs
- BaseTemplateBuildProvider.cs
- OneOf.cs
- SchemaAttDef.cs
- Rect3DValueSerializer.cs
- StringResourceManager.cs
- ProcessHost.cs
- ProvideValueServiceProvider.cs
- IdentityModelDictionary.cs
- WorkflowMarkupSerializationProvider.cs
- PageContentCollection.cs
- DataGridHeaderBorder.cs
- TextServicesDisplayAttributePropertyRanges.cs
- InternalControlCollection.cs
- ValidationErrorCollection.cs
- SqlTriggerAttribute.cs
- DataColumnChangeEvent.cs
- EntityDataSourceDesignerHelper.cs
- __TransparentProxy.cs
- HttpEncoder.cs
- HostingPreferredMapPath.cs
- FileDialog_Vista.cs
- OperationSelectorBehavior.cs
- SurrogateChar.cs
- MutexSecurity.cs
- PointCollectionConverter.cs
- SparseMemoryStream.cs
- SQLDateTime.cs
- ListBoxItemAutomationPeer.cs
- LostFocusEventManager.cs
- SchemaTableOptionalColumn.cs