• ArcGIS Pro配置中删除已有所有TAB


    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Windows.Input;
    using System.Threading.Tasks;
    using ArcGIS.Core.CIM;
    using ArcGIS.Core.Data;
    using ArcGIS.Core.Geometry;
    using ArcGIS.Desktop.Catalog;
    using ArcGIS.Desktop.Core;
    using ArcGIS.Desktop.Editing;
    using ArcGIS.Desktop.Extensions;
    using ArcGIS.Desktop.Framework;
    using ArcGIS.Desktop.Framework.Contracts;
    using ArcGIS.Desktop.Framework.Dialogs;
    using ArcGIS.Desktop.Framework.Threading.Tasks;
    using ArcGIS.Desktop.Mapping;
    using System.Xml.Linq;
    
    
    namespace ProConfiguration2
    {
        internal class Module1 : Module
        {
            private static Module1 _this = null;
    
            /// <summary>
            /// Retrieve the singleton instance to this module here
            /// </summary>
            public static Module1 Current
            {
                get
                {
                    return _this ?? (_this = (Module1)FrameworkApplication.FindModule("ProConfiguration2_Module"));
                }
            }
    
            #region Overrides
            /// <summary>
            /// Called by Framework when ArcGIS Pro is closing
            /// </summary>
            /// <returns>False to prevent Pro from closing, otherwise True</returns>
            protected override bool CanUnload()
            {
                //TODO - add your business logic
                //return false to ~cancel~ Application close
                return true;
            }
    //by gisoracle
            protected  void OnUpdateDatabase(System.Xml.Linq.XDocument database)
            {
                var nsp = database.Root.Name.Namespace;
                var tabElements = from seg in database.Root.Descendants(nsp + "tab") select seg;
                var elements = new HashSet<XElement>();
                foreach (var tabElement in tabElements)
                {
                    if (tabElement.Parent == null
                        || tabElement.Parent.Name.LocalName.StartsWith("backstage"))
                        continue;
                    var id = tabElement.Attribute("id");
                    if (id == null) continue;
    
                    if (id.Value.StartsWith("esri"))
                        elements.Add(tabElement);
                }
    
                foreach (var element in elements)
                {
                    element.Remove();
                }
            }
            #endregion Overrides
    
        }
    }
  • 相关阅读:
    最近公共祖先LCA Tarjan 离线算法
    HDU 2586 How far away? LCA 转化成RMQ
    最近公共祖先 Least Common Ancestors(LCA)算法 --- 与RMQ问题的转换
    RMQ ---- ST(Sparse Table)算法
    二维计算几何系列(一) -------- 数据结构
    Goalng基础语法-输入和输出
    Golang基础语法-运算符
    Golang基础语法-数据类型
    Golang基础语法-常量
    Golang基本语法-变量
  • 原文地址:https://www.cnblogs.com/gisoracle/p/12641474.html
Copyright © 2020-2023  润新知