Пример #1
0
        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);
            }
        }
Пример #2
0
 public CatalogHooker(UCCatalog uc)
 {
     this.m_UcCatalog = uc;
 }