Code:
/ 4.0 / 4.0 / 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. 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
- QuaternionKeyFrameCollection.cs
- ScriptBehaviorDescriptor.cs
- GB18030Encoding.cs
- XmlUnspecifiedAttribute.cs
- GACIdentityPermission.cs
- DesignerAttributeInfo.cs
- CurrentChangingEventManager.cs
- DataGridViewImageCell.cs
- Polygon.cs
- XsdDuration.cs
- WebContext.cs
- EastAsianLunisolarCalendar.cs
- PaperSize.cs
- RoleService.cs
- PngBitmapEncoder.cs
- DataTableTypeConverter.cs
- EntityConnection.cs
- InvokeMethodActivityDesigner.cs
- DataGridViewTextBoxEditingControl.cs
- TypeSystemProvider.cs
- HtmlPageAdapter.cs
- SoapIncludeAttribute.cs
- DataColumnMappingCollection.cs
- CompilerGeneratedAttribute.cs
- CompModSwitches.cs
- PerformanceCounterPermissionEntry.cs
- RtfNavigator.cs
- DataContractAttribute.cs
- BinaryWriter.cs
- DefaultSection.cs
- XamlInterfaces.cs
- NavigationHelper.cs
- GroupStyle.cs
- _LazyAsyncResult.cs
- SequenceDesigner.cs
- EventNotify.cs
- Invariant.cs
- ZipFileInfoCollection.cs
- ContentWrapperAttribute.cs
- CustomCredentialPolicy.cs
- LineSegment.cs
- __ComObject.cs
- XmlSchemaImporter.cs
- FontResourceCache.cs
- WebSysDisplayNameAttribute.cs
- BaseDataBoundControl.cs
- SecurityElement.cs
- ClassHandlersStore.cs
- DataTransferEventArgs.cs
- DataSet.cs
- ChangeInterceptorAttribute.cs
- QilTargetType.cs
- JumpTask.cs
- Label.cs
- XmlMemberMapping.cs
- EntityKeyElement.cs
- MethodBuilder.cs
- TypeUtil.cs
- BlurBitmapEffect.cs
- DataControlField.cs
- ListChunk.cs
- Configuration.cs
- OdbcStatementHandle.cs
- AxHost.cs
- XamlStream.cs
- MulticastNotSupportedException.cs
- TdsParserHelperClasses.cs
- ObjectTag.cs
- HtmlButton.cs
- XPathScanner.cs
- CompModSwitches.cs
- ObjectDataSourceStatusEventArgs.cs
- ControlCollection.cs
- WebPartDisplayModeEventArgs.cs
- SQLUtility.cs
- WebPartConnectionsEventArgs.cs
- Permission.cs
- ParamArrayAttribute.cs
- Win32KeyboardDevice.cs
- SupportingTokenBindingElement.cs
- TrackingRecord.cs
- DataGridViewBindingCompleteEventArgs.cs
- Exceptions.cs
- HiddenField.cs
- TextWriter.cs
- AuthorizationRuleCollection.cs
- DataGridViewCellCancelEventArgs.cs
- Currency.cs
- MatrixAnimationBase.cs
- ScriptingAuthenticationServiceSection.cs
- AssemblyBuilderData.cs
- TextAdaptor.cs
- RangeValuePatternIdentifiers.cs
- CapabilitiesSection.cs
- MemoryRecordBuffer.cs
- IdnMapping.cs
- IconBitmapDecoder.cs
- AttributeSetAction.cs
- IItemProperties.cs
- FixedHighlight.cs