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
- NegatedCellConstant.cs
- KeyEvent.cs
- BamlRecordReader.cs
- AtlasWeb.Designer.cs
- TextEffect.cs
- ProfileSection.cs
- HttpHeaderCollection.cs
- AuthenticationService.cs
- CounterSampleCalculator.cs
- ImageDrawing.cs
- ControlBuilder.cs
- DependencyPropertyConverter.cs
- Listbox.cs
- AbsoluteQuery.cs
- XsdBuilder.cs
- MulticastNotSupportedException.cs
- COMException.cs
- AspCompat.cs
- SoundPlayer.cs
- CompilationRelaxations.cs
- RegexCapture.cs
- PointCollection.cs
- SqlNodeAnnotations.cs
- TablePatternIdentifiers.cs
- CacheSection.cs
- RotateTransform3D.cs
- DbMetaDataFactory.cs
- StorageFunctionMapping.cs
- DBConcurrencyException.cs
- WebPartZone.cs
- EditorPartCollection.cs
- CustomAttributeSerializer.cs
- SmiEventStream.cs
- GCHandleCookieTable.cs
- TogglePattern.cs
- _TransmitFileOverlappedAsyncResult.cs
- TransformCryptoHandle.cs
- CheckBoxFlatAdapter.cs
- DiscreteKeyFrames.cs
- DigitShape.cs
- CardSpaceShim.cs
- panel.cs
- LineSegment.cs
- MachineSettingsSection.cs
- CrossSiteScriptingValidation.cs
- AuthorizationSection.cs
- WebPartActionVerb.cs
- InternalControlCollection.cs
- storepermissionattribute.cs
- RequestBringIntoViewEventArgs.cs
- LicFileLicenseProvider.cs
- GACMembershipCondition.cs
- SortKey.cs
- ProfileGroupSettingsCollection.cs
- ConversionValidationRule.cs
- AnonymousIdentificationModule.cs
- DataRecordInternal.cs
- DES.cs
- BitmapImage.cs
- ExpressionEditorAttribute.cs
- HtmlTitle.cs
- CustomValidator.cs
- DropSource.cs
- OpacityConverter.cs
- TypeUtil.cs
- SafeEventLogReadHandle.cs
- LayoutEngine.cs
- SqlNode.cs
- FreeFormDesigner.cs
- MetadataSource.cs
- _BaseOverlappedAsyncResult.cs
- FakeModelPropertyImpl.cs
- NetworkInformationException.cs
- MarkupCompilePass2.cs
- WebPartDisplayModeCancelEventArgs.cs
- BamlBinaryWriter.cs
- Model3D.cs
- RightsManagementEncryptionTransform.cs
- LayoutTable.cs
- PageAsyncTaskManager.cs
- WebPartAuthorizationEventArgs.cs
- ElementMarkupObject.cs
- CrossAppDomainChannel.cs
- SystemIPInterfaceProperties.cs
- DEREncoding.cs
- Message.cs
- TextEndOfSegment.cs
- XsdSchemaFileEditor.cs
- PersonalizableTypeEntry.cs
- CodeDomComponentSerializationService.cs
- metadatamappinghashervisitor.cs
- PackWebRequest.cs
- TextParaLineResult.cs
- ScriptResourceInfo.cs
- LogEntryUtils.cs
- WaitForChangedResult.cs
- RemotingSurrogateSelector.cs
- TextTreeInsertUndoUnit.cs
- CodeNamespace.cs
- AttachedPropertyBrowsableWhenAttributePresentAttribute.cs