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
- GeneralTransform.cs
- ComplexObject.cs
- TraceListeners.cs
- XslTransform.cs
- Image.cs
- RequestQueryProcessor.cs
- EventItfInfo.cs
- SimpleWorkerRequest.cs
- HierarchicalDataBoundControl.cs
- While.cs
- ThreadSafeList.cs
- XmlText.cs
- ProfilePropertyMetadata.cs
- RegisteredHiddenField.cs
- RawStylusInputCustomDataList.cs
- GenericIdentity.cs
- DataSourceCache.cs
- FontFamilyValueSerializer.cs
- XmlEventCache.cs
- ContainerParaClient.cs
- HandleCollector.cs
- ComplexType.cs
- AdobeCFFWrapper.cs
- HttpChannelListener.cs
- CompilerErrorCollection.cs
- CapabilitiesRule.cs
- HtmlString.cs
- ArrayListCollectionBase.cs
- XmlSchemaGroup.cs
- NetCodeGroup.cs
- TypeConverterAttribute.cs
- SmtpFailedRecipientsException.cs
- RootProfilePropertySettingsCollection.cs
- TimeManager.cs
- TypeDependencyAttribute.cs
- ConfigsHelper.cs
- EventLogPermissionAttribute.cs
- DBSchemaTable.cs
- LiteralControl.cs
- PeerFlooder.cs
- WindowClosedEventArgs.cs
- CatalogZone.cs
- Atom10FormatterFactory.cs
- PeerHelpers.cs
- DetailsViewRow.cs
- AnnotationService.cs
- ElementNotEnabledException.cs
- EncoderNLS.cs
- COM2Properties.cs
- ReservationCollection.cs
- CommandBinding.cs
- GlobalEventManager.cs
- UseManagedPresentationBindingElement.cs
- ObjectSecurity.cs
- StrokeRenderer.cs
- BufferedGraphicsContext.cs
- DataGridPagingPage.cs
- Lease.cs
- FactoryMaker.cs
- TreeIterator.cs
- KnownBoxes.cs
- ModulesEntry.cs
- mactripleDES.cs
- WorkflowOwnershipException.cs
- UnsafeNetInfoNativeMethods.cs
- COM2ExtendedBrowsingHandler.cs
- BrowserCapabilitiesCompiler.cs
- ipaddressinformationcollection.cs
- FontResourceCache.cs
- CredentialCache.cs
- DependencyPropertyChangedEventArgs.cs
- TableAdapterManagerHelper.cs
- PropertyPathWorker.cs
- IntranetCredentialPolicy.cs
- HttpListenerResponse.cs
- RangeValueProviderWrapper.cs
- DataControlPagerLinkButton.cs
- TraceContextEventArgs.cs
- DataColumnPropertyDescriptor.cs
- MethodCallTranslator.cs
- CodeTypeOfExpression.cs
- GridViewRowCollection.cs
- PropertyGeneratedEventArgs.cs
- SafeWaitHandle.cs
- IndicCharClassifier.cs
- GeneralTransform.cs
- MutableAssemblyCacheEntry.cs
- WsdlHelpGeneratorElement.cs
- sqlpipe.cs
- UrlPath.cs
- AtlasWeb.Designer.cs
- AccessDataSource.cs
- ServicePointManager.cs
- CompleteWizardStep.cs
- DateTimeValueSerializer.cs
- ToolStripContentPanel.cs
- TargetFrameworkAttribute.cs
- UserUseLicenseDictionaryLoader.cs
- SamlAdvice.cs
- DataObjectMethodAttribute.cs