【ArcGISPro】配置模块

news2024/11/16 1:21:54

ArcGIS Pro 配置类似于加载项,但提供了扩展应用程序的其他方法。它可以帮助您设计更贴近您组织品牌和工作流的 ArcGIS Pro 版本

托管配置是比 Add-in 更高级别的自定义。

配置可以提高加载项安全级别并添加非管理员指定的已知文件夹。

配置可以提供比插件更广泛的自定义以及对 DAML 的运行时修改 - 可能基于登录的用户角色。

每个 ArcGIS Pro 会话只能运行一个配置(即解决方案),即只有一个配置可以处于活动状态

关键配置

  • 创建自定义初始屏幕和自定义起始页
  • 更改应用程序图标、应用程序名称和标题栏文本
  • 重新排列或删除不常用的控件;插入新控件
  • 在启动期间注入逻辑以检查许可或根据用户角色更改用户界面
  • 控制加载的加载项
  • 过滤器命令 (命令通知和禁用它们的选项 )。

创建配置

启动

初始屏幕

起始页

生成的配置文件

路径

C:\Users\<UserName>\Documents\ArcGIS\AddIns\ArcGISPro\Configurations

安装配置

双击即可安装

配置文件结构

内部结构与加载项相同。

包含:

  • 一个 DAML(桌面体系结构标记语言)文件,用于描述配置及其自定义
  • 编译代码(用于配置管理器及其关联模块)
  • 图像
  • 资源
  • 任何第三方程序集

更改配置

使用方式

{ArcGISPro安装路径}\ArcGISPro.exe /config:配置文件的名称不带后缀

注册表指定配置

DAML中作用

声明

配置元素

每个 DAML 只能有一个 Configuration 元素。Configuration 元素有四个可选属性:blockAddInTabblockCustomizeDialogblockPerfMeter 和 checkForUpdatesAtStartup

blockAddInTab

默认值:false

设置为 true 时,该属性将隐藏功能区中的 Add-In 选项卡。

blockCustomizeDialog

默认值:false

当设置为 true 时,该属性将从 ArcGIS Pro 选项属性表中删除“自定义功能区”选项。

blockPerfMeter

默认值:false

当设置为 true 时,该属性将阻止用户启动 ArcGIS Monitor。

CheckForUpdatesAtStartup

默认值:true

当设置为 false 时,该属性将取消选中 ArcGIS Pro Backstage 关于选项卡中的“启动时检查更新”复选框。

配置子元素

配置管理器

 //ConfigurationManager契约
 public class ArcGIS.Desktop.Framework.Contracts.ConfigurationManager {

    //在运行时得到一个替换的DAML文件。
    protected internal virtual string RuntimeDamlFile { get; }

    //获取新的应用程序名称
    protected internal virtual string ApplicationName { get; }

    //获取标题栏文本(3.0新功能)
    protected internal virtual string TitleBarText { get; }

    //获取新的应用程序图标
    protected internal virtual ImageSource Icon { get; }

    //在应用程序初始化时调用。表示现在与传送门通信是安全的。此时还没有处理DAML记录。
    //取消信号:错误信号出现问题。申请将关闭。
    protected internal virtual void OnApplicationInitializing(CancelEventArgs cancelEventArgs);

    //当应用程序完全初始化时调用。
    protected internal virtual void OnApplicationReady();

    //CommandFilter -赋予配置禁用命令的能力。
    //
    //cmdID:执行的命令的DAML ID。
    //moduleID:命令的父模块DAML ID。
    protected internal virtual bool OnCanExecuteCommand(string cmdID, string moduleID);

    //配置在运行时提供DAML的配置机会。
    //
    // 返回:在XML字符串上以表单的形式处理的DAML。
    protected internal virtual string OnCreateDaml();

    //配置提供要在快速访问工具栏中显示的命令列表的机会。它发生在开始页关闭并且打开第一个项目之后。
    //
    // 返回:在QAT使用的命令列表
    protected internal virtual List<Tuple<string, bool>> OnCreateQuickAccessToolbar();

    //CommandFilter -赋予配置能够拒绝命令执行的能力
    //cmdID:执行命令的DAML ID。
    //moduleID:命令的父模块DAML ID。
    protected internal virtual bool OnExecuteCommand(string cmdID, string moduleID);

    // 允许配置将一些自定义用户界面注入到about页面。
    //
    // 返回:添加到about页面的元素。
    protected internal virtual FrameworkElement OnShowAboutPage();

    //配置的自定义喷溅屏幕。
    //
    // 返回:在启动过程中显示的自定义窗口。
    protected internal virtual Window OnShowSplashScreen();

    //应用程序启动后显示的自定义起始页(着陆页)。
    //
    // 返回:起始页
    protected internal virtual FrameworkElement OnShowStartPage();

    //配置在处理DAML之前操作它的最后一次机会。
    //
    //database:整个合并的DAML数据库。
    //
    //Remarks:
    //  配置可能会发现有必要编辑原始数据库以获得所需的外观。例如,一个配置可能想要删除系统中除了自己的选项卡之外的所有选项卡。这是XML形式的原始DAML数据库,编辑时要格外小心。
    protected internal virtual void OnUpdateDatabase(XDocument database);
        
    //许可验证
    //
    //Remarks:
    //  使配置有机会执行自己的许可证检查。返回错误信号,表示发生了许可问题。应用程序将关闭。
    protected internal virtual bool OnValidateLicense();
}

配置回调

配置回调对应ArcGIS Pro 应用程序三个状态:预初始化、初始化和就绪。

在预初始化状态下,没有加载 Pro API 模块,也没有 UI。

在初始化过程中,将创建 Pro WPF 应用程序并初始化任何门户或联机连接。

最后,在准备就绪期间,应用程序已完全加载。应用程序状态仅向前移动。一旦应用程序转换为 ready 状态,它将在会话期间保持 ready 状态。

预初始化

在该阶段(预初始化)由于尚未加载任何 Pro 扩展程序集,因此在预初始化期间进行任何 Pro API 调用都会使应用程序崩溃。即请勿:

  • 调用任何 Pro API 方法以包括QueuedTask.Run
  • 访问任何 Pro WPF 资源(样式、画笔、颜色、图标、图像)
  • 订阅任何 Pro 事件(这包括您的 ConfigurationManager 构造函数中)
  • 进行任何依赖于 UI 线程的 WPF 调用(例如Dispatcher.Invoke)
  • 显示任何自定义 UI(例如 Message Boxes)
自定义初始屏幕 (OnShowSplashScreen)

 

初始化

在初始化期间执行以下操作:

  • 使用 Pro API 调用门户或在线调用(不使用 QueuedTask)
  • 提供自定义 DAML(如果需要)
  • 修改 DAML 数据库(如果需要)
  • 如果您需要自定义逻辑和 UI 来启动 Pro 会话,请提供自定义起始页
  • 在起始页中使用 Pro WPF 样式等
  • 在起始页逻辑中调用任何 Pro API 方面(需要时使用 QueuedTask)

在初始化期间,请勿:

  • 调用任何不在 中的Pro API方法以包含.ArcGIS.Desktop.CoreQueuedTask.Run
  • 尝试访问任何插件、窗格、停靠窗格或任何 UI 元素或其他模块。
  • 订阅任何 Pro 活动
  • 访问除起始页之外的任何 Pro WPF 资源(样式、画笔、颜色、图标、图像)。
  • 进行依赖于 UI 线程的任何 WPF 调用(例如 )。Dispatcher.Invoke
  • 显示任何自定义 UI
OnApplicationInitializing 

最重要的是用于在线和门户通信的 API

应用程序名称(ApplicationName)

标题栏文本(TitleBarText)

就绪

关于页面

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2155925.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

全国832个贫困县名单及精准扶贫脱贫数据(2016-2020.11)

自党的十八大以来&#xff0c;通过全党全国各族人民的共同努力&#xff0c;中国成功实现了现行标准下9899万农村贫困人口的全部脱贫&#xff0c;832个贫困县全部摘帽。 摘帽名单 2016年-2020.11全国832个贫困县名单及精准扶贫脱贫数据整理&#xff08;大数据&#xff09;https…

图解 TCP 四次挥手|深度解析|为什么是四次|为什么要等2MSL

写在前面 今天我们来图解一下TCP的四次挥手、深度解析为什么是四次&#xff1f; 上一片文章我们已经介绍了TCP的三次握手 解析四次挥手 数据传输完毕之后&#xff0c;通信的双方都可释放连接。现在客户端A和服务端B都处于ESTABLISHED状态。 第一次挥手 客户端A的应用进…

笔尖划出秋季的声息

笔尖划出秋季的声息 进入秋分&#xff0c;天气渐趋凉爽&#xff0c;天空青蓝明朗&#xff0c;难言伤感。 九月&#xff0c;把一些句子记录好&#xff0c;明年拿出来晒一晒&#xff0c;秋季也就有了答案。 1、经历 9月6日&#xff0c;台风“摩羯”席卷而过粤西&#xff0c;…

尚品汇-秒杀商品定时任务存入缓存、Redis发布订阅实现状态位(五十一)

目录&#xff1a; &#xff08;1&#xff09;秒杀业务分析 &#xff08;2&#xff09;搭建秒杀模块 &#xff08;3&#xff09;秒杀商品导入缓存 &#xff08;4&#xff09;redis发布与订阅实现 &#xff08;1&#xff09;秒杀业务分析 需求分析 所谓“秒杀”&#xff0…

STM32CSDK生成代码报错

STM32CubeMX not found 在使用STM32CSDK时报错 STM32CubeMX not found - ver. “5.2.0” or higher is required Download STM32CubeMx 解决方案 重新安装STM32CubeMX&#xff0c;选择为所有用户安装 MotorControl reference pack not found: 解决方案 1.选择合适的STM32…

Python语法(二)——函数

文章目录 函数语法格式函数参数链式调用嵌套调用函数递归变量作用域 函数 一段可以被重复使用的代码片段 求数列的和, 不使用函数 # 1.求1-100的和 sum 0 for i in range(1, 101):sum i print(fsum {sum})# 2.求300-400的和 sum 0 for i in range(300, 401):sum i print(…

为什么推荐使用英文版LabVIEW

在LabVIEW开发中&#xff0c;中文版和英文版主要在界面语言、功能习惯以及社区支持等方面存在差异。以下是两者的特点以及推荐使用英文版的原因&#xff1a; 中文版特点&#xff1a; 界面和帮助文档为中文&#xff1a;对于中文母语开发者来说&#xff0c;中文版LabVIEW的界面和…

在 Windows 11 中,可以通过修改注册表来更改系统的自动更新时间设置

regedit 计算机\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsUpdate\UX\Settings FlightSettingsMaxPauseDays 36524

YOLOV8 OpenCV + usb 相机 实时识别

1 OpenCV 读相机 import cv2cap cv2.VideoCapture(0) while (1):# get a frameret, frame cap.read()# show a framecv2.imshow("capture", frame)if cv2.waitKey(1) & 0xFF ord(q):# cv2.imwrite("/opt/code/image/fangjian2.jpeg", frame)#passb…

设置CentOS7使用代理服务器上网

搭建代理 软件设置-参数设置-允许来自局域网的连接 软件设置-参数设置-为局域网开启新的端口(可选) 记录本机ip与端口号 配置系统代理 永久设置 # 编辑配置文件 vi /etc/profile# 在文件后添加以下内容&#xff1a; export http_proxyhttp://代理服务器IP:端口号 export h…

python - 子类为什么调用父类的方法

菜鸟教程 - 面向对象https://www.runoob.com/python3/python3-class.html为什么写这个呢 &#xff0c;因为很多时候&#xff0c;事情很简单&#xff0c;但我往往记住了使用方式&#xff0c;忘记了使用原因&#xff0c;也因为自己看到super()时&#xff0c;也想问为什么要用supe…

重生之我们在ES顶端相遇第16 章 - Lucene 写入流程

文章目录 前言写入流程图refreshRefresh 触发时机Translog FlushMerge 前言 上一章我们介绍了倒排索引的数据结构。 本章我们将深入介绍 Lucene 写入流程。 该知识点在面试中比较常问&#xff0c;也是理解 ES 必须掌握的知识点。 写入流程图 在第 14 章&#xff0c;我在介绍…

web基础—dvwa靶场(七)SQL Injection

SQL Injection&#xff08;SQL注入&#xff09; SQL Injection&#xff08;SQL注入&#xff09;&#xff0c;是指攻击者通过注入恶意的SQL命令&#xff0c;破坏SQL查询语句的结构&#xff0c;从而达到执行恶意SQL语句的目的。SQL注入漏洞的危害是巨大的&#xff0c;常常会导致…

有毒有害气体检测仪的应用和性能_鼎跃安全

随着现代工业的不断发展和扩张&#xff0c;越来越多的企业涉及到有毒有害气体的生产、使用和处理。工业规模的扩大导致有毒有害气体的排放量增加&#xff0c;同时也增加了气体泄漏的风险。在发生火灾、爆炸或危险化学品泄漏等紧急事件时&#xff0c;救援人员需要迅速了解现场的…

自动化立体仓库与堆垛机单元的技术参数

导语 大家好&#xff0c;我是社长&#xff0c;老K。专注分享智能制造和智能仓储物流等内容。 新书《智能物流系统构成与技术实践》人俱乐部 完整版文件和更多学习资料&#xff0c;请球友到知识星球【智能仓储物流技术研习社】自行下载。 这份文件是一份自动化立体仓库与堆垛机单…

Java内存泄漏排查

内存泄漏排查 1. 堆内存快照导出2. 导入内存分析工具 1. 堆内存快照导出 获取 Java 进程 ID Windows&#xff1a;执行 jps 命令&#xff0c;或任务管理器查看&#xff0c;又或者执行 tasklist 命令。 注意&#xff1a;当有多个 Java 进程时&#xff0c;任务管理器或 tasklist |…

SpringSecurity6.x整合手机短信登录授权

前言&#xff1a;如果没有看过我的这篇文章的Springboot3.x.x使用SpringSecurity6(一文包搞定)_springboot3整合springsecurity6-CSDN博客需要看下&#xff0c;大部分多是基于这篇文章的基础上实现的。 明确点我们的业务流程&#xff1a; 需要有一个发送短信的接口&#xff0…

springboot小区物业报修管理系统-计算机毕业设计源码03418

摘 要 本课题的研究对象是小区物业报修管理系统app的设计与实现&#xff0c;该系统实现了用户管理、业主信息管理、报修信息管理、维修记录管理、通知公告管理等功能。本系统在设计上&#xff0c;考虑到系统内容以及系统的受众群体&#xff0c;在系统的美工方面采用了比较正规的…

Automated Construction of Theme-specific Knowledge Graphs

文章目录 题目摘要引言相关工作方法实验消融研究结论 题目 自动构建主题特定知识图谱 论文地址&#xff1a;https://arxiv.org/pdf/2404.19146 摘要 尽管知识图谱 (KG) 广泛应用于问答、智能对话系统等各种任务&#xff0c;但现有的 KG 面临两大挑战&#xff1a;信息粒度有限和…

C语言深入理解指针(四)

目录 字符指针变量数组指针变量数组指针变量是什么数组指针变量怎么初始化 二维数组传参的本质函数指针变量函数指针变量的创建函数指针变量的使用代码typedef关键字 函数指针数组转移表 字符指针变量 字符指针在之前我们有提到过&#xff0c;&#xff08;字符&#xff09;&am…