WeatherLayerToolbar.cs
// Copyright 2012 ESRI // // All rights reserved under the copyright laws of the United States // and applicable international laws, treaties, and conventions. // // You may freely redistribute and use this sample code, with or // without modification, provided you include the original copyright // notice and use restrictions. // // See the use restrictions. // using ESRI.ArcGIS.ADF.BaseClasses; using ESRI.ArcGIS.ADF.CATIDs; using ESRI.ArcGIS.SystemUI; using System; using System.Runtime.InteropServices; namespace RSSWeatherLayer { /// <summary> /// The layer's command items toolbar /// </summary> [Guid("653D29A8-10A4-44b8-9140-86170B715931")] [ClassInterface(ClassInterfaceType.None)] [ProgId("RSSWeatherLayer.WeatherLayerToolbar")] [ComVisible(true)] public class WeatherLayerToolbar : IToolBarDef { #region COM Registration Function(s) [ComRegisterFunction()] [ComVisible(false)] static void RegisterFunction(Type registerType) { // Required for ArcGIS Component Category Registrar support ArcGISCategoryRegistration(registerType); // // TODO: Add any COM registration code here // } [ComUnregisterFunction()] [ComVisible(false)] static void UnregisterFunction(Type registerType) { // Required for ArcGIS Component Category Registrar support ArcGISCategoryUnregistration(registerType); // // TODO: Add any COM unregistration code here // } #region ArcGIS Component Category Registrar generated code /// <summary> /// Required method for ArcGIS Component Category registration - /// Do not modify the contents of this method with the code editor. /// </summary> private static void ArcGISCategoryRegistration(Type registerType) { string regKey = string.Format("HKEY_CLASSES_ROOT\\CLSID\\{{{0}}}", registerType.GUID); MxCommandBars.Register(regKey); ControlsToolbars.Register(regKey); } /// <summary> /// Required method for ArcGIS Component Category unregistration - /// Do not modify the contents of this method with the code editor. /// </summary> private static void ArcGISCategoryUnregistration(Type registerType) { string regKey = string.Format("HKEY_CLASSES_ROOT\\CLSID\\{{{0}}}", registerType.GUID); MxCommandBars.Unregister(regKey); ControlsToolbars.Unregister(regKey); } #endregion #endregion struct ToolDef { public string itemDef; public bool group; public ToolDef(string itd, bool grp) { itemDef = itd; group = grp; } }; private ToolDef[] m_toolDefs = { new ToolDef("RSSWeatherLayer.AddRSSWeatherLayer", false), new ToolDef("RSSWeatherLayer.SelectByCityName", false), new ToolDef("RSSWeatherLayer.AddWeatherItemCmd", false), new ToolDef("RSSWeatherLayer.AddWeatherItemTool", false), new ToolDef("RSSWeatherLayer.RefreshLayerCmd", false) }; public WeatherLayerToolbar() { } #region IToolBarDef Implementations public void GetItemInfo(int pos, ESRI.ArcGIS.SystemUI.IItemDef itemDef) { itemDef.ID = m_toolDefs[pos].itemDef; itemDef.Group = m_toolDefs[pos].group; } public string Caption { get { return "RSS Weather layer"; } } public string Name { get { return "WeatherLayerToolbar"; } } public int ItemCount { get { return m_toolDefs.Length; } } #endregion } }