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
- Vector3DKeyFrameCollection.cs
- MetadataHelper.cs
- HierarchicalDataTemplate.cs
- AssociationSet.cs
- AssemblyBuilder.cs
- SearchExpression.cs
- TableChangeProcessor.cs
- MultipleCopiesCollection.cs
- StackBuilderSink.cs
- Baml2006KnownTypes.cs
- Attributes.cs
- XmlSchemaAll.cs
- EventHandlerList.cs
- FrameworkPropertyMetadata.cs
- CreateDataSourceDialog.cs
- CounterCreationData.cs
- ChannelSinkStacks.cs
- _NtlmClient.cs
- TcpConnectionPoolSettingsElement.cs
- ConstrainedDataObject.cs
- TryExpression.cs
- Polyline.cs
- MethodMessage.cs
- ProtectedProviderSettings.cs
- ResourcesChangeInfo.cs
- DEREncoding.cs
- ExpressionPrefixAttribute.cs
- EncryptedKey.cs
- AggregatePushdown.cs
- CharacterMetricsDictionary.cs
- WmlPanelAdapter.cs
- BinaryFormatter.cs
- PartialToken.cs
- PerformanceCountersElement.cs
- CDSsyncETWBCLProvider.cs
- DetailsViewDeletedEventArgs.cs
- RulePatternOps.cs
- KeyProperty.cs
- MultilineStringConverter.cs
- XomlCompilerError.cs
- ShutDownListener.cs
- FileDialog_Vista_Interop.cs
- TreeNodeStyle.cs
- ToggleProviderWrapper.cs
- OletxTransactionFormatter.cs
- InfoCardCryptoHelper.cs
- _AcceptOverlappedAsyncResult.cs
- WebPartTransformerAttribute.cs
- FormViewRow.cs
- XamlParser.cs
- ImageMapEventArgs.cs
- DataChangedEventManager.cs
- HttpCapabilitiesEvaluator.cs
- CodeAccessPermission.cs
- DockProviderWrapper.cs
- XmlNodeChangedEventArgs.cs
- XmlObjectSerializerWriteContextComplex.cs
- TextRangeAdaptor.cs
- FontCacheLogic.cs
- ScriptResourceHandler.cs
- OracleInternalConnection.cs
- XmlNamespaceDeclarationsAttribute.cs
- UniqueEventHelper.cs
- Models.cs
- DataDocumentXPathNavigator.cs
- ButtonField.cs
- GroupQuery.cs
- TextAnchor.cs
- DocumentViewer.cs
- EditBehavior.cs
- Mappings.cs
- FastEncoderWindow.cs
- PaintValueEventArgs.cs
- ToolStripAdornerWindowService.cs
- CompositeScriptReference.cs
- ObjectQuery.cs
- DependsOnAttribute.cs
- Utils.cs
- PageContentAsyncResult.cs
- login.cs
- ServicesUtilities.cs
- DataControlField.cs
- Matrix3DConverter.cs
- RawMouseInputReport.cs
- HostProtectionPermission.cs
- HiddenFieldPageStatePersister.cs
- ImmutableAssemblyCacheEntry.cs
- SendKeys.cs
- HtmlInputReset.cs
- SqlDelegatedTransaction.cs
- WebPartMovingEventArgs.cs
- InvariantComparer.cs
- UIElementPropertyUndoUnit.cs
- ChangeNode.cs
- ScriptModule.cs
- AdapterUtil.cs
- ScriptModule.cs
- Deflater.cs
- WpfMemberInvoker.cs
- ObjectSerializerFactory.cs