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
- PropertyGrid.cs
- ShapingEngine.cs
- ObjectNotFoundException.cs
- CategoryGridEntry.cs
- UnsafeNativeMethods.cs
- SqlConnectionHelper.cs
- EntryIndex.cs
- TraceData.cs
- Subtree.cs
- HttpWebRequestElement.cs
- SharedUtils.cs
- ToolboxItemSnapLineBehavior.cs
- X509Utils.cs
- SmiGettersStream.cs
- CollectionViewProxy.cs
- SerializationStore.cs
- FtpCachePolicyElement.cs
- EntryIndex.cs
- WebPartDescription.cs
- ResourceProperty.cs
- ManipulationPivot.cs
- EdmMember.cs
- InstalledVoice.cs
- ReadOnlyDictionary.cs
- SubqueryRules.cs
- StringUtil.cs
- SvcMapFileLoader.cs
- Line.cs
- EnumBuilder.cs
- IpcClientManager.cs
- TextEditorTables.cs
- RayHitTestParameters.cs
- BulletChrome.cs
- XmlSchemaException.cs
- DynamicMethod.cs
- BamlLocalizabilityResolver.cs
- PreviewKeyDownEventArgs.cs
- ProjectionRewriter.cs
- XamlSerializer.cs
- ImmutableDispatchRuntime.cs
- OleDbInfoMessageEvent.cs
- Point3D.cs
- DataGridViewCheckBoxColumn.cs
- FontCollection.cs
- SqlRetyper.cs
- XmlEncoding.cs
- SizeAnimationClockResource.cs
- XPathBuilder.cs
- SqlDataSourceSelectingEventArgs.cs
- DBSchemaRow.cs
- SystemUdpStatistics.cs
- CodeStatement.cs
- ToolStripMenuItem.cs
- SubtreeProcessor.cs
- RuntimeArgumentHandle.cs
- DefaultParameterValueAttribute.cs
- Context.cs
- StyleReferenceConverter.cs
- GridViewItemAutomationPeer.cs
- MembershipPasswordException.cs
- RC2CryptoServiceProvider.cs
- XmlReflectionImporter.cs
- TableLayoutSettings.cs
- Bezier.cs
- RowVisual.cs
- Transform3DGroup.cs
- OracleConnectionString.cs
- ContentFileHelper.cs
- TemplateBindingExpression.cs
- Roles.cs
- Panel.cs
- WebServiceEnumData.cs
- DataGridTablesFactory.cs
- TreeNodeMouseHoverEvent.cs
- Parallel.cs
- ClockController.cs
- TextSpan.cs
- ResourceReferenceKeyNotFoundException.cs
- sqlstateclientmanager.cs
- ContentPlaceHolderDesigner.cs
- CapabilitiesUse.cs
- ValueSerializer.cs
- AutomationPeer.cs
- MouseActionValueSerializer.cs
- DefaultTextStore.cs
- _NegoState.cs
- DataDocumentXPathNavigator.cs
- loginstatus.cs
- HwndHost.cs
- WizardDesigner.cs
- MessageSecurityTokenVersion.cs
- ProfileBuildProvider.cs
- RootBrowserWindowProxy.cs
- HasCopySemanticsAttribute.cs
- _Rfc2616CacheValidators.cs
- BitmapInitialize.cs
- Parameter.cs
- recordstate.cs
- HtmlInputButton.cs
- SqlXmlStorage.cs