ArcGIS Pro SDK for.net Advanced Pro Customization. Charles Macleod
|
|
- Leslie Quinn
- 5 years ago
- Views:
Transcription
1 ArcGIS Pro SDK for.net Advanced Pro Customization Charles Macleod
2 Advanced Customization and Extensibility Pro Extensibility Overview - Custom project and application settings - Project options - Multiple Add-ins - UI Customization via DAML - Versioning - Categories - Embeddable Controls for plug and play UI
3 Advanced Customization Project Settings Project settings are persisted in the project Override OnReadSettingsAsync and OnWriteSettingsAsync on the Module class Your custom settings are passed in via OnReadSettingsAsync - Whenever a project is opened (that contains your custom settings) Your custom settings are saved to the project via OnWriteSettingsAsync - Whenever a project is saved.
4 Advanced Customization Project Settings Settings are stored as key-value pairs. Values must be strings. Settings are added to the ModuleSettingsWriter during a save internal class Module1 : Module { private bool hassettings = false; //Called on Save project protected override Task OnWriteSettingsAsync(ModuleSettingsWriter settings) { settings.add( Setting1, Custom_setting_val1 ); settings.add( Setting2, Custom_setting_val2 );... return Task.FromResult(0); }
5 Advanced Customization Project Settings Settings are retrieved via OnReadSettingsAsync. Use the ModuleSettingsReader - OnReadSettingsAsync is called when the project is opened (if you have any settings) - You are responsible for your own defaults in the case of a project not having custom settings internal class Module1 : Module { private bool hassettings = false; //Called on project open protected override Task OnReadSettingsAsync(ModuleSettingsReader settings) { hassettings = true; //Set our flag true } var setting1 = settings[ Setting1 ]; var setting2 = settings[ Setting2 ];... return Task.FromResult(0); ProjectOpenedEvent.Subscribe((args)=> { if (!hassettings) //We did NOT have custom settings ProjectClosedEvent.Subscribe((args) => hassettings = false); //reset our flag
6 Advanced Customization Application Settings Application settings get added via.net property settings - In Visual Studio, add a new item type of settings to your Add-in - Visual studio will automatically generate a settings class for you - Settings stored in an app.config in the project - At runtime, dynamically stored in a user.config in the user s AppData folder
7 Advanced Customization Application Settings Use the property designer to add your application properties Visual Studio generates a settings class with the same properties. - Get and set the properties in code just like a regular class - Call Save() on the settings class to persist the settings Settings1.Default.ShowLastSave = false; Settings1.Default.Save();
8 Advanced Customization Demo
9 Advanced Customization Project Options Pro Options Property Sheet
10 Advanced Customization Project Options Add Project and Application options to the Pro Options Property Sheet - Provide a property page for both project and application options - Use the Pro SDK Property Sheet item template - Update property sheet with refid= esri_core_optionspropertysheet - Config.daml
11 Advanced Customization Project Options Add Project and Application property pages - Add New Item -> ArcGIS -> ArcGIS Pro Property Sheet - Adds an individual property page view + view model - Adds a custom property sheet container declared in the Config.daml - Adds a button to show the custom property sheet container - For our purposes we only need the page(s) view and view models - The rest of the generated content can either be deleted or ignored.
12 Advanced Customization Property Page Page View: Implement using standard WPF (User Control) Page View Model: - Derives from ArcGIS.Desktop.Framework.Contracts.Page - You must implement a CommitAsync override for your Save logic. - CommitAsync is called when the user clicks OK on the property sheet - It is only called if your page is dirty (IsModified = true) - Set this.ismodified = true whenever a property value is changed - Marks the page as dirty. if (SetProperty(ref _trackchanges, value, () => TrackChanges)) this.ismodified = true; - Override InitializeAsync and Uninitialize as needed: - Executed when the page is loaded and destroyed respectively.
13 Advanced Customization Project Options - Config.daml Delete extra content resulting from template generation <modules> <insertmodule id=..."...> <controls> <button id="advcustomizationstart_ui_showpropertysheet" caption="show PropertySheet 1" classname=..." loadonclick="true"...></button> <propertysheets> <insertsheet id="advcustomizationstart_ui_propertysheet1"...> <page id="advcustomizationstart_ui_projectoptions" caption= Project Tracking" classname="projectoptionsviewmodel" group="group 1"> <content classname="projectoptionsview" /> </page> </insertsheet> </propertysheets>
14 Advanced Customization Project Options - Config.daml Delete extra content resulting from template generation <modules> <insertmodule id=..."...> <controls> <button id="advcustomizationstart_ui_showpropertysheet" caption="show PropertySheet 1" classname=..." loadonclick="true"...></button> <propertysheets> <insertsheet id="advcustomizationstart_ui_propertysheet1"...> <page id=" AdvCustomizationStart_UI_ProjectOptions" caption="project Tracking" classname="projectoptionsviewmodel" group="group 1"> <content classname="projectoptionsview" /> </page> </insertsheet> </propertysheets>
15 Advanced Customization Project Options - Config.daml <propertysheets> <updatesheet refid="esri_core_optionspropertysheet"> </updatesheet> </propertysheets>
16 Advanced Customization Project Options - Config.daml <propertysheets> <updatesheet refid="esri_core_optionspropertysheet"> <!--Use group=project for the Project section in the settings--> <insertpage id="advcustomizationstart_ui_projectoptions" caption= Project Tracking classname="projectoptionsviewmodel" group= Group 1"> <content classname="projectoptionsview" /> </insertpage> </updatesheet> </propertysheets>
17 Advanced Customization Project Options - Config.daml <propertysheets> <updatesheet refid="esri_core_optionspropertysheet"> <!--Use group=project for the Project section in the settings--> <insertpage id="advcustomizationstart_ui_projectoptions" caption= Project Settings classname="projectoptionsviewmodel" group="project"> <content classname="projectoptionsview" /> </insertpage> </updatesheet> </propertysheets>
18 Advanced Customization Project Options - Config.daml <propertysheets> <updatesheet refid="esri_core_optionspropertysheet"> <!--Use group=project for the Project section in the settings--> <insertpage id="advcustomizationstart_ui_projectoptions" caption= Project Settings classname="projectoptionsviewmodel" group="project"> <content classname="projectoptionsview" /> </insertpage> <!--Use group=application for the Application section in the settings--> <insertpage id="advcustomizationstart_ui_applicationoptions" caption= Save Tracking classname="applicationoptionsviewmodel" group= Group 1"> <content classname="applicationoptionsview" /> </insertpage> </updatesheet> </propertysheets>
19 Advanced Customization Project Options - Config.daml <propertysheets> <updatesheet refid="esri_core_optionspropertysheet"> <!--Use group=project for the Project section in the settings--> <insertpage id="advcustomizationstart_ui_projectoptions" caption= Project Settings classname="projectoptionsviewmodel" group="project"> <content classname="projectoptionsview" /> </insertpage> <!--Use group=application for the Application section in the settings--> <insertpage id="advcustomizationstart_ui_applicationoptions" caption= Save Tracking classname="applicationoptionsviewmodel" group="application"> <content classname="applicationoptionsview" /> </insertpage> </updatesheet> </propertysheets>
20 Advanced Customization Demo
21 Advanced Customization Multi and Versioned Add-ins There may be scenarios where you want to deploy: - Newer versions of the same Add-in - Augment an existing Add-in with additional capabilities - or both
22 Advanced Customization - Multi and Versioned Add-ins Versioning your Add-in(s): Deploy bug-fixes and feature enhancements - Update the version attribute on <AddInInfo> in the Config.daml - Pro will always load the latest version of an Add-in regardless of its location <ArcGIS defaultassembly= Acme_Corp_Addin.dll"...> <AddInInfo id="{b705ce83-52aa-453f-8095-f6ae60994ce3}" version="1.0" desktopversion= 2.1"> <Name>Acme Corp. Addin</Name> <Description>Adds standard Acme workflows to Pro for... <AddInInfo - <AddInInfo version="1.0" version="1.0 Earliest <AddInInfo version=" " version=" <AddInInfo... version="1.0.1 <AddInInfo... version="1.0.1" <AddInInfo... version="1.3" <AddInInfo version= 2.0" version="1.3 Latest
23 Advanced Customization - Multi and Versioned Add-ins Multi Add-ins - Deploy functionality incrementally across multiple Add-ins - Core or Basic Add-in + other Add-ins as optional packages or extensions - Eg extra tools or UI components core or basic options or enhanced
24 Advanced Customization - Multi and Versioned Add-ins Use regular daml to update the core Add-in module typically updatetab but you can update menus, property sheets, groups, etc. <updatemodule refid= AdvCustomizationStart_Module"> <tabs> <updatetab refid="advcustomizationstart_tab1"> <insertgroup refid="externalcustomizations_optionsgroup1"/> </updatetab> </tabs> </updatemodule> Option: Add a daml dependency to the core Add-in in any Add-in that needs to modify or enhance it. - Important if the enhancements Add-ins load before the core Add-in it needs to modify. <dependencies> <dependency name="aacc0821-e d-90c6-92fa5eb67b2f"/> </dependencies>
25 Advanced Customization Categories
26 Advanced Customization Categories DAML Categories provides a custom extensibility mechanism - Allows you, the Add-in developer, to provide your own extensibility beyond what DAML out of the box provides - Eg optional filters or analysis algorithms or other capabilities that can be augmented by additional add-ins - There are two roles involved: - The Host or Owner : defines the category and is responsible for loading any customizations - Main module add-in - Component providers: responsible for providing any customizations - Enhancement/options add-ins
27 Advanced Customization Categories - The Host or Owner: - Creates the category in the Config.daml - Defines the requirements to be in the category - Eg Implement a proprietary interface, etc. - Uses Framework to find and retrieve category components at runtime - Use Categories.GetComponentElements( Your_Category_Id") - It is the Host s responsibility to document and enforce requirements for a category!
28 Advanced Customization Categories The Host Defines the category ID in the Config.daml <categories> <insertcategory id="testcategories"/> </categories> Documents category requirements these are your requirements - Eg: custom daml attributes and xml content. An interface that must be implemented, etc. public interface IMyCategoryProvider { string Label { get; } void Doit(MapPoint pt); }
29 Advanced Customization Categories - Component Provider(s) - Component providers are external modules (to the host). - Implement the component - Typically just a standard.net class - Implements any interfaces required by host (eg IMyCategoryProvider ) - Register component within the category in the Config.daml - Note: Components will be instantiated by the Host.
30 Advanced Customization Categories The Provider Add an updatecategory element with refid= the target category <categories> <updatecategory refid="testcategories"> </updatecategory> </categories>
31 Advanced Customization Categories The Provider Add an insertcomponent child element - classname must point to the code-behind file that contains the category implementation <categories> <updatecategory refid="testcategories"> <!-- This element is required --> <insertcomponent id="advcategoriesprovider1" classname= CategoryProvider"> </insertcomponent> </updatecategory> </categories>
32 Advanced Customization Categories The Provider Add a child content element to the insertcomponent. It has no attributes or children.unless.! <categories> <updatecategory refid="testcategories"> <!-- This element is required --> <insertcomponent id="advcategoriesprovider1" classname= CategoryProvider"> <! A content element is REQUIRED. All attributes are custom!--> <content/> </insertcomponent> </updatecategory> </categories>
33 Advanced Customization Categories The Provider The Category host requires custom content eg custom attributes or custom xml child content.in which case it must be added to the Config.daml <categories> <updatecategory refid="testcategories"> <!-- This element is required --> <insertcomponent id="advcategoriesprovider1" classname= CategoryProvider"> <! A content element is REQUIRED. All attributes are custom!--> <content version="1.0" name= custom" label= etc,etc > <!-- add any custom xml content here --> <param1... /> </content> </insertcomponent> </updatecategory> </categories>
34 Advanced Customization Loading Categories The Host Implement loading the category components (e.g. in Module Initialize, etc) - Use Categories.GetComponentElements( Your_Category_DAML_Id") - Returns an enumeration of ArcGIS.Desktop.Framework.ComponentElement - Each ComponentElement represents a component record (from add-in Config.damls) - For each ComponentElement: - Use GetContent() to return the <content/> element from the Config.daml - Returns a System.Xml.Ling.XElement. - Query it for custom attributes and child elements - Use CreateComponent() to instantiate a custom class instance
35 Advanced Customization Loading Categories The Host Implement loading the category components (e.g. in Module Initialize, etc) _items = new List<IMyCategoryProvider>(); XNamespace ns = " foreach (var component in Categories.GetComponentElements("TestCategories")) { var content = component.getcontent();// this is the content from Config.daml var version = content.attribute("version").value; var param1 = content.element(ns + "param1"); } //test the component var instance = component.createcomponent() as IMyCategoryProvider; if (instance!= null) _items.add(instance);
36 Advanced Customization Categories and Embeddable Controls Embeddable Controls
37 Advanced Customization Categories and Embeddable Controls Assume we want to provide an extensibility pattern..as before.. And.it requires a dynamic UI
38 Advanced Customization Categories and Embeddable Controls We need to use something called an Embeddable Control This is an aspect of the Pro SDK - ArcGIS Pro Embeddable Control item template - An embeddable control consists of: - A view component WPF User Control - A view model component - Derives from ArcGIS.Desktop.Framework.Controls.EmbeddableControl
39 Advanced Customization Categories and Embeddable Controls For dynamic UI: As the Host we: - Define a category same as before - Define any required custom interfaces, xml content (as before) - Require providers to register embeddable controls in our category - Not vanilla.net classes as before
40 Advanced Customization Categories and Embeddable Controls For dynamic UI As the Provider we: - Implement the component using the Embeddable Control pattern - Run the Pro SDK Embeddable Control item template - Implement any required interfaces on the VewModel - Register the embeddable control in the category as the category component
41 Advanced Customization Categories and Embeddable Controls - Registering the EmbeddableControl in the target category in the Config.daml <! Note: item template generates this for you!! --> <updatecategory refid="testcategory"> <! - simply switch out esri_embeddablecontrols --> <! - In this case, the component is the EmbeddableControl (ie the View Model ) --> <insertcomponent id="custom_embeddablecontrol" classname="embeddablecontrolviewmodel"> <! The content element is the view (i.e. UserControl) <content classname="extensionembeddablecontrolview" version=..."> <!-- add any custom xml content here as needed --> <param1... /> </content> </insertcomponent> </updatecategory>
42 Advanced Customization Loading Categories and Embeddable Controls As the Host: - Use Categories.GetComponentElements( Your_Category_DAML_Id") as before - Can use GetContent(), etc as needed to check for custom attributes, etc. - Use EmbeddableControl.Create() in lieu of CreateComponent() to create the embeddable control. - EmbeddableControl.Create returns a Tuple<EmbeddableControl, UserControl> - The EmbeddableControl should be tested for any required interfaces - Host the UserControl in the UI (per requirements, whatever they are ) - Standard WPF pattern is to use a <ContentPresenter />
43 Advanced Customization Loading Categories and Embeddable Controls Host: Implement loading the category components (e.g. in Module Initialize, etc) _items = new List<Tuple<IMyCategoryProvider, UserControl>>(); foreach (var component in Categories.GetComponentElements("TestCategories")) { //get the content var version = component.getcontent().attribute("version").value; } //test the component - note: we are using EmbeddableControl.Create! var t = EmbeddableControl.Create(component.ID, "TestCategories", null, false); if (t.item1 is IMyCategoryProvider)//Item1 is the EmbeddableControl component items.add(new Tuple<IMyCategoryProvider, UserControl>( (IMyCategoryProvider)t.Item1,t.Item2));
44 Advanced Customization Loading Categories and Embeddable Controls Host: Show the UI (as/when needed) - In the Host UI View place a ContentPresenter as the placeholder in the xaml <UserControl x:class=..."> <DockPanel LastChildFill="True" HorizontalAlignment="Stretch" Height="{Binding ControlHeight}"> <ContentPresenter Content="{Binding ProviderContent} /> </DockPanel> </UserControl> - In the Host UI View Model, set category provider s UserControl as the ContentPresenter content: _items = new List<Tuple<IMyCategoryProvider, UserControl>>();... this.providercontent = _items[0].item2;//item2 is the UserControl NotifyPropertyChanged( ProviderContent );
45 Advanced Customization Demo
46 Advanced Customization
47 Advanced Customization
48 Advanced Customization
49 Advanced Customization
50 Advanced Customization
51
52 Advanced Customization Questions?
53
Advanced Customization. Charles Macleod, Steve Van Esch
Advanced Customization Charles Macleod, Steve Van Esch Advanced Customization and Extensibility Pro Extensibility Overview - Custom project and application settings - Project options - Multiple Add-ins
More informationArcGIS Pro SDK for.net Beginning Pro Customization. Charles Macleod
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
More informationArcGIS Pro SDK for.net: Advanced User Interfaces in Add-ins. Wolfgang Kaiser
ArcGIS Pro SDK for.net: Advanced User Interfaces in Add-ins Wolfgang Kaiser Framework Elements - Recap Any Framework Element is an extensibility point - Controls (Button, Tool, and variants) - Hosted on
More informationArcGIS Pro SDK for.net Intro and Pro Add-in Programming Patterns. Wolfgang Kaiser
ArcGIS Pro SDK for.net Intro and Pro Add-in Programming Patterns Wolfgang Kaiser Session Overview Introduction to Pro Add-ins and the Module Introduction to Pro Configurations Asynchronous Programming:
More informationArcGIS Pro SDK for.net: UI Design and MVVM
Esri Developer Summit March 8 11, 2016 Palm Springs, CA ArcGIS Pro SDK for.net: UI Design and MVVM Charlie Macleod, Wolf Kaiser Important Customization Patterns for the Pro SDK MVVM Hooking Pro Commands
More informationArcGIS Pro SDK for.net: Add-in Fundamentals and Development Patterns. Wolf Kaiser, Uma Harano
ArcGIS Pro SDK for.net: Add-in Fundamentals and Development Patterns Wolf Kaiser, Uma Harano Session Overview What is the ArcGIS Pro SDK? What is an ArcGIS Pro add-in? ArcGIS Pro Add-ins: - How to write
More informationArcGIS Pro SDK for.net Advanced User Interfaces in Add-ins. Wolfgang Kaiser
ArcGIS Pro SDK for.net Advanced User Interfaces in Add-ins Wolfgang Kaiser Session Overview MVVM Model View ViewModel - View and View Model Implementation in Pro - Dockpane Example - MVVM concepts - Multi
More informationArcGIS Pro Extensibility - Building and Deploying Addins with the new DotNet SDK
ArcGIS Pro Extensibility - Building and Deploying Addins with the new DotNet SDK Charlie Macleod - Esri Esri UC 2014 Demo Theater New at 10.3 is the ArcGIS Pro Application - Extensibility is provided by
More informationBeginning Editing and Editing UI Patterns. Thomas Emge Narelle Chedzey
Beginning Editing and Editing UI Patterns Thomas Emge Narelle Chedzey ArcGIS.Desktop.Editing API Create custom construction tools and sketch tools - Construction tools create new features - Sketch tools
More informationConfigurations. Charles Macleod Wolfgang Kaiser
Configurations Charles Macleod Wolfgang Kaiser Configurations Extensibility pattern introduced at 1.4 - All of the functionality of an Add-in plus: - Change the application title and icon - Change the
More informationArcGIS Pro SDK for.net Customize Pro to Streamline Workflows. Wolfgang Kaiser
ArcGIS Pro SDK for.net Customize Pro to Streamline Workflows Wolfgang Kaiser Managed Configuration or Configurations Customize Pro to Streamline Workflows has been implemented with the Managed Configuration
More informationArcGIS Pro SDK for.net: Asynchronous Programming and MVVM Patterns in Pro. Wolfgang Kaiser
ArcGIS Pro SDK for.net: Asynchronous Programming and MVVM Patterns in Pro Wolfgang Kaiser Session Overview Asynchronous Programming: Introduction to QueuedTask - Use of async and await - Authoring custom
More informationBeginning Editing Edit Operations and Inspector. Charlie Macleod
Beginning Editing Edit Operations and Inspector Charlie Macleod Beginning Editing - Overview Edit Operation - Basic Workflows and Usage Inspector - Alternative to Edit Operation - Geared toward modifying
More informationExtending ArcGIS Pro with.net and Python: Interactive Analytics. Carlos A. Osorio-Murillo Mark Janikas
Extending ArcGIS Pro with.net and Python: Interactive Analytics Carlos A. Osorio-Murillo Mark Janikas Introduction ArcGIS Pro is highly customizable. From an application perspective,.net can be used to
More informationContents Getting Started... 3 About Scribe Online and Connectors... 3 Scribe Online Services... 3 CDK Components... 3 Audience... 4 Prerequisites...
Contents Getting Started... 3 About Scribe Online and Connectors... 3 Scribe Online Services... 3 CDK Components... 3 Audience... 4 Prerequisites... 4 Requirements... 4 CDK Workflow... 5 Scribe Online
More informationQuick Start - WPF. Chapter 4. Table of Contents
Chapter 4 Quick Start - WPF Table of Contents Chapter 4... 4-1 Quick Start - WPF... 4-1 Using Haystack Generated Code in WPF... 4-2 Quick Start for WPF Applications... 4-2 Add New Haystack Project for
More informationCustomizing the Operations Dashboard for ArcGIS
2013 Esri International User Conference July 8 12, 2013 San Diego, California Technical Workshop Customizing the Operations Dashboard for ArcGIS Kylie Donia and Tif Pun Esri UC2013. Technical Workshop.
More informationArcGIS Pro SDK for.net UI Design for Accessibility. Charles Macleod
ArcGIS Pro SDK for.net UI Design for Accessibility Charles Macleod Overview Styling - Light, Dark, High Contrast Accessibility Custom Styling* Add-in Styling Since1.4: Light and Dark Theme and High Contrast
More informationSuper Powered Dynamo. Dynamo Extensions - with great power comes great responsibility - uncle ben
Super Powered Dynamo Dynamo Extensions - with great power comes great responsibility - uncle ben OverView For Today 8:30-9:00 Breakfast and Setup 9:00-9:30 Introductions and Extension Ideas Exchange 9:30-11:00
More informationHPE WPF and Silverlight Add-in Extensibility
HPE WPF and Silverlight Add-in Extensibility Software Version: 14.02 WPF and Silverlight Developer Guide Go to HELP CENTER ONLINE https://admhelp.microfocus.com/uft/ Document Release Date: November 21,
More informationArcGIS Runtime: Building Cross-Platform Apps. Rex Hansen Mark Baird Michael Tims Morten Nielsen
ArcGIS Runtime: Building Cross-Platform Apps Rex Hansen Mark Baird Michael Tims Morten Nielsen Agenda Cross-platform review ArcGIS Runtime cross-platform options - Java - Qt -.NET ArcGIS Runtime: Building
More informationWPF and MVVM Study Guides
1. Introduction to WPF WPF and MVVM Study Guides https://msdn.microsoft.com/en-us/library/mt149842.aspx 2. Walkthrough: My First WPF Desktop Application https://msdn.microsoft.com/en-us/library/ms752299(v=vs.110).aspx
More informationCustomization of ArcGIS Pro: WSDOT s GIS Workbench Data Access Add-In
Customization of ArcGIS Pro: WSDOT s GIS Workbench Data Access Add-In Richard C. Daniels & Jordyn Mitchell Washington State Department of Transportation, Information Technology Division, P.O. Box 47430,
More informationArcGIS Runtime SDK for.net Building Apps. Rex Hansen
ArcGIS Runtime SDK for.net Building Apps Rex Hansen Thank You to Our Sponsors Agenda Overview of the ArcGIS Runtime SDK for.net Resources for developers Common developer workflows: App templates, NuGet
More informationOcean Wizards and Developers Tools in Visual Studio
Ocean Wizards and Developers Tools in Visual Studio For Geoscientists and Software Developers Published by Schlumberger Information Solutions, 5599 San Felipe, Houston Texas 77056 Copyright Notice Copyright
More informationArcGIS Viewer for Silverlight Advanced Topics
Esri International User Conference San Diego, California Technical Workshops July 26, 2012 ArcGIS Viewer for Silverlight Advanced Topics Rich Zwaap Agenda Add-ins overview Tools Behaviors Controls Layouts
More informationSupporting Non-Standard Development Configurations
Supporting Non-Standard Development Configurations The samples in Data Binding with Windows Forms 2.0 assume you have a default instance of SQL Server 2000 or 2005 installed on your machine, and that the
More informationCreating SDK plugins
Creating SDK plugins 1. Introduction... 3 2. Architecture... 4 3. SDK plugins... 5 4. Creating plugins from a template in Visual Studio... 6 5. Creating custom action... 9 6. Example of custom action...10
More informationArcGIS Runtime: Building Cross-Platform Apps. Mike Branscomb Michael Tims Tyler Schiewe
ArcGIS Runtime: Building Cross-Platform Apps Mike Branscomb Michael Tims Tyler Schiewe Agenda Cross-platform review ArcGIS Runtime cross-platform options - Java - Qt -.NET Native vs Web Native strategies
More informationRenderMonkey SDK Version 1.71
RenderMonkey SDK Version 1.71 OVERVIEW... 3 RENDERMONKEY PLUG-IN ARCHITECTURE PHILOSOPHY... 3 IMPORTANT CHANGES WHEN PORTING EXISTING PLUG-INS... 3 GENERAL... 4 GENERATING A RENDERMONKEY PLUG-IN FRAMEWORK...
More informationVector Issue Tracker and License Manager - Administrator s Guide. Configuring and Maintaining Vector Issue Tracker and License Manager
Vector Issue Tracker and License Manager - Administrator s Guide Configuring and Maintaining Vector Issue Tracker and License Manager Copyright Vector Networks Limited, MetaQuest Software Inc. and NetSupport
More informationSLD 2.0 Implementation Guide
SLD 2.0 Implementation Guide Guillaume Durand Guillaume.Durand@nrc-cnrc.gc.ca Luc Belliveau Luc.Belliveau@nrc-cnrc.gc.ca Benoit Lanteigne lanteib@umoncton.ca Ben Craig Ben.Craig@nrc-cnrc.gc.ca Version
More informationWindows Presentation Foundation (WPF)
50151 - Version: 4 21 January 2018 Windows Presentation Foundation (WPF) Windows Presentation Foundation (WPF) 50151 - Version: 4 5 days Course Description: This five-day instructor-led course provides
More information(Refer Slide Time: 1:12)
Mobile Computing Professor Pushpendra Singh Indraprastha Institute of Information Technology Delhi Lecture 06 Android Studio Setup Hello, today s lecture is your first lecture to watch android development.
More informationThe Next Generation of Eclipse: e4. Mike Milinkovich Executive Director Eclipse Foundation
The Next Generation of Eclipse: e4 Mike Milinkovich Executive Director Eclipse Foundation 1 Changing Environment New Technologies: RIA Applications and Cloud Computing AJAX, Flash, Silverlight Amazon E2
More informationWeb Mapping Applications with ArcGIS. Bernie Szukalski Derek Law
Web Mapping Applications with ArcGIS Bernie Szukalski Derek Law Agenda Web Mapping and Map Services Fundamentals ArcGIS Web Mapping Applications - Hosted online - Hosted on-premise Summary Web Application
More informationArcGIS Runtime SDK for.net Getting Started. Jo Fraley
ArcGIS Runtime SDK for.net Getting Started Jo Fraley Agenda What is the ArcGIS Runtime? What s new for ArcGIS developers? ArcGIS Runtime SDK 10.2 for WPF ArcGIS Runtime SDK for.net Building Windows Store
More informationGetting Started with ExcelMVC
Getting Started with ExcelMVC Just like Silverlight or WPF (Windows Presentation Foundation), ExcelMVC facilitates a clear separation between your application s business objects (Models), its user interfaces
More informationHands-On Lab. Launching Contextual Conversations from the Lync Controls. Lab version: 1.0 Last updated: 12/17/2010
Hands-On Lab Launching Contextual Conversations from the Lync Controls Lab version: 1.0 Last updated: 12/17/2010 CONTENTS OVERVIEW... 3 System Requirements 3 EXERCISE 1: INTEGRATE LAUNCH LINK AND DATA
More informationINFRAGISTICS Silverlight 15.2 Volume Release Notes 2015
INFRAGISTICS Silverlight 15.2 Volume Release Notes 2015 Raise the Bar on Both Business Intelligence and Web UI with Infragistics Silverlight Controls. Infragistics Silverlight controls provide breadth
More information04 Sharing Code Between Windows 8 and Windows Phone 8 in Visual Studio. Ben Riga
04 Sharing Code Between Windows 8 and Windows Phone 8 in Visual Studio Ben Riga http://about.me/ben.riga Course Topics Building Apps for Both Windows 8 and Windows Phone 8 Jump Start 01 Comparing Windows
More information03 Model-View-ViewModel. Ben Riga
03 Model-View-ViewModel Ben Riga http://about.me/ben.riga Course Topics Building Apps for Both Windows 8 and Windows Phone 8 Jump Start 01 Comparing Windows 8 and Windows Phone 8 02 Basics of View Models
More informationConfiguring and Customizing the ArcGIS Viewer for Silverlight. Katy Dalton
Configuring and Customizing the ArcGIS Viewer for Silverlight Katy Dalton kdalton@esri.com Agenda Overview of the ArcGIS Viewer for Silverlight Extensibility endpoints - Tools, Behaviors, Layouts, Controls
More informationLearning C# 3.0. Jesse Liberty and Brian MacDonald O'REILLY. Beijing Cambridge Farnham Köln Sebastopol Taipei Tokyo
Learning C# 3.0 Jesse Liberty and Brian MacDonald O'REILLY Beijing Cambridge Farnham Köln Sebastopol Taipei Tokyo Table of Contents Preface xv 1. C# and.net Programming 1 Installing C# Express 2 C# 3.0
More informationWriting Your First Autodesk Revit Model Review Plug-In
Writing Your First Autodesk Revit Model Review Plug-In R. Robert Bell Sparling CP5880 The Revit Model Review plug-in is a great tool for checking a Revit model for matching the standards your company has
More informationOffice as a development platform with Visual Studio Daniel Moth Developer and Platform Group Microsoft
Office as a development platform with Visual Studio 2008 Daniel Moth Developer and Platform Group Microsoft http://www.danielmoth.com/blog AGENDA VSTO Overview Office Ribbon Designer Custom Task Pane Action
More informationContents. Microsoft is a registered trademark of Microsoft Corporation. TRAVERSE is a registered trademark of Open Systems Holdings Corp.
TPLWPT Contents Summary... 1 General Information... 1 Technology... 2 Server Technology... 2 Business Layer... 4 Client Technology... 4 Structure... 4 Ultra-Thin Client Considerations... 7 Internet and
More informationAgenda. Configuration. Customization. Customization without programming. Creating Add-ins
ArcGIS Explorer Beyond the Basics Jo Fraley ESRI Agenda Configuration Customization without programming Custom Basemaps Custom logo, splash screen, title Configure Tools available Customization Creating
More informationC# Programming: From Problem Analysis to Program Design. Fourth Edition
C# Programming: From Problem Analysis to Program Design Fourth Edition Preface xxi INTRODUCTION TO COMPUTING AND PROGRAMMING 1 History of Computers 2 System and Application Software 4 System Software 4
More informationTraining Consulting - Mentoring
Training Consulting - Mentoring Official Course Syllabus CSLA Master Class 5 days DUNN Training and Consulting 4805 Rambling Rose Drive Cumming, GA 30040 770 653-6364 mailto:info@dunntraining.com http://www.dunntraining.com/
More informationEL-USB-RT API Guide V1.0
EL-USB-RT API Guide V1.0 Contents 1 Introduction 2 C++ Sample Dialog Application 3 C++ Sample Observer Pattern Application 4 C# Sample Application 4.1 Capturing USB Device Connect \ Disconnect Events 5
More informationWebnodes Developers Quick Guide
Webnodes Webnodes Developers Quick Guide Want to get started right away? Ole Gulbrandsen 1/1/2010 Webnodes Developers Quick Guide Want to get started right away? This guide is for C# developers and will
More informationMastering VB.NET using Visual Studio 2010 Course Length: 5 days Price: $2,500
Mastering VB.NET using Visual Studio 2010 Course Length: 5 days Price: $2,500 Summary Each day there will be a combination of presentations, code walk-throughs, and handson projects. The final project
More informationINHERITANCE. Spring 2019
INHERITANCE Spring 2019 INHERITANCE BASICS Inheritance is a technique that allows one class to be derived from another A derived class inherits all of the data and methods from the original class Suppose
More information.NET Add-ins for ArcGIS for Desktop. John Hauck, Chris Fox
.NET Add-ins for ArcGIS for Desktop John Hauck, Chris Fox ArcGIS Desktop Add-Ins A better way to customize and extend ArcGIS Desktop applications. - Easier to build - Easy to share - More secure - C#,
More informationArcGIS Runtime SDK for.net Building Apps. Antti Kajanus David Cardella
ArcGIS Runtime SDK for.net Building Apps Antti Kajanus akajanus@esri.com David Cardella dcardella@esri.com Thank You to Our Generous Sponsor SDK Highlights High-performance 2D and 3D mapping Integration
More informationThis walkthrough assumes you have completed the Getting Started walkthrough and the first lift and shift walkthrough.
Azure Developer Immersion In this walkthrough, you are going to put the web API presented by the rgroup app into an Azure API App. Doing this will enable the use of an authentication model which can support
More informationModule 4: CUSTOMIZING FIELDS
Module 4: CUSTOMIZING FIELDS Adding a field adds one or more fields to the underlying SQL database. The type of the field will specify how many bytes the underlying data takes up in SQL Server. In CRM
More informationArcGIS API for Silverlight An Introduction
Esri Middle East and Africa User Conference December 10 12 Abu Dhabi, UAE ArcGIS API for Silverlight An Introduction Jo Fraley Agenda Silverlight platform API Overview Building Apps Road Ahead ArcGIS is
More informationCreating.NET Add-ins for ArcGIS for Desktop
Creating.NET Add-ins for ArcGIS for Desktop John Hauck and Chris Fox Esri UC 2014 Technical Workshop Introduction to.net Esri UC 2014 Technical Workshop Creating.NET Add-ins for ArcGIS for Desktop What
More informationIgnite UI Release Notes
Ignite UI 2013.1 Release Notes Create the best Web experiences in browsers and devices with our user interface controls designed expressly for jquery, ASP.NET MVC, HTML 5 and CSS 3. You ll be building
More informationThe name of this chapter should be Getting Everything You Can from
Chapter 1: Exploring Visual Studio Extensions In This Chapter Getting the most out of Visual Studio Building the next generation of Web sites with AJAX Looking ahead to the future of Visual Studio The
More informationEnterprise Architect. User Guide Series. Hybrid Scripting. Author: Sparx Systems. Date: 26/07/2018. Version: 1.0 CREATED WITH
Enterprise Architect User Guide Series Hybrid Scripting Author: Sparx Systems Date: 26/07/2018 Version: 1.0 CREATED WITH Table of Contents Hybrid Scripting 3 C# Example 5 Java Example 7 Hybrid Scripting
More informationBuilding your project Generating debugging information Using the command line mode Using SmartAssembly with MSBuild...
Contents Getting started... 3 System requirements... 5 Working with projects... 6 Setting project options... 9 Optimizing and protecting code... 11 Strong name key signing... 12 Merging dependencies...
More informationMicrosoft Partner Day. Introduction to SharePoint for.net Developer
Microsoft Partner Day Introduction to SharePoint for.net Developer 1 Agenda SharePoint Product & Technology Windows SharePoint Services for Developers Visual Studio Extensions For Windows SharePoint Services
More informationWindows Presentation Foundation. Jim Fawcett CSE687 Object Oriented Design Spring 2018
Windows Presentation Foundation Jim Fawcett CSE687 Object Oriented Design Spring 2018 References Pro C# 5 and the.net 4.5 Platform, Andrew Troelsen, Apress, 2012 Programming WPF, 2nd edition, Sells & Griffiths,
More informationCustomized Enterprise Installation of IBM Rational ClearCase Using the IBM Rational ClearCase Remote Client plug-in and the Eclipse SDK
Customized Enterprise Installation of IBM Rational ClearCase Using the IBM Rational ClearCase Remote Client plug-in and the Eclipse SDK Fred Bickford IV Senior Advisory Software Engineer IBM Rational Customer
More informationHCIM SUMMER WORKSHOP Introduction to C#
HCIM SUMMER WORKSHOP Introduction to C# .NET.NET is: Microsoft s Platform for Windows Development CLR (Common Language Runtime) the Virtual Machine that runs MSIL (Microsoft Intermediate Language Code)
More informationServer Extension User s Guide SAP BusinessObjects Planning and Consolidation 10.0, version for the Microsoft platform
Server Extension User s Guide SAP BusinessObjects Planning and Consolidation 10.0, version for the Microsoft platform PUBLIC Document Version: 1.1 [September 9, 2016] Copyright Copyright 2016 SAP SE. All
More informationIBSDK Quick Start Tutorial for C# 2010
IB-SDK-00003 Ver. 3.0.0 2012-04-04 IBSDK Quick Start Tutorial for C# 2010 Copyright @2012, lntegrated Biometrics LLC. All Rights Reserved 1 QuickStart Project C# 2010 Example Follow these steps to setup
More informationIntroduce C# as Object Oriented programming language. Explain, tokens,
Module 2 98 Assignment 1 Introduce C# as Object Oriented programming language. Explain, tokens, lexicals and control flow constructs. 99 The C# Family Tree C Platform Independence C++ Object Orientation
More informationStarting Microsoft Visual Studio 6.0 And Exploring Available Controls Tools
Starting Microsoft Visual Studio 6.0 And Exploring Available Controls Tools Section 1. Opening Microsoft Visual Studio 6.0 1. Start Microsoft Visual Studio ("C:\Program Files\Microsoft Visual Studio\Common\MSDev98\Bin\MSDEV.EXE")
More informationUse Case 2: Extending object/application to support a new object attribute and a validation for that attribute using either Scripting or Java.
Overview This use case in this document show how the tooling provided with the products based on Tivoli s process automation engine can help you add value through product extensions and/or integration
More informationLab 7: Silverlight API
Lab 7: Silverlight API Due Date: 02/07/2014 Overview Microsoft Silverlight is a development platform for creating engaging, interactive user experiences for Web, desktop, and mobile applications when online
More informationDeveloping Android Applications Introduction to Software Engineering Fall Updated 1st November 2015
Developing Android Applications Introduction to Software Engineering Fall 2015 Updated 1st November 2015 Android Lab 3 & Midterm Additional Concepts No Class Assignment 2 Class Plan Android : Additional
More informationAn introduction to ArcGIS Runtime
2013 Europe, Middle East, and Africa User Conference October 23-25 Munich, Germany An introduction to ArcGIS Runtime Christine Brunner Lars Schmitz Welcome! Christine Brunner, Germany - Software Developer
More informationAccessing Quickr Document Libraries using IBM WebSphere Portlet Factory
Accessing Quickr Document Libraries using IBM WebSphere Portlet Factory August 27, 2010 Copyright International Business Machines Corporation 2010. All rights reserved. Abstract This sample shows how to
More informationWriting Custom FxCop Rules. Guy Smith-Ferrier. Blog: : Courseware Online
Writing Custom FxCop Rules Guy Smith-Ferrier guy@guysmithferrier.com Blog: : http://www.guysmithferrier.com 1 Author of.net Internationalization, Addison Wesley, ISBN 0321341384 Visit http://www.dotneti18n.com
More informationEditing XML Data in Microsoft Office Word 2003
Page 1 of 8 Notice: The file does not open properly in Excel 2002 for the State of Michigan. Therefore Excel 2003 should be used instead. 2009 Microsoft Corporation. All rights reserved. Microsoft Office
More informationPass-through of External Context Objects to ODA Data Providers Project Features Specification
Pass-through of External Context Objects to ODA Data Providers Project Features Specification BPS #35 Version 1.45: November 10December 13, 2005 Abstract The Open Data Access (ODA) runtime API is currently
More informationIndex A, B. Cascading Style Sheets (CSS), 45 Columns, 325 calculations, 330 choice type, 328
Index A, B ASP.NET MVC application, 287 GetProducts() Private Method, 307 LeadInfo objects, 306 Office 365 APIs action methods, 308, 311 authentication process, 311 client library, 300 Custom Classes,
More informationMetadata driven component development. using Beanlet
Metadata driven component development using Beanlet What is metadata driven component development? It s all about POJOs and IoC Use Plain Old Java Objects to focus on business logic, and business logic
More informationSAS AppDev Studio TM 3.4 Eclipse Plug-ins. Migration Guide
SAS AppDev Studio TM 3.4 Eclipse Plug-ins Migration Guide The correct bibliographic citation for this manual is as follows: SAS Institute Inc. 2009. SAS AppDev Studio TM 3.4 Eclipse Plug-ins: Migration
More information2310C VB - Developing Web Applications Using Microsoft Visual Studio 2008 Course Number: 2310C Course Length: 5 Days
2310C VB - Developing Web Applications Using Microsoft Visual Studio 2008 Course Number: 2310C Course Length: 5 Days Certification Exam This course will help you prepare for the following Microsoft Certified
More informationDeveloping Add-Ins for ArcGIS Pro (.NET) Toronto Esri Canada UC Presented by: Gandhar Wazalwar & Kern Ranjitsingh October 11, 2018
Developing Add-Ins for ArcGIS Pro (.NET) Toronto Esri Canada UC Presented by: Gandhar Wazalwar & Kern Ranjitsingh October 11, 2018 Esri Canada Professional Services Project services Implementation services
More information12/05/2017. Geneva ServiceNow Custom Application Development
12/05/2017 Contents...3 Applications...3 Creating applications... 3 Parts of an application...22 Contextual development environment... 48 Application management... 56 Studio... 64 Service Creator...87
More informationChapter 13. Additional Topics in Visual Basic The McGraw-Hill Companies, Inc. All rights reserved. McGraw-Hill
Chapter 13 Additional Topics in Visual Basic McGraw-Hill 2010 The McGraw-Hill Companies, Inc. All rights reserved. Objectives Write Windows applications that run on mobile devices Display database information
More informationDeploying Haystack Applications
Chapter 12 Deploying Haystack Applications In order to distribute an application that you build with the Haystack Code Generator for.net you need to create a Runtime License. This runtime license is distributed
More informationChapter 3. Interactive Software Development Assistants Logic-based Software Representation. Logic-based Software Analysis
Advanced Logic Programming Summer semester 2012 R O O T S Chapter 3. Logic-based Analysis Interactive Development Assistants Logic-based Representation Logic-based Analysis Logic-based Transformation Motivation
More informationCREATING A REPORT TEMPLATE TO USE IN MAGICDRAW user guide
CREATING A REPORT TEMPLATE TO USE IN MAGICDRAW 18.2 user guide No Magic, Inc. 2015 All material contained herein is considered proprietary information owned by No Magic, Inc. and is not to be shared, copied,
More informationHaystack Overview. Chapter 1. Table of Contents
Chapter 1 Haystack Overview Table of Contents Chapter 1... 1-1 Haystack Overview... 1-1 Haystack Overview... 1-2 Philosophy... 1-2 Using Haystack Generated Code... 1-3 Goals of Haystack... 1-4 What Haystack
More informationArcGIS Runtime.NET: Extending Views and View Models. Mark Cederholm UniSource Energy Services Flagstaff, Arizona
ArcGIS Runtime.NET: Extending Views and View Models Mark Cederholm UniSource Energy Services Flagstaff, Arizona How can I design a single, relatively simple GIS field application, that can be configured
More informationMicrosoft MB Microsoft CRM Extending MS CRM 1.2 with.net.
Microsoft MB2-228 Microsoft CRM Extending MS CRM 1.2 with.net http://killexams.com/exam-detail/mb2-228 Answer: A, C QUESTION: 140 Which of the following statements are true for Microsoft CRM object dependencies?
More informationCOGNOS BI I) BI introduction Products Introduction Architecture Workflows
COGNOS BI I) BI introduction Products Architecture Workflows II) Working with Framework Manager (Modeling Tool): Architecture Flow charts Creating Project Creating Data Sources Preparing Relational Metadata
More informationExtending the JavaScript Development Toolkit
Extending the JavaScript Development Toolkit Bradley Childs IBM Software Group childsb@us.ibm.com 3/19/2008 Agenda Overview JSDT Feature Highlights Benefit of Extending JSDT JSDT Platform What can you
More informationdocalpha Monitoring Station
ARTSYL DOCALPHA MONITORING STATION MANUAL 1. docalpha Architecture Overview... 3 1.1. Monitoring Station Overview... 4 2. What's New in docalpha Monitoring Station 4.5... 4 3. Working with Monitoring Station...
More informationBuilding WPF Apps with the new ArcGIS Runtime SDK for.net. Antti Kajanus Mike Branscomb
Building WPF Apps with the new ArcGIS Runtime SDK for.net Antti Kajanus Mike Branscomb Agenda ArcGIS Runtime SDK for.net Windows Desktop API Build a map Edit Search Geocoding and Routing Perform analysis
More informationSchlumberger Private Customer Use
1 Copyright Notice Copyright 2009-2016 Schlumberger. All rights reserved. No part of this document may be reproduced, stored in a retrieval system, or translated in any form or by any means, electronic
More informationCreating the Data Layer
Creating the Data Layer When interacting with any system it is always useful if it remembers all the settings and changes between visits. For example, Facebook has the details of your login and any conversations
More informationWhat property of a C# array indicates its allocated size? What keyword in the base class allows a method to be polymorphic?
What property of a C# array indicates its allocated size? a. Size b. Count c. Length What property of a C# array indicates its allocated size? a. Size b. Count c. Length What keyword in the base class
More information