ArcGIS Pro SDK for .NET Beginning Pro Customization Charles Macleod Session Overview Extensibility patterns • Add-ins - Configurations - Primary API Patterns • QueuedTask and Asynchronous Programming - - async and await Model, View, View Model or MVVM - ArcGIS Pro SDK for .NET Add-ins Extends ArcGIS Pro through: • - Buttons, Tools, Checkboxes - Combo Boxes, Edit Boxes, Spinners - Menus, Context Menus, Dynamic Menus - Galleries, Button and Tool Palettes, Split Buttons - Tabs, Groups, Contextual Groups - Property Pages/Sheets, Wizards - Views and Docking Panes - Custom (XAML) controls - Backstage Tabs, Backstage Button Use Add-ins to add new functionality to Pro or to - Augment existing. - ArcGIS Pro SDK for .NET Addins Characteristics • - Archive (.esriAddInX) Xcopy or double-click deployment (via RegisterAddin.exe) - - C:\users\<username>\Documents\ArcGIS\Addins\ArcGISPro - Multiple Add-ins can be loaded per user (per Pro session). - Admin and per-user settings for: - Well known folders - Add-in security level, etc. ArcGIS Pro SDK for .NET Addins Consists of • A module (“Module1.cs”) ▪ An xml Configuration file (Config.daml) ▪ and code files, etc. ▪ ArcGIS Pro SDK for .NET Addins Module • Hub and central access point - Singleton instantiated automatically by the Framework - Can use Module to centralize shared logic - 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("ProAppModule7_Module")); } } ArcGIS Pro SDK for .NET Addins Config.daml • - Declarative add-in definition for UI and related UI state - Contains framework element declarations (buttons, dockpane, galleries) <insertModule id="Mvvm_Module" className="Module1" autoLoad=“false" caption="Module1"> <tabs> <tab id="Mvvm_Tab1" caption="MVVM Demo" keytip="T1"> <group refID="Mvvm_Group1" /> </tab> </tabs> <groups> <group id="Mvvm_Group1" caption="MvvM Demo" keytip="G1"> <button refID="Mvvm_MvvmDockPane_ShowButton" size="large" /> </group> </groups> <controls> <button id="Mvvm_MvvmDockPane_ShowButton" caption="Show Bookmark DockPane" ....> </button> </controls> ArcGIS Pro SDK for .NET Addins Configurations… ArcGIS Pro SDK for .NET Configurations Introduced at 1.4 • All of the functionality of an Add-in plus…. - - Change the application title and icon - Change the application splash and start page - Conditional customization of the UI - Eg via the a user’s permissions, role, portal group membership, etc - Use Configurations when a deeper level of customization is required beyond what an Add-in provides - Eg You need to customize the Pro start-up process and/or streamline its functionality for some specific workflow ArcGIS Pro SDK for .NET Configurations Characteristics • Archive .proConfigX - Xcopy or double-click deployment (via RegisterAddin.exe) - - C:\Users\Public\Documents\ArcGIS\ArcGISPro\Configurations - One configuration can run per instance of Pro - Specify via Command line: - /config:{Configuration_name} - Admin registry key to force Pro to run under a specific configuration: - HKLM\Software\ESRI\ArcGISPro\Settings\ConfigurationName https://github.com/arcgis/arcgis-pro-sdk/wiki/ArcGIS-Pro-Registry-Keys
Description: