protected override void Dispose(bool disposing)
 {
     if (disposing)
     {
         IDesignerHost host = (IDesignerHost) this.GetService(typeof(IDesignerHost));
         if (host != null)
         {
             host.RemoveService(typeof(IInheritanceService));
             host.RemoveService(typeof(IEventHandlerService));
             host.RemoveService(typeof(ISelectionUIService));
             host.RemoveService(typeof(ComponentTray));
             IComponentChangeService service = (IComponentChangeService) this.GetService(typeof(IComponentChangeService));
             if (service != null)
             {
                 service.ComponentAdded -= new ComponentEventHandler(this.OnComponentAdded);
                 service.ComponentRemoved -= new ComponentEventHandler(this.OnComponentRemoved);
             }
         }
         if (this.selectionUIService != null)
         {
             this.selectionUIService.Dispose();
             this.selectionUIService = null;
         }
         if (this.commandSet != null)
         {
             this.commandSet.Dispose();
             this.commandSet = null;
         }
         if (this.pbrsFwd != null)
         {
             this.pbrsFwd.Dispose();
             this.pbrsFwd = null;
         }
         if (this.compositionUI != null)
         {
             this.compositionUI.Dispose();
             this.compositionUI = null;
         }
         if (this.designerExtenders != null)
         {
             this.designerExtenders.Dispose();
             this.designerExtenders = null;
         }
         if (this.inheritanceService != null)
         {
             this.inheritanceService.Dispose();
             this.inheritanceService = null;
         }
     }
     base.Dispose(disposing);
 }
 public override void Initialize(IComponent component)
 {
     base.Initialize(component);
     this.inheritanceService = new InheritanceService();
     ISite provider = component.Site;
     IContainer container = null;
     IDesignerHost host = (IDesignerHost) this.GetService(typeof(IDesignerHost));
     IExtenderProviderService ex = (IExtenderProviderService) this.GetService(typeof(IExtenderProviderService));
     if (ex != null)
     {
         this.designerExtenders = new DesignerExtenders(ex);
     }
     if (host != null)
     {
         this.eventHandlerService = new EventHandlerService(null);
         this.selectionUIService = new SelectionUIService(host);
         host.AddService(typeof(IInheritanceService), this.inheritanceService);
         host.AddService(typeof(IEventHandlerService), this.eventHandlerService);
         host.AddService(typeof(ISelectionUIService), this.selectionUIService);
         this.compositionUI = new CompositionUI(this, provider);
         host.AddService(typeof(ComponentTray), this.compositionUI);
         IComponentChangeService service2 = (IComponentChangeService) this.GetService(typeof(IComponentChangeService));
         if (service2 != null)
         {
             service2.ComponentAdded += new ComponentEventHandler(this.OnComponentAdded);
             service2.ComponentRemoved += new ComponentEventHandler(this.OnComponentRemoved);
         }
         ISelectionService service3 = (ISelectionService) this.GetService(typeof(ISelectionService));
         if (service3 != null)
         {
             service3.SetSelectedComponents(new object[] { component }, SelectionTypes.Auto);
         }
     }
     if (provider != null)
     {
         this.commandSet = new CompositionCommandSet(this.compositionUI, provider);
         container = provider.Container;
     }
     this.pbrsFwd = new PbrsForward(this.compositionUI, provider);
     this.inheritanceService.AddInheritedComponents(component, container);
     IServiceContainer service = (IServiceContainer) this.GetService(typeof(IServiceContainer));
     if (service != null)
     {
         this.delegateFilterService = (ITypeDescriptorFilterService) this.GetService(typeof(ITypeDescriptorFilterService));
         if (this.delegateFilterService != null)
         {
             service.RemoveService(typeof(ITypeDescriptorFilterService));
         }
         service.AddService(typeof(ITypeDescriptorFilterService), this);
     }
 }
 public SelectionUIItem(SelectionUIService selUIsvc, object component)
 {
     this.selUIsvc = selUIsvc;
     this.component = component;
     this.selectionStyle = SelectionStyles.Selected;
     this.handler = selUIsvc.GetHandler(component);
     this.sizes = inactiveSizeArray;
     this.cursors = inactiveCursorArray;
     IComponent component2 = component as IComponent;
     if (component2 != null)
     {
         ControlDesigner designer = selUIsvc.host.GetDesigner(component2) as ControlDesigner;
         if (designer != null)
         {
             this.control = designer.Control;
         }
     }
     this.UpdateRules();
     this.UpdateGrabSettings();
     this.UpdateSize();
 }
 public ContainerSelectionUIItem(SelectionUIService selUIsvc, object component)
     : base(selUIsvc, component)
 {
 }
 public HitTestInfo(int hitTest, SelectionUIService.SelectionUIItem selectionUIHit, bool containerSelector)
 {
     this.hitTest = hitTest;
     this.selectionUIHit = selectionUIHit;
     this.containerSelector = containerSelector;
 }
 public HitTestInfo(int hitTest, SelectionUIService.SelectionUIItem selectionUIHit)
 {
     this.hitTest = hitTest;
     this.selectionUIHit = selectionUIHit;
     this.containerSelector = false;
 }