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
- DetailsViewDesigner.cs
- x509utils.cs
- MarshalDirectiveException.cs
- SoapSchemaMember.cs
- LinearGradientBrush.cs
- IISUnsafeMethods.cs
- ContextDataSourceView.cs
- ArrayTypeMismatchException.cs
- CharacterHit.cs
- EnumValAlphaComparer.cs
- SchemaTableOptionalColumn.cs
- FontResourceCache.cs
- DataBindingHandlerAttribute.cs
- StrokeRenderer.cs
- SchemaAttDef.cs
- UITypeEditor.cs
- SiteOfOriginContainer.cs
- SkewTransform.cs
- StaticTextPointer.cs
- OrthographicCamera.cs
- DragAssistanceManager.cs
- ProfileEventArgs.cs
- GenericUriParser.cs
- StateManagedCollection.cs
- SafeNativeMethods.cs
- ViewBase.cs
- SelectionPattern.cs
- HijriCalendar.cs
- ListViewGroupItemCollection.cs
- DataFormats.cs
- ContractHandle.cs
- ImagingCache.cs
- TcpTransportSecurity.cs
- DynamicDocumentPaginator.cs
- CryptoKeySecurity.cs
- VectorAnimation.cs
- HitTestParameters.cs
- AppDomainAttributes.cs
- OutputCacheProfileCollection.cs
- XPathSingletonIterator.cs
- InternalConfigSettingsFactory.cs
- SID.cs
- DispatchRuntime.cs
- WMICapabilities.cs
- WorkflowServiceInstance.cs
- SqlFileStream.cs
- Select.cs
- LineInfo.cs
- AnimationTimeline.cs
- ObjectSet.cs
- MessageQueue.cs
- ManagedWndProcTracker.cs
- PathFigureCollection.cs
- StorageEntityTypeMapping.cs
- SourceFileBuildProvider.cs
- RegexRunnerFactory.cs
- _Events.cs
- ServiceOperationWrapper.cs
- RelationshipSet.cs
- TerminatingOperationBehavior.cs
- DataGridViewImageColumn.cs
- SByte.cs
- TemplateGroupCollection.cs
- ListenerChannelContext.cs
- StagingAreaInputItem.cs
- XmlDataLoader.cs
- FormViewInsertEventArgs.cs
- _BaseOverlappedAsyncResult.cs
- GridErrorDlg.cs
- TypedDataSourceCodeGenerator.cs
- Light.cs
- MailAddressParser.cs
- FormsAuthentication.cs
- Monitor.cs
- Stroke.cs
- ContentHostHelper.cs
- ReadOnlyNameValueCollection.cs
- webeventbuffer.cs
- FontFamilyValueSerializer.cs
- UnsafeNativeMethods.cs
- PackWebResponse.cs
- _ShellExpression.cs
- SqlExpressionNullability.cs
- Bezier.cs
- RepeatInfo.cs
- EntryPointNotFoundException.cs
- RTLAwareMessageBox.cs
- EncoderNLS.cs
- LogExtentCollection.cs
- ConsoleCancelEventArgs.cs
- ExitEventArgs.cs
- ProxyFragment.cs
- RowsCopiedEventArgs.cs
- VisualStyleElement.cs
- ConfigXmlComment.cs
- MaxMessageSizeStream.cs
- IIS7WorkerRequest.cs
- CompositeDuplexBindingElement.cs
- ToolStripGripRenderEventArgs.cs
- DataGridAddNewRow.cs