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
- Package.cs
- CodeCompileUnit.cs
- CompilerCollection.cs
- Positioning.cs
- ConfigUtil.cs
- ValidationEventArgs.cs
- DataControlReference.cs
- AggregateException.cs
- TextServicesDisplayAttribute.cs
- ThicknessConverter.cs
- ChangeBlockUndoRecord.cs
- ClassData.cs
- MainMenu.cs
- _SecureChannel.cs
- ErrorEventArgs.cs
- EntityDataSourceQueryBuilder.cs
- ConnectionStringSettings.cs
- GridViewCancelEditEventArgs.cs
- DependencyPropertyKey.cs
- CombinedGeometry.cs
- OdbcConnectionFactory.cs
- IODescriptionAttribute.cs
- ObjectAnimationBase.cs
- VirtualDirectoryMapping.cs
- PrefixHandle.cs
- XmlSortKeyAccumulator.cs
- PartialTrustHelpers.cs
- SimplePropertyEntry.cs
- Speller.cs
- PartitionResolver.cs
- DataGridViewLinkCell.cs
- ResolveMatchesCD1.cs
- WsdlParser.cs
- _SpnDictionary.cs
- Transform3D.cs
- KeyValuePair.cs
- Material.cs
- CollectionBuilder.cs
- XmlLinkedNode.cs
- QueryExtender.cs
- WorkflowValidationFailedException.cs
- DateTimeValueSerializer.cs
- SocketInformation.cs
- XmlIlGenerator.cs
- XPathChildIterator.cs
- Set.cs
- DataServiceContext.cs
- DocumentSequenceHighlightLayer.cs
- NameNode.cs
- DataGridView.cs
- GridViewColumnCollectionChangedEventArgs.cs
- MulticastDelegate.cs
- Transform.cs
- MaskedTextBoxTextEditor.cs
- InvocationExpression.cs
- ExpressionBuilder.cs
- GridView.cs
- DBSchemaRow.cs
- CurrencyManager.cs
- SamlAction.cs
- Model3D.cs
- ListItemCollection.cs
- BufferModeSettings.cs
- FragmentQuery.cs
- SqlUserDefinedTypeAttribute.cs
- WebPartAddingEventArgs.cs
- ToolStripPanelDesigner.cs
- Compilation.cs
- ScaleTransform.cs
- MultitargetingHelpers.cs
- TypeInfo.cs
- HuffmanTree.cs
- CommonEndpointBehaviorElement.cs
- TreeNodeEventArgs.cs
- CheckBoxFlatAdapter.cs
- NativeWindow.cs
- XmlSerializationGeneratedCode.cs
- DictionarySectionHandler.cs
- PropertyGridDesigner.cs
- CompiledRegexRunnerFactory.cs
- ReflectionPermission.cs
- StylusOverProperty.cs
- JsonEncodingStreamWrapper.cs
- DataContractAttribute.cs
- FileFormatException.cs
- XmlChoiceIdentifierAttribute.cs
- TextPointer.cs
- ClientRuntimeConfig.cs
- Error.cs
- MetadataArtifactLoaderFile.cs
- PtsCache.cs
- ArrayEditor.cs
- oledbconnectionstring.cs
- RichTextBoxConstants.cs
- ClientBuildManagerCallback.cs
- Model3DCollection.cs
- OleDragDropHandler.cs
- WS2007HttpBindingCollectionElement.cs
- MasterPageBuildProvider.cs
- Int32EqualityComparer.cs