Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / WF / Common / AuthoringOM / Design / Glyphs / ConfigErrorGlyph.cs / 1305376 / ConfigErrorGlyph.cs
namespace System.Workflow.ComponentModel.Design { using System; using System.Drawing; using System.Drawing.Drawing2D; using System.Windows.Forms; #region Glyphs #region Class ConfigErrorGlyph //Class is internal but not sealed as we dont expect the ActivityDesigner writers to supply their own //Glyph instead based on designer actions the smart tag will be shown //Exception: StripItemConfigErrorGlyph public class ConfigErrorGlyph : DesignerGlyph { private static ConfigErrorGlyph defaultConfigErrorGlyph = null; internal static ConfigErrorGlyph Default { get { if (defaultConfigErrorGlyph == null) defaultConfigErrorGlyph = new ConfigErrorGlyph(); return defaultConfigErrorGlyph; } } public override bool CanBeActivated { get { return true; } } public override int Priority { get { return DesignerGlyph.ConfigErrorPriority; } } public override Rectangle GetBounds(ActivityDesigner designer, bool activated) { if (designer == null) throw new ArgumentNullException("designer"); Size configErrorSize = WorkflowTheme.CurrentTheme.AmbientTheme.GlyphSize; Size margin = WorkflowTheme.CurrentTheme.AmbientTheme.Margin; Point configErrorLocation = new Point(designer.Bounds.Right - configErrorSize.Width - margin.Width / 2, designer.Bounds.Top - configErrorSize.Height + margin.Height); Rectangle bounds = new Rectangle(configErrorLocation, configErrorSize); if (activated) { bounds.Width *= 2; AmbientTheme ambientTheme = WorkflowTheme.CurrentTheme.AmbientTheme; bounds.Inflate(ambientTheme.Margin.Width / 2, ambientTheme.Margin.Height / 2); } return bounds; } protected override void OnPaint(Graphics graphics, bool activated, AmbientTheme ambientTheme, ActivityDesigner designer) { Rectangle bounds = GetBounds(designer, false); Rectangle activatedBounds = GetBounds(designer, activated); Region clipRegion = null; Region oldClipRegion = graphics.Clip; try { if (oldClipRegion != null) { clipRegion = oldClipRegion.Clone(); if (activated) clipRegion.Union(activatedBounds); graphics.Clip = clipRegion; } if (activated) { graphics.FillRectangle(SystemBrushes.ButtonFace, activatedBounds); graphics.DrawRectangle(SystemPens.ControlDarkDark, activatedBounds.Left, activatedBounds.Top, activatedBounds.Width - 1, activatedBounds.Height - 1); activatedBounds.X += bounds.Width + ambientTheme.Margin.Width; activatedBounds.Width -= (bounds.Width + 2 * ambientTheme.Margin.Width); using (GraphicsPath dropDownIndicator = ActivityDesignerPaint.GetScrollIndicatorPath(activatedBounds, ScrollButton.Down)) { graphics.FillPath(SystemBrushes.ControlText, dropDownIndicator); graphics.DrawPath(SystemPens.ControlText, dropDownIndicator); } } ActivityDesignerPaint.DrawImage(graphics, AmbientTheme.ConfigErrorImage, bounds, DesignerContentAlignment.Fill); } finally { if (clipRegion != null) { graphics.Clip = oldClipRegion; clipRegion.Dispose(); } } } protected override void OnActivate(ActivityDesigner designer) { if (designer != null) { if (designer.DesignerActions.Count > 0) { Rectangle bounds = GetBounds(designer, false); Point location = designer.ParentView.LogicalPointToScreen(new Point(bounds.Left, bounds.Bottom)); DesignerHelpers.ShowDesignerVerbs(designer, location, DesignerHelpers.GetDesignerActionVerbs(designer, designer.DesignerActions)); } } } } #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
- CanExecuteRoutedEventArgs.cs
- LockCookie.cs
- ExportOptions.cs
- Expr.cs
- ResizeBehavior.cs
- WebServiceMethodData.cs
- TemplateControlCodeDomTreeGenerator.cs
- SimpleRecyclingCache.cs
- IncomingWebResponseContext.cs
- CodeBlockBuilder.cs
- ObjectDataProvider.cs
- MaterialGroup.cs
- TreeNodeEventArgs.cs
- RewritingProcessor.cs
- IPHostEntry.cs
- Certificate.cs
- PersonalizationStateQuery.cs
- XmlSerializerAssemblyAttribute.cs
- DivideByZeroException.cs
- InstanceStore.cs
- CacheDependency.cs
- ColumnHeaderConverter.cs
- OleDbConnectionFactory.cs
- TemplateControl.cs
- OrderedEnumerableRowCollection.cs
- SplashScreen.cs
- CellParagraph.cs
- RegistryConfigurationProvider.cs
- PaperSize.cs
- RectangleConverter.cs
- RequiredFieldValidator.cs
- SupportedAddressingMode.cs
- UriScheme.cs
- DesignerObjectListAdapter.cs
- AnimationException.cs
- unsafeIndexingFilterStream.cs
- GroupStyle.cs
- LingerOption.cs
- dtdvalidator.cs
- AccessKeyManager.cs
- DocumentViewerHelper.cs
- ContentTypeSettingDispatchMessageFormatter.cs
- BindValidationContext.cs
- PolicyStatement.cs
- SimpleBitVector32.cs
- CompositeScriptReference.cs
- elementinformation.cs
- DecimalConstantAttribute.cs
- AssemblyUtil.cs
- LayoutDump.cs
- EventMap.cs
- PropertyEmitterBase.cs
- StyleXamlTreeBuilder.cs
- PeerInvitationResponse.cs
- DocumentSequence.cs
- VectorAnimation.cs
- LinkTarget.cs
- DataContractSerializer.cs
- HtmlInputHidden.cs
- GroupQuery.cs
- PeerCustomResolverElement.cs
- ErrorsHelper.cs
- DiscoveryMessageSequenceCD1.cs
- WebPartConnectionsCancelVerb.cs
- SkipStoryboardToFill.cs
- BitmapEffectRenderDataResource.cs
- FieldToken.cs
- TemplateInstanceAttribute.cs
- DefaultValueTypeConverter.cs
- Int16KeyFrameCollection.cs
- PerformanceCountersElement.cs
- Synchronization.cs
- Claim.cs
- TransformCollection.cs
- XmlSchemaAttribute.cs
- ContainerAction.cs
- InheritanceAttribute.cs
- ImageConverter.cs
- HierarchicalDataBoundControlAdapter.cs
- WindowsFormsHost.cs
- __Filters.cs
- FlowLayout.cs
- BaseHashHelper.cs
- TimeSpanMinutesOrInfiniteConverter.cs
- oledbmetadatacollectionnames.cs
- ChineseLunisolarCalendar.cs
- HyperLinkColumn.cs
- TextEndOfParagraph.cs
- fixedPageContentExtractor.cs
- SerTrace.cs
- ItemCollection.cs
- HttpCapabilitiesBase.cs
- ConstraintManager.cs
- fixedPageContentExtractor.cs
- EdmComplexPropertyAttribute.cs
- SchemaElementDecl.cs
- MiniLockedBorderGlyph.cs
- MimeImporter.cs
- ProgressChangedEventArgs.cs
- StrokeRenderer.cs