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
- HttpAsyncResult.cs
- DataGridViewHeaderCell.cs
- SizeConverter.cs
- UnicodeEncoding.cs
- PrintDialog.cs
- RewritingPass.cs
- X509Utils.cs
- ExtensionCollection.cs
- SoapAttributeOverrides.cs
- ImageField.cs
- HttpModuleCollection.cs
- ServiceOperation.cs
- FontCacheLogic.cs
- ListViewUpdateEventArgs.cs
- DbXmlEnabledProviderManifest.cs
- Decoder.cs
- XhtmlBasicFormAdapter.cs
- OpenTypeLayout.cs
- ComPlusTraceRecord.cs
- CaseInsensitiveHashCodeProvider.cs
- FileLogRecordEnumerator.cs
- MobileUserControl.cs
- DataSourceHelper.cs
- EntityDataSourceWrapper.cs
- SiteIdentityPermission.cs
- AdCreatedEventArgs.cs
- Choices.cs
- DecoderFallback.cs
- SQLBinary.cs
- ValidatingCollection.cs
- JapaneseCalendar.cs
- SafeHandles.cs
- ListViewDesigner.cs
- RemotingServices.cs
- ExtentCqlBlock.cs
- LinqDataSourceEditData.cs
- ConstraintStruct.cs
- RenderingBiasValidation.cs
- SessionSwitchEventArgs.cs
- CodeMemberField.cs
- PermissionSetEnumerator.cs
- ProfileManager.cs
- IndentTextWriter.cs
- BooleanKeyFrameCollection.cs
- SQLResource.cs
- GridItemPattern.cs
- XmlTextReaderImpl.cs
- Security.cs
- IApplicationTrustManager.cs
- HexParser.cs
- DataGridTablesFactory.cs
- KnownAssembliesSet.cs
- StorageMappingItemLoader.cs
- SubclassTypeValidator.cs
- EmbeddedMailObjectsCollection.cs
- DictionaryManager.cs
- SectionInformation.cs
- ItemAutomationPeer.cs
- PriorityItem.cs
- ChildTable.cs
- XmlTextReaderImpl.cs
- ArrowControl.xaml.cs
- SchemaNotation.cs
- MethodImplAttribute.cs
- UserMapPath.cs
- ViewBase.cs
- StyleTypedPropertyAttribute.cs
- IgnoreSection.cs
- SqlDeflator.cs
- TextOnlyOutput.cs
- DocumentXPathNavigator.cs
- TextServicesHost.cs
- CodeDOMProvider.cs
- Point.cs
- CollectionCodeDomSerializer.cs
- Operators.cs
- oledbmetadatacollectionnames.cs
- DebugHandleTracker.cs
- OrderedDictionary.cs
- isolationinterop.cs
- SystemIPInterfaceProperties.cs
- LineServicesCallbacks.cs
- SQLBoolean.cs
- EnvironmentPermission.cs
- ToolBarDesigner.cs
- XDRSchema.cs
- SrgsSemanticInterpretationTag.cs
- Shared.cs
- AssertSection.cs
- DesignerActionListCollection.cs
- SynchronizedDispatch.cs
- OracleConnectionFactory.cs
- MetabaseSettingsIis7.cs
- GridEntry.cs
- Rules.cs
- EnterpriseServicesHelper.cs
- DeclaredTypeElementCollection.cs
- PrincipalPermission.cs
- QuaternionConverter.cs
- ConstraintConverter.cs