public override void OnClick() { if (m_UcCatalog != null && m_UcCatalog.Visible) { this.m_Hook.UIHook.CloseHookControl(m_Guid); } else { if (m_UcCatalog == null || m_HookControl == null || m_HookControl.IsDisposed) { m_UcCatalog = new UCCatalog(); m_UcCatalog.Init(m_Hook.Hook,base.SendMessage);// delegate(string strMsg) { base.SendMessage(strMsg); }); ESRI.ArcGIS.Controls.IHookHelper esriHookHelper = m_Hook.Hook as ESRI.ArcGIS.Controls.IHookHelper; IHooker hooker= new CatalogHooker(m_UcCatalog); (hooker.Hook as CatalogHookHelper).SelectedCatalogItemChanged += delegate(ICatalogItem cItem) { m_SelectedCatalogItem = cItem; m_CurrentLayer = null; if (m_SelectedCatalogItem == null) return; m_CurrentLayer = CatalogItemFactory.CreateLayer(m_SelectedCatalogItem); esriHookHelper.FocusMap.ClearLayers(); esriHookHelper.FocusMap.SpatialReference = null; if (m_CurrentLayer != null) { esriHookHelper.FocusMap.AddLayer(m_CurrentLayer); esriHookHelper.ActiveView.Extent = m_CurrentLayer.AreaOfInterest; esriHookHelper.ActiveView.Refresh(); } }; m_Guid=hooker.ID; base.m_Hook.UIHook.AddHooker(hooker, enumDockPosition.Left); } this.m_Hook.UIHook.ActiveHookControl(m_Guid); } }
public CatalogHooker(UCCatalog uc) { this.m_UcCatalog = uc; }