Code:
/ 4.0 / 4.0 / 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. 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
- GlobalizationSection.cs
- RtfToken.cs
- DeviceContext.cs
- AppDomainUnloadedException.cs
- FixedDSBuilder.cs
- ClientTargetSection.cs
- DataGridViewCellStyleConverter.cs
- InputScope.cs
- OuterGlowBitmapEffect.cs
- TypeGenericEnumerableViewSchema.cs
- MimePart.cs
- ConfigurationElement.cs
- GenericTypeParameterBuilder.cs
- Descriptor.cs
- DependencyPropertyDescriptor.cs
- _NtlmClient.cs
- DetailsViewDeletedEventArgs.cs
- DurableServiceAttribute.cs
- MSHTMLHost.cs
- TrustLevelCollection.cs
- ListViewTableCell.cs
- SafeRightsManagementHandle.cs
- DispatchChannelSink.cs
- CharacterBufferReference.cs
- PrintPreviewDialog.cs
- FormViewModeEventArgs.cs
- XmlSchemaParticle.cs
- MediaElement.cs
- SubMenuStyleCollectionEditor.cs
- TrackingParameters.cs
- ChangeProcessor.cs
- InfocardClientCredentials.cs
- Action.cs
- Transactions.cs
- MappingException.cs
- JournalEntryStack.cs
- ServiceModelReg.cs
- ValidatedControlConverter.cs
- EncodingTable.cs
- Page.cs
- DataGridViewCellStyleBuilderDialog.cs
- DataControlPagerLinkButton.cs
- RowUpdatedEventArgs.cs
- AutomationEvent.cs
- CollectionChangeEventArgs.cs
- MultiSelectRootGridEntry.cs
- TextBoxLine.cs
- OutputCacheSettingsSection.cs
- ThemeInfoAttribute.cs
- ConfigUtil.cs
- MD5.cs
- XmlSchemaImporter.cs
- GeometryHitTestParameters.cs
- RepeaterItemEventArgs.cs
- ObjectParameter.cs
- ElementUtil.cs
- ClientTargetCollection.cs
- ColumnCollection.cs
- UserControl.cs
- AlignmentYValidation.cs
- DateTime.cs
- ObjectAssociationEndMapping.cs
- wgx_sdk_version.cs
- TextDecorationCollectionConverter.cs
- WebBrowserProgressChangedEventHandler.cs
- InvariantComparer.cs
- COM2PictureConverter.cs
- ItemChangedEventArgs.cs
- Scripts.cs
- MouseGestureValueSerializer.cs
- SerializationFieldInfo.cs
- SmiEventSink.cs
- SettingsAttributeDictionary.cs
- ProcessThread.cs
- SequenceNumber.cs
- ManagedFilter.cs
- DelimitedListTraceListener.cs
- X509Logo.cs
- TreeIterator.cs
- RecordConverter.cs
- ReaderWriterLockSlim.cs
- UIElement3D.cs
- BamlResourceSerializer.cs
- IndentedTextWriter.cs
- TraceLog.cs
- CollectionBuilder.cs
- DependsOnAttribute.cs
- AvTrace.cs
- DataGridViewCellPaintingEventArgs.cs
- CacheEntry.cs
- AudioSignalProblemOccurredEventArgs.cs
- SqlRewriteScalarSubqueries.cs
- MainMenu.cs
- Screen.cs
- ConditionalAttribute.cs
- BitmapSourceSafeMILHandle.cs
- DataTableCollection.cs
- LoginStatusDesigner.cs
- Label.cs
- CmsUtils.cs