Code:
/ FX-1434 / FX-1434 / 1.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
- httpstaticobjectscollection.cs
- Button.cs
- SerializationObjectManager.cs
- AuthenticationModuleElementCollection.cs
- CompilationRelaxations.cs
- ResourceDescriptionAttribute.cs
- FontClient.cs
- UIElement.cs
- IDispatchConstantAttribute.cs
- SqlVersion.cs
- SignatureToken.cs
- HtmlLink.cs
- TemplatedWizardStep.cs
- ListControl.cs
- EntityDataSourceContainerNameItem.cs
- DataControlButton.cs
- UIElementCollection.cs
- SchemaSetCompiler.cs
- HttpListenerContext.cs
- FileIOPermission.cs
- LoginView.cs
- UIAgentAsyncEndRequest.cs
- _ListenerAsyncResult.cs
- SystemIPAddressInformation.cs
- EntityConnectionStringBuilder.cs
- ResetableIterator.cs
- SequentialOutput.cs
- Latin1Encoding.cs
- XmlSerializerSection.cs
- ListenerUnsafeNativeMethods.cs
- CfgParser.cs
- XhtmlBasicObjectListAdapter.cs
- CryptoProvider.cs
- TdsRecordBufferSetter.cs
- DropDownList.cs
- OperationCanceledException.cs
- TableHeaderCell.cs
- VarRemapper.cs
- OdbcDataReader.cs
- EventLogReader.cs
- AuthenticationException.cs
- TransformGroup.cs
- DataGridItemCollection.cs
- IsolatedStorageFileStream.cs
- CopyCodeAction.cs
- GuidTagList.cs
- JoinTreeSlot.cs
- Model3D.cs
- FixedSOMImage.cs
- MemberInfoSerializationHolder.cs
- VirtualizedContainerService.cs
- SqlStream.cs
- BulletChrome.cs
- SmtpNegotiateAuthenticationModule.cs
- DataGridViewRowHeightInfoNeededEventArgs.cs
- XmlSchemaNotation.cs
- XmlAttributeCollection.cs
- RequestQueryParser.cs
- OneWayElement.cs
- CryptoHelper.cs
- SqlUtil.cs
- ConstraintConverter.cs
- HandlerBase.cs
- NavigationWindow.cs
- DataComponentMethodGenerator.cs
- DefaultTraceListener.cs
- VBIdentifierNameEditor.cs
- PowerStatus.cs
- DateBoldEvent.cs
- SettingsBindableAttribute.cs
- SingleAnimationUsingKeyFrames.cs
- SqlStatistics.cs
- Helpers.cs
- OutputCacheProfile.cs
- XmlReflectionImporter.cs
- KeyInfo.cs
- SafeSecurityHelper.cs
- _ListenerAsyncResult.cs
- CompModHelpers.cs
- BamlReader.cs
- DataServiceBuildProvider.cs
- TextEditorMouse.cs
- X509ScopedServiceCertificateElementCollection.cs
- DataGridColumnCollection.cs
- SystemIcmpV6Statistics.cs
- SiteMapDataSourceDesigner.cs
- SingleSelectRootGridEntry.cs
- LateBoundBitmapDecoder.cs
- UInt16Storage.cs
- CompressedStack.cs
- ListChunk.cs
- BaseTemplateCodeDomTreeGenerator.cs
- TextRange.cs
- ArrayWithOffset.cs
- ContentHostHelper.cs
- ChannelSinkStacks.cs
- _ProxyChain.cs
- MatchingStyle.cs
- EdmType.cs
- ObjectDataSourceDesigner.cs