Code:
/ DotNET / DotNET / 8.0 / untmp / whidbey / REDBITS / ndp / fx / src / Designer / CompMod / System / ComponentModel / Design / DesignerActionUIService.cs / 1 / DesignerActionUIService.cs
//#define DEBUGDESIGNERTASKS //------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.ComponentModel.Design { using System; using System.Collections; using System.ComponentModel; using System.Timers; using System.Diagnostics.CodeAnalysis; using System.Diagnostics; ////// /// public sealed class DesignerActionUIService : IDisposable { private DesignerActionUIStateChangeEventHandler designerActionUIStateChangedEventHandler; private IServiceProvider serviceProvider;//standard service provider private DesignerActionService designerActionService; internal DesignerActionUIService(IServiceProvider serviceProvider) { this.serviceProvider = serviceProvider; if (serviceProvider != null) { this.serviceProvider = serviceProvider; IDesignerHost host = (IDesignerHost)serviceProvider.GetService(typeof(IDesignerHost)); host.AddService(typeof(DesignerActionUIService), this); designerActionService = serviceProvider.GetService(typeof(DesignerActionService)) as DesignerActionService; Debug.Assert(designerActionService != null, "we should have created and registered the DAService first"); } } ////// /// Disposes all resources and unhooks all events. /// [SuppressMessage("Microsoft.Usage", "CA2213:DisposableFieldsShouldBeDisposed")] public void Dispose() { if (serviceProvider != null) { IDesignerHost host = (IDesignerHost)serviceProvider.GetService(typeof(IDesignerHost)); if (host != null) { host.RemoveService(typeof(DesignerActionUIService)); } } } ////// /// This event is thrown whenever a request is made to show/hide the ui /// public event DesignerActionUIStateChangeEventHandler DesignerActionUIStateChange { add { designerActionUIStateChangedEventHandler += value; } remove { designerActionUIStateChangedEventHandler -= value; } } public void HideUI(IComponent component) { OnDesignerActionUIStateChange(new DesignerActionUIStateChangeEventArgs(component, DesignerActionUIStateChangeType.Hide)); } public void ShowUI(IComponent component) { OnDesignerActionUIStateChange(new DesignerActionUIStateChangeEventArgs(component, DesignerActionUIStateChangeType.Show)); } ////// /// This is a new Helper Method that the service provides to refresh the DesignerActionGlyph as well as DesignerActionPanels. /// public void Refresh(IComponent component) { OnDesignerActionUIStateChange(new DesignerActionUIStateChangeEventArgs(component, DesignerActionUIStateChangeType.Refresh)); } ////// This fires our DesignerActionsChanged event. /// private void OnDesignerActionUIStateChange(DesignerActionUIStateChangeEventArgs e) { if (designerActionUIStateChangedEventHandler != null) { designerActionUIStateChangedEventHandler(this, e); } } public bool ShouldAutoShow(IComponent component) { // Check the designer options... if (serviceProvider != null) { DesignerOptionService opts = serviceProvider.GetService(typeof(DesignerOptionService)) as DesignerOptionService; if (opts != null) { PropertyDescriptor p = opts.Options.Properties["ObjectBoundSmartTagAutoShow"]; if (p != null && p.PropertyType == typeof(bool) && !(bool)p.GetValue(null)) { return false; } } } if(designerActionService != null) { DesignerActionListCollection coll = designerActionService.GetComponentActions(component); if(coll != null && coll.Count > 0) { for(int i = 0;i
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- RoutedEventConverter.cs
- AnonymousIdentificationModule.cs
- KeyValueConfigurationElement.cs
- DataGridPagerStyle.cs
- SecurityElement.cs
- ObjectTag.cs
- CodeAttributeDeclaration.cs
- RoutedEventArgs.cs
- ColumnCollection.cs
- Serializer.cs
- ByteAnimationBase.cs
- WindowInteractionStateTracker.cs
- TransformGroup.cs
- storepermission.cs
- ParameterExpression.cs
- XmlAutoDetectWriter.cs
- SortQuery.cs
- CombinedGeometry.cs
- AssemblyNameProxy.cs
- Variant.cs
- TrackingParameters.cs
- JsonWriterDelegator.cs
- EventLogInformation.cs
- CacheRequest.cs
- GeneralTransform3DGroup.cs
- MulticastOption.cs
- ToolboxDataAttribute.cs
- DataColumnCollection.cs
- ListViewCancelEventArgs.cs
- ContentPropertyAttribute.cs
- RawStylusActions.cs
- BitmapCodecInfoInternal.cs
- UDPClient.cs
- Stackframe.cs
- NativeCppClassAttribute.cs
- webbrowsersite.cs
- Stacktrace.cs
- ListViewItem.cs
- BrushMappingModeValidation.cs
- DataColumnChangeEvent.cs
- ExtendedTransformFactory.cs
- TabControlCancelEvent.cs
- ButtonBase.cs
- _emptywebproxy.cs
- Vector3D.cs
- ToolStripProfessionalLowResolutionRenderer.cs
- ResourcesBuildProvider.cs
- ColorConvertedBitmap.cs
- GlyphCache.cs
- TdsParserStateObject.cs
- DiagnosticsConfiguration.cs
- HashCodeCombiner.cs
- MissingSatelliteAssemblyException.cs
- WebPageTraceListener.cs
- ToolboxItemFilterAttribute.cs
- BamlVersionHeader.cs
- RenderingEventArgs.cs
- DataGridViewRowHeaderCell.cs
- SqlServices.cs
- TypeDescriptionProvider.cs
- CompiledQuery.cs
- HtmlGenericControl.cs
- MobileControlPersister.cs
- BackEase.cs
- CodeCatchClauseCollection.cs
- ErrorFormatterPage.cs
- FamilyTypefaceCollection.cs
- SharedStatics.cs
- StylusDownEventArgs.cs
- DatagridviewDisplayedBandsData.cs
- TextSearch.cs
- SequenceNumber.cs
- XmlSchemaInclude.cs
- DataGridViewTextBoxColumn.cs
- WizardStepBase.cs
- FilteredReadOnlyMetadataCollection.cs
- shaperfactoryquerycacheentry.cs
- EventLog.cs
- ContentPresenter.cs
- XmlIlVisitor.cs
- TextServicesProperty.cs
- BookmarkOptionsHelper.cs
- ColumnResizeAdorner.cs
- ToolStripComboBox.cs
- Identity.cs
- DbCommandDefinition.cs
- FontDialog.cs
- XamlClipboardData.cs
- SessionStateUtil.cs
- validationstate.cs
- ButtonColumn.cs
- StringConverter.cs
- CloudCollection.cs
- XmlUnspecifiedAttribute.cs
- ParentQuery.cs
- RuleValidation.cs
- WebBrowserDocumentCompletedEventHandler.cs
- unsafenativemethodsother.cs
- JsonReaderDelegator.cs
- DataGridViewCellStyle.cs