Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / WF / Common / AuthoringOM / Design / Glyphs / SelectionGlyph.cs / 1305376 / SelectionGlyph.cs
namespace System.Workflow.ComponentModel.Design { using System; using System.Drawing; using System.Drawing.Drawing2D; using System.Windows.Forms; #region Glyphs #region Class SelectionGlyph public abstract class SelectionGlyph : DesignerGlyph { public override Rectangle GetBounds(ActivityDesigner designer, bool activated) { if (designer == null) throw new ArgumentNullException("designer"); Rectangle rectangle = designer.Bounds; rectangle.Inflate(WorkflowTheme.CurrentTheme.AmbientTheme.SelectionSize.Width / 2, WorkflowTheme.CurrentTheme.AmbientTheme.SelectionSize.Height / 2); return rectangle; } protected override void OnPaint(Graphics graphics, bool activated, AmbientTheme ambientTheme, ActivityDesigner designer) { ActivityDesignerPaint.DrawSelection(graphics, GetBounds(designer, activated), IsPrimarySelection, WorkflowTheme.CurrentTheme.AmbientTheme.SelectionSize, GetGrabHandles(designer)); } public override int Priority { get { return DesignerGlyph.SelectionPriority; } } public abstract bool IsPrimarySelection { get;} public virtual Rectangle[] GetGrabHandles(ActivityDesigner designer) { Size selectionSize = WorkflowTheme.CurrentTheme.AmbientTheme.SelectionSize; Size grabHandleSize = new Size(selectionSize.Width, selectionSize.Height); Rectangle selectionRect = GetBounds(designer, false); selectionRect.Inflate(selectionSize.Width, selectionSize.Height); //we need grab handles only in case this activity is an immediate child of a free-form activity //otherwise, no grab handles ActivityDesigner parentDesigner = designer.ParentDesigner; Rectangle[] grabHandles = null; if (parentDesigner != null && parentDesigner is FreeformActivityDesigner) { grabHandles = new Rectangle[8]; grabHandles[0] = new Rectangle(selectionRect.Location, grabHandleSize); grabHandles[1] = new Rectangle(new Point(selectionRect.Left + (selectionRect.Width - grabHandleSize.Width) / 2, selectionRect.Top), grabHandleSize); grabHandles[2] = new Rectangle(selectionRect.Right - grabHandleSize.Width, selectionRect.Top, grabHandleSize.Width, grabHandleSize.Height); grabHandles[3] = new Rectangle(new Point(selectionRect.Right - grabHandleSize.Width, selectionRect.Top + (selectionRect.Height - grabHandleSize.Height) / 2), grabHandleSize); grabHandles[4] = new Rectangle(selectionRect.Right - grabHandleSize.Width, selectionRect.Bottom - grabHandleSize.Height, grabHandleSize.Width, grabHandleSize.Height); grabHandles[5] = new Rectangle(new Point(selectionRect.Left + (selectionRect.Width - grabHandleSize.Width) / 2, selectionRect.Bottom - grabHandleSize.Height), grabHandleSize); grabHandles[6] = new Rectangle(selectionRect.Left, selectionRect.Bottom - grabHandleSize.Height, grabHandleSize.Width, grabHandleSize.Height); grabHandles[7] = new Rectangle(new Point(selectionRect.Left, selectionRect.Top + (selectionRect.Height - grabHandleSize.Height) / 2), grabHandleSize); return grabHandles; } else { grabHandles = new Rectangle[1]; grabHandles[0] = new Rectangle(selectionRect.Location, grabHandleSize); } return grabHandles; } } #endregion #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
- MultiSelector.cs
- XmlSchemaDocumentation.cs
- EntityClassGenerator.cs
- MetadataArtifactLoaderXmlReaderWrapper.cs
- TextSegment.cs
- HelpEvent.cs
- LinkedResourceCollection.cs
- XmlPreloadedResolver.cs
- WebBrowserNavigatedEventHandler.cs
- LabelAutomationPeer.cs
- RSAPKCS1KeyExchangeDeformatter.cs
- XsltLoader.cs
- ShapingEngine.cs
- LocatorPartList.cs
- DateTimeUtil.cs
- ByteStream.cs
- ContextMenuService.cs
- SecurityIdentifierElementCollection.cs
- OdbcStatementHandle.cs
- ValidationResult.cs
- KeyInstance.cs
- entitydatasourceentitysetnameconverter.cs
- ProxyFragment.cs
- ToggleButtonAutomationPeer.cs
- SqlDataReader.cs
- HybridWebProxyFinder.cs
- SchemaTypeEmitter.cs
- HttpCacheParams.cs
- SqlDataSourceCache.cs
- BmpBitmapDecoder.cs
- PermissionAttributes.cs
- AsyncContentLoadedEventArgs.cs
- ParentUndoUnit.cs
- MessageQueueCriteria.cs
- DataGrid.cs
- TabControl.cs
- WindowsFont.cs
- UIElementCollection.cs
- SeverityFilter.cs
- MergePropertyDescriptor.cs
- SeverityFilter.cs
- ClientType.cs
- ColorConverter.cs
- ToggleButton.cs
- OleStrCAMarshaler.cs
- ZipIOExtraField.cs
- DataDocumentXPathNavigator.cs
- DataGridItemEventArgs.cs
- basenumberconverter.cs
- FormatConvertedBitmap.cs
- ConfigurationPropertyCollection.cs
- GridViewRowEventArgs.cs
- InteropBitmapSource.cs
- ContentHostHelper.cs
- Stroke2.cs
- ColorTransform.cs
- ByteAnimationBase.cs
- SqlNodeTypeOperators.cs
- XmlILStorageConverter.cs
- XmlAttributeAttribute.cs
- AdRotatorDesigner.cs
- PerformanceCounter.cs
- IPipelineRuntime.cs
- KeyValueConfigurationElement.cs
- GeometryHitTestParameters.cs
- HttpWebResponse.cs
- CompiledXpathExpr.cs
- CompModSwitches.cs
- SocketPermission.cs
- EmptyStringExpandableObjectConverter.cs
- TimeZoneNotFoundException.cs
- AtomServiceDocumentSerializer.cs
- XmlComplianceUtil.cs
- XmlAttributeAttribute.cs
- FtpWebRequest.cs
- BindMarkupExtensionSerializer.cs
- RegionIterator.cs
- VirtualPathExtension.cs
- UInt32.cs
- ADMembershipUser.cs
- ErrorFormatterPage.cs
- ClientProxyGenerator.cs
- HandledEventArgs.cs
- CustomAttributeBuilder.cs
- ButtonBase.cs
- TrustManagerMoreInformation.cs
- TraceProvider.cs
- RenderCapability.cs
- PriorityQueue.cs
- IUnknownConstantAttribute.cs
- QilChoice.cs
- DashStyle.cs
- SkewTransform.cs
- _ConnectStream.cs
- UserControl.cs
- TextRunCache.cs
- CheckBox.cs
- AdPostCacheSubstitution.cs
- TimeSpan.cs
- FunctionUpdateCommand.cs