Esri UC 2014 | Demo Theater | ArcGIS Pro Extensibility - Building and Deploying Addins with the new...

42
ArcGIS Pro Extensibility - Building and Deploying Addins with the new DotNet SDK Charlie Macleod - Esri

Transcript of Esri UC 2014 | Demo Theater | ArcGIS Pro Extensibility - Building and Deploying Addins with the new...

Page 1: Esri UC 2014 | Demo Theater | ArcGIS Pro Extensibility - Building and Deploying Addins with the new DotNet SDK Charlie Macleod - Esri.

Esri UC 2014 | Demo Theater |

ArcGIS Pro Extensibility - Building and Deploying Addins with the new DotNet SDKCharlie Macleod - Esri

Page 2: Esri UC 2014 | Demo Theater | ArcGIS Pro Extensibility - Building and Deploying Addins with the new DotNet SDK Charlie Macleod - Esri.

Esri UC 2014 | Demo Theater |

ArcGIS Pro Extensibility - Addins for the new DotNet SDK

• New at 10.3 is the ArcGIS Pro Application- Extensibility is provided by the ArcGIS Pro Framework

- ArcGIS.Desktop.Framework.dll

- “Plug in” to Framework Extensibility via Addins in the SDK

- Visual Studio IDE for many different Framework elements- Currently CSharp

- VBNet to follow

- ArcGIS Pro Functionality provided via its API. No separate PIAs

ArcGIS Pro Extensibility - Building and Deploying Addins with the new DotNet SDK

Page 3: Esri UC 2014 | Demo Theater | ArcGIS Pro Extensibility - Building and Deploying Addins with the new DotNet SDK Charlie Macleod - Esri.

Esri UC 2014 | Demo Theater |

ArcGIS Pro Extensibility - Addins for the new DotNet SDK

• Any UI component in the Framework is an extensibility point- Controls (Button, Tool, and variants)

- Hosted on Ribbons, Menus, Galleries

- Checkbox, Combobox, Label Control, Custom Controls

- Tabs, Tab Groups

- Toolbars

- Menus, Context Menus

- Panes

- Dockpanes

- Galleries

- Property Sheets

ArcGIS Pro Extensibility - Building and Deploying Addins with the new DotNet SDK

Page 4: Esri UC 2014 | Demo Theater | ArcGIS Pro Extensibility - Building and Deploying Addins with the new DotNet SDK Charlie Macleod - Esri.

Esri UC 2014 | Demo Theater |

ArcGIS Pro Extensibility - Addins for the new DotNet SDK

• Addins defined:

• Declarative definition (in “daml” – declarative xml – config file), “Metadata”

• .Net Assembly containing the implementation- Can contain 1 or more framework UI extensions

- Implement Framework Plugin Contract

• Resources, images, strings, data

• References to ArcGIS Pro Assemblies (“the” API)

• Registry free

• Addins deployed to a well-known folder under <user>\MyDocuments

ArcGIS Pro Extensibility - Building and Deploying Addins with the new DotNet SDK

Page 5: Esri UC 2014 | Demo Theater | ArcGIS Pro Extensibility - Building and Deploying Addins with the new DotNet SDK Charlie Macleod - Esri.

Esri UC 2014 | Demo Theater |

ArcGIS Pro Extensibility - Addins for the new DotNet SDK

• Demo (controls)

• Zoom

• Custom

• Checkbox

• Context Menu for Layer

ArcGIS Pro Extensibility - Building and Deploying Addins with the new DotNet SDK

Page 6: Esri UC 2014 | Demo Theater | ArcGIS Pro Extensibility - Building and Deploying Addins with the new DotNet SDK Charlie Macleod - Esri.

Esri UC 2014 | Demo Theater |

ArcGIS Pro Extensibility - Addins for the new DotNet SDK

• Addins consist of a Module and 0 (zero) or more DAML Elements

• Module: similar to the Extension object used in the 10.x framework.

• Singletons instantiated automatically by the Framework- Either explicitly (because executing code requested it)

- Implicitly because of a context shift (Tab, menu, button was activated)

- Program elements within Module are explicitly declared:- Buttons, Tools, Galleries, Combo Boxes, Edit Boxes, Palettes, etc.

- Relationship between a Module and its associated components lets the Framework initialize, un-initialize, and remove entire Addins as a whole.

ArcGIS Pro Extensibility - Building and Deploying Addins with the new DotNet SDK

Page 7: Esri UC 2014 | Demo Theater | ArcGIS Pro Extensibility - Building and Deploying Addins with the new DotNet SDK Charlie Macleod - Esri.

Esri UC 2014 | Demo Theater |

ArcGIS Pro Extensibility - Addins for the new DotNet SDK

• ArcGIS Pro API

• Modules act as the hub and central access point for API subsystem;

• For access to functionality within a subsystem, start with its Module. - By convention, all public properties on Modules should be static;

- Typically, simply reference the associated assembly and directly use the Module class

- If you need access to a Module instance (for non-static methods). Either look for a “Current” static property or use this pattern:

- ExampleModule _thisModule =

FrameworkApplication.FindModule("ExampleModule") as

ExampleModule;

ArcGIS Pro Extensibility - Building and Deploying Addins with the new DotNet SDK

Page 8: Esri UC 2014 | Demo Theater | ArcGIS Pro Extensibility - Building and Deploying Addins with the new DotNet SDK Charlie Macleod - Esri.

Esri UC 2014 | Demo Theater |

ArcGIS Pro Extensibility - Addins for the new DotNet SDK

• Within the Module: DAML Elements (“Plug Ins”)

• All Framework Elements which have an active component inherit from the common base class Plugin

public class Plugin

{

public sealed override void Dispose()

public bool IsDisposed { get; }

public String ID { get; }

}

• Majority of the methods/properties do not need to be overridden or implemented.

• Most of the implementation is provided by the DAML declaration

ArcGIS Pro Extensibility - Building and Deploying Addins with the new DotNet SDK

Page 9: Esri UC 2014 | Demo Theater | ArcGIS Pro Extensibility - Building and Deploying Addins with the new DotNet SDK Charlie Macleod - Esri.

Esri UC 2014 | Demo Theater |

ArcGIS Pro Extensibility - Addins for the new DotNet SDK

• Create an Addin Module:- Add Framework elements to the Module

ArcGIS Pro Extensibility - Building and Deploying Addins with the new DotNet SDK

Page 10: Esri UC 2014 | Demo Theater | ArcGIS Pro Extensibility - Building and Deploying Addins with the new DotNet SDK Charlie Macleod - Esri.

Esri UC 2014 | Demo Theater |

ArcGIS Pro Extensibility - Addins for the new DotNet SDK

• DAML

• Declarative definition of the Module and Elements, also Metadata

ArcGIS Pro Extensibility - Building and Deploying Addins with the new DotNet SDK

Page 11: Esri UC 2014 | Demo Theater | ArcGIS Pro Extensibility - Building and Deploying Addins with the new DotNet SDK Charlie Macleod - Esri.

Esri UC 2014 | Demo Theater |

ArcGIS Pro Extensibility - Addins for the new DotNet SDK

• MVVM – Pattern for many Framework elements

• Model - Models objects manage your data, cached state, methods etc. to manipulate the model, persist, etc.- Focus unit tests on Models

• View – Presents the model on the screen. Defined in terms of UI elements

• View Model – Intermediary between model and view.- Wraps the model and exposes properties

- Can create convenience properties, coerce property values

- Implements change notification for data binding

Model View ViewModel

ArcGIS Pro Extensibility - Building and Deploying Addins with the new DotNet SDK

Page 12: Esri UC 2014 | Demo Theater | ArcGIS Pro Extensibility - Building and Deploying Addins with the new DotNet SDK Charlie Macleod - Esri.

Esri UC 2014 | Demo Theater |

ArcGIS Pro Extensibility - Addins for the new DotNet SDK

• Dockpane- Model – your implementation. You provide “custom” or use ArcGIS Pro model (Map,

Bookmark, Layer,…)

- ViewModel – Implements the Framework Contract. SDK Provides template

Model View ViewModel - Dockpane

ArcGIS Pro Extensibility - Building and Deploying Addins with the new DotNet SDK

Page 13: Esri UC 2014 | Demo Theater | ArcGIS Pro Extensibility - Building and Deploying Addins with the new DotNet SDK Charlie Macleod - Esri.

Esri UC 2014 | Demo Theater |

ArcGIS Pro Extensibility - Addins for the new DotNet SDK

• View – visual aspect. Implement as a UserControl- Framework hosts your UserControl on a Dockpane panel.

- SDK provides a View template for the Dockpane UserControl

Model View ViewModel - Dockpane

ArcGIS Pro Extensibility - Building and Deploying Addins with the new DotNet SDK

Page 14: Esri UC 2014 | Demo Theater | ArcGIS Pro Extensibility - Building and Deploying Addins with the new DotNet SDK Charlie Macleod - Esri.

Esri UC 2014 | Demo Theater |

ArcGIS Pro Extensibility - Addins for the new DotNet SDK

• In Classic WPF, view and viewmodel are linked via the View datacontext

Model View ViewModel - Dockpane

ArcGIS Pro Extensibility - Building and Deploying Addins with the new DotNet SDK

Page 15: Esri UC 2014 | Demo Theater | ArcGIS Pro Extensibility - Building and Deploying Addins with the new DotNet SDK Charlie Macleod - Esri.

Esri UC 2014 | Demo Theater |

ArcGIS Pro Extensibility - Addins for the new DotNet SDK

• For MVVM Addins - View-View Model relationship is declared in the DAML

- Access View Model via Framework (not via View DataContext)

- DockpaneViewModel1 dvm = FrameworkApplication.FindDockPane(damlID)

as DockpaneViewModel1;

Model View ViewModel - Dockpane

ArcGIS Pro Extensibility - Building and Deploying Addins with the new DotNet SDK

Page 16: Esri UC 2014 | Demo Theater | ArcGIS Pro Extensibility - Building and Deploying Addins with the new DotNet SDK Charlie Macleod - Esri.

Esri UC 2014 | Demo Theater |

ArcGIS Pro Extensibility - Addins for the new DotNet SDK

• Demo (Dockpane)

ArcGIS Pro Extensibility - Building and Deploying Addins with the new DotNet SDK

Page 17: Esri UC 2014 | Demo Theater | ArcGIS Pro Extensibility - Building and Deploying Addins with the new DotNet SDK Charlie Macleod - Esri.

Esri UC 2014 | Demo Theater |

ArcGIS Pro Extensibility - Addins for the new DotNet SDK

• MANAGED THREADING FRAMEWORK OVERVIEW - Framework’s managed threading model is built on top of Microsoft’s TPL and TAP.

Framework provides capabilities to include:- Extended Progress Dialog / Cancellation mechanism.

- Synchronizing application wide enabled state with task execution.

- Synchronizing the current Task’s progress and cancellation state with the underlying native C++ code.

- Ensures execution order is predictable and sequential for GUI initiated requests (queuing control via QueuingTaskFactory).

Asynchronous Programming

ArcGIS Pro Extensibility - Building and Deploying Addins with the new DotNet SDK

Page 18: Esri UC 2014 | Demo Theater | ArcGIS Pro Extensibility - Building and Deploying Addins with the new DotNet SDK Charlie Macleod - Esri.

Esri UC 2014 | Demo Theater |

ArcGIS Pro Extensibility - Addins for the new DotNet SDK

• MANAGED THREADING FRAMEWORK OVERVIEW

• QueuingTaskFactory guarantees that UI actions happen in a sensible order without corruption- E.g. Change layer query definition immediately followed by a field calculation

• The goal of asynchrony in the application API is maintaining GUI responsiveness (not divide and conquer). Internally graphics engine and other aspects do do work in parallel but not through the public API.

• Fine grained APIs for Geometry and Geodatabase require use of a STA. This is guaranteed through the QueuingTaskFactory

Asynchronous Programming

ArcGIS Pro Extensibility - Building and Deploying Addins with the new DotNet SDK

Page 19: Esri UC 2014 | Demo Theater | ArcGIS Pro Extensibility - Building and Deploying Addins with the new DotNet SDK Charlie Macleod - Esri.

Esri UC 2014 | Demo Theater |

ArcGIS Pro Extensibility - Addins for the new DotNet SDK

• Use QueuingTaskFactory in your static Module methods to allow UI to remain responsive

Asynchronous Programming

ArcGIS Pro Extensibility - Building and Deploying Addins with the new DotNet SDK

Page 20: Esri UC 2014 | Demo Theater | ArcGIS Pro Extensibility - Building and Deploying Addins with the new DotNet SDK Charlie Macleod - Esri.

Esri UC 2014 | Demo Theater |

ArcGIS Pro Extensibility - Addins for the new DotNet SDK

• Demo (Geocode)

ArcGIS Pro Extensibility - Building and Deploying Addins with the new DotNet SDK

Page 21: Esri UC 2014 | Demo Theater | ArcGIS Pro Extensibility - Building and Deploying Addins with the new DotNet SDK Charlie Macleod - Esri.

Esri UC 2014 | Demo Theater |

ArcGIS Pro Extensibility - Addins for the new DotNet SDK

• Use QueuingTaskFactory for fine grained APIs that require STA- Core.Data and Core.Geometry

Asynchronous Programming

ArcGIS Pro Extensibility - Building and Deploying Addins with the new DotNet SDK

Page 22: Esri UC 2014 | Demo Theater | ArcGIS Pro Extensibility - Building and Deploying Addins with the new DotNet SDK Charlie Macleod - Esri.

Esri UC 2014 | Demo Theater |

ArcGIS Pro Extensibility - Addins for the new DotNet SDK

• Framework uses an event mechanism called EventAggregator

• EventAggregator allows publishers and subscribers to communicate through events without having a direct reference to each other.

• EventAggregator maintains a weak delegate reference to the subscriber’s handler on subscription. - Weak reference will not prevent garbage collection of the subscriber.

- Subscribers do not need to unsubscribe but should unsubscribe as best practice.

Managed Events

ArcGIS Pro Extensibility - Building and Deploying Addins with the new DotNet SDK

Page 23: Esri UC 2014 | Demo Theater | ArcGIS Pro Extensibility - Building and Deploying Addins with the new DotNet SDK Charlie Macleod - Esri.

Esri UC 2014 | Demo Theater |

ArcGIS Pro Extensibility - Addins for the new DotNet SDK

• Subscribe

• FrameworkApplication.EventAggregator.GetEvent<ViewerExtentChanged>().Subscribe(CameraChanged);- ViewerExtentChanged: This is the event we are subscribing to

- CameraChanged: This is the callback (or delegate). Can be a lambda- FrameworkApplication.EventAggregator.GetEvent<ViewerExtentChanged>()

.Subscribe((e)=> { });

• Unsubscribe:- FrameworkApplication.EventAggregator.GetEvent<ViewerExtentChanged>()

.Unubscribe(CameraChanged);

Managed Events – Subscribe ad Unsubscribe

ArcGIS Pro Extensibility - Building and Deploying Addins with the new DotNet SDK

Page 24: Esri UC 2014 | Demo Theater | ArcGIS Pro Extensibility - Building and Deploying Addins with the new DotNet SDK Charlie Macleod - Esri.

Esri UC 2014 | Demo Theater |

ArcGIS Pro Extensibility - Addins for the new DotNet SDK

• Define the underlying event for the callback• public class CustomEventArgs : EventArgs {

• public string Tag { get; set; }

• }

• Define the Managed Event that Consumers will subscribe to.

• public class CustomEventChanged : CompositePresentationEvent<CustomEventArgs> {}

• Publish the event as appropriate

• FrameworkApplication.EventAggregator.GetEvent<CustomEventChanged>().Publish(

• new CustomEventArgs {Tag = Datetime.Now.ToString() });

• For more information consult:

• http://msdn.microsoft.com/en-us/library/ff921122(v=pandp.20).aspx

Managed Events - Publish

ArcGIS Pro Extensibility - Building and Deploying Addins with the new DotNet SDK

Page 25: Esri UC 2014 | Demo Theater | ArcGIS Pro Extensibility - Building and Deploying Addins with the new DotNet SDK Charlie Macleod - Esri.

Esri UC 2014 | Demo Theater |

ArcGIS Pro Extensibility - Addins for the new DotNet SDK

• Demo (Events)

ArcGIS Pro Extensibility - Building and Deploying Addins with the new DotNet SDK

Page 26: Esri UC 2014 | Demo Theater | ArcGIS Pro Extensibility - Building and Deploying Addins with the new DotNet SDK Charlie Macleod - Esri.

Esri UC 2014 | Demo Theater |

ArcGIS Pro Extensibility - Addins for the new DotNet SDK

• Reserved for Esri Internal use only

• Publicly scoped code (required for Esri modules to share code)- Shared-Internal code is NOT intended for the API

- Not supported

- API code is developed within Internal namespaces also

• UC samples are using the internal namespaces- Conscious decision to take advantage of functionality not yet released to the

“public” namespaces

- Samples delivered with Final will NOT be using Internal namespaces

ArcGIS.Desktop.Internal.XXXXX namespaces

ArcGIS Pro Extensibility - Building and Deploying Addins with the new DotNet SDK

Page 27: Esri UC 2014 | Demo Theater | ArcGIS Pro Extensibility - Building and Deploying Addins with the new DotNet SDK Charlie Macleod - Esri.

Esri UC 2014 | Demo Theater |

ArcGIS Pro Extensibility - Addins for the new DotNet SDK

• Samples available att http://github.com/...

• These slides available at:

• For more information please come to the Desktop Development area, Developer Showcase

• Road Ahead Session “ArcGIS Pro .NET SDK: The Road Ahead”, Thursday 11am, Exhibit Hall A, Demo Theatre 3

ArcGIS Pro .NET SDK: The Road Ahead

Page 28: Esri UC 2014 | Demo Theater | ArcGIS Pro Extensibility - Building and Deploying Addins with the new DotNet SDK Charlie Macleod - Esri.

Esri UC 2014 | Demo Theater |

Thank you…ArcGIS Pro Extensibility - Building and Deploying Addins with the new DotNet SDK

• Please fill out the session survey:

Online – www.esri.com/ucsessionsurveys

Paper – pick up and put in drop box

• For more information please come to the Desktop Development area, Developer Showcase

• Road Ahead Session “ArcGIS Pro .NET SDK: The Road Ahead”, Thursday 11am, Exhibit Hall A, Demo Theatre 3

ArcGIS Pro Extensibility - Building and Deploying Addins with the new DotNet SDK

Page 29: Esri UC 2014 | Demo Theater | ArcGIS Pro Extensibility - Building and Deploying Addins with the new DotNet SDK Charlie Macleod - Esri.

Esri UC 2014 | Demo Theater | ArcGIS Pro Extensibility - Building and Deploying Addins with the new DotNet SDK

Page 30: Esri UC 2014 | Demo Theater | ArcGIS Pro Extensibility - Building and Deploying Addins with the new DotNet SDK Charlie Macleod - Esri.

Esri UC 2014 | Demo Theater |

ArcGIS Pro UI Elements - Button

• Buttons are the least complex of all controls, and are declared in DAML using the insertButton element within the controls container element.

ArcGIS Pro .NET SDK: The Road Ahead

The XAML declaration above for the Locate button in ArcGIS Pro includes a few of the most common attributes associated with buttons.

Page 31: Esri UC 2014 | Demo Theater | ArcGIS Pro Extensibility - Building and Deploying Addins with the new DotNet SDK Charlie Macleod - Esri.

Esri UC 2014 | Demo Theater |

ArcGIS Pro UI Elements – Button Palette

• Button palettes are designed specifically for grouping a set of related buttons together. When a button is selected from the palette of buttons, it becomes the active button and is displayed on the collapsed palette.

ArcGIS Pro Extensibility - Building and Deploying Addins with the new DotNet SDK

Page 32: Esri UC 2014 | Demo Theater | ArcGIS Pro Extensibility - Building and Deploying Addins with the new DotNet SDK Charlie Macleod - Esri.

Esri UC 2014 | Demo Theater |

ArcGIS Pro UI Elements – Construction Tool

• Construction tools are defined in DAML using the tool element. In addition you also need to specify which feature type the construction tool will create. This is achieved by inserting a reference to your construction tool into the categories element updating one of the predefined editing EditTools categories. The example below creates and registers a point construction tool.

ArcGIS Pro Extensibility - Building and Deploying Addins with the new DotNet SDK

Page 33: Esri UC 2014 | Demo Theater | ArcGIS Pro Extensibility - Building and Deploying Addins with the new DotNet SDK Charlie Macleod - Esri.

Esri UC 2014 | Demo Theater |

ArcGIS Pro UI Elements - Dockpane

• Dock panes are modeless dialogs which can be docked at the top, right, left, or bottom of the view area within the application. Dock panes can also be grouped with other dock panes and docked relative to each other (i.e. below, above, etc), and can also be un-docked and floated. Finally, dock panes can also be pinned/un-pinned so that they slide back into the frame to save space. For each dock pane—each a logical singleton—the framework persists and preserves docking state so that when shown in subsequent sessions, dock panes appear in the same positions and in the same state.

ArcGIS Pro Extensibility - Building and Deploying Addins with the new DotNet SDK

Page 34: Esri UC 2014 | Demo Theater | ArcGIS Pro Extensibility - Building and Deploying Addins with the new DotNet SDK Charlie Macleod - Esri.

Esri UC 2014 | Demo Theater |

ArcGIS Pro UI Elements – Dockpane (continued)

• The example below shows the declaration of a dock pane. This dock pane also specifies a content element which only has a className attribute. When the framework creates the dock pane, it will also create its content class and it will set the content’s data context to the dock pane. This automatic binding allows you to use the MVVM pattern when developing panes and dock panes. For example, a well-designed dock pane will have as little logic as possible in its XAML code behind; instead, all of the controls in the XAML should be bound to properties in the dock pane base class. The dock pane and pane bases classes should be regarded as view-models.

ArcGIS Pro Extensibility - Building and Deploying Addins with the new DotNet SDK

Page 35: Esri UC 2014 | Demo Theater | ArcGIS Pro Extensibility - Building and Deploying Addins with the new DotNet SDK Charlie Macleod - Esri.

Esri UC 2014 | Demo Theater |

ArcGIS Pro UI Elements – Dockpane (continued)

ArcGIS Pro Extensibility - Building and Deploying Addins with the new DotNet SDK

Dock panes can be declared such that they are positioned relative to other dock panes using the dockWith attribute. Dock panes can also be established with a condition so that they only appear when the condition is satisfied.

Page 36: Esri UC 2014 | Demo Theater | ArcGIS Pro Extensibility - Building and Deploying Addins with the new DotNet SDK Charlie Macleod - Esri.

Esri UC 2014 | Demo Theater |

ArcGIS Pro UI Elements - Gallery

• The Gallery is a new type of control available for the ribbon that behaves similarly to menus. Galleries typically provide a richer representation of the choices offered, each often representing a preview of the result if chosen. Galleries can be organized to show multiple rows and columns simultaneously and are excellent choices when you don’t want to be constrained by the smaller one dimensional area offered by a menu.

• Galleries can present a condensed grid within the ribbon itself using the in-line gallery representation. The items presented in this way are often either the most common or most recently used items depending on the implementation. The actual contents of a gallery are normally populated at runtime. The Gallery declaration below is populated entirely at runtime. Relatively static aspects such as the caption, the dropdown image, item size constraint, tooltip, etc. are specified declaratively. The itemSizeString is used to specify the maximum width of items displayed in the gallery.

ArcGIS Pro Extensibility - Building and Deploying Addins with the new DotNet SDK

Page 37: Esri UC 2014 | Demo Theater | ArcGIS Pro Extensibility - Building and Deploying Addins with the new DotNet SDK Charlie Macleod - Esri.

Esri UC 2014 | Demo Theater |

ArcGIS Pro UI Elements – Gallery (Continued)

ArcGIS Pro Extensibility - Building and Deploying Addins with the new DotNet SDK

Page 38: Esri UC 2014 | Demo Theater | ArcGIS Pro Extensibility - Building and Deploying Addins with the new DotNet SDK Charlie Macleod - Esri.

Esri UC 2014 | Demo Theater |

ArcGIS Pro UI Elements – Inline-Gallery

• Inline galleries are very similar to the standard gallery in that they provide a set of choices to the user, however rather than using a drop-down representation the choices are presented in a horizontal condensed grid within the ribbon itself.

ArcGIS Pro Extensibility - Building and Deploying Addins with the new DotNet SDK

Page 39: Esri UC 2014 | Demo Theater | ArcGIS Pro Extensibility - Building and Deploying Addins with the new DotNet SDK Charlie Macleod - Esri.

Esri UC 2014 | Demo Theater |

ArcGIS UI Elements - Menu

• When initially defined, all menu items are simply listed within the menu element in the order they should appear. Legal elements within a menu include buttons (simple menu items), other menus (pull rights), dynamic menus, galleries, and split buttons.

ArcGIS Pro Extensibility - Building and Deploying Addins with the new DotNet SDK

Page 40: Esri UC 2014 | Demo Theater | ArcGIS Pro Extensibility - Building and Deploying Addins with the new DotNet SDK Charlie Macleod - Esri.

Esri UC 2014 | Demo Theater |

ArcGIS Pro UI Elements - Pane

• The framework supports multiple panes, letting users display and interact with multiple subjects. Only one pane can be active at a time. The active pane establishes what is available on the ribbon; switching between different panes may result in changes to what tabs and controls are available. You can open many pane at the same time and these can be grouped, tiled (horizontally or vertically).

ArcGIS Pro Extensibility - Building and Deploying Addins with the new DotNet SDK

Page 41: Esri UC 2014 | Demo Theater | ArcGIS Pro Extensibility - Building and Deploying Addins with the new DotNet SDK Charlie Macleod - Esri.

Esri UC 2014 | Demo Theater |

ArcGIS Pro UI Elements – Split Buttonn

• Split buttons group related buttons together. The associated group is displayed when the arrow portion of the split button is clicked. Once a control is selected from the drop-down list, it becomes the active control in the split button. Split Buttons can contain either simple button controls, or galleries

ArcGIS Pro Extensibility - Building and Deploying Addins with the new DotNet SDK

Page 42: Esri UC 2014 | Demo Theater | ArcGIS Pro Extensibility - Building and Deploying Addins with the new DotNet SDK Charlie Macleod - Esri.

Esri UC 2014 | Demo Theater |

ArcGIS Pro UI Elements - Tool

• Tools in ArcGIS Pro primarily just put the viewer into a particular mode and are therefore very similar to buttons except they automatically stay checked after being selected and they are closely coupled with panes.

ArcGIS Pro Extensibility - Building and Deploying Addins with the new DotNet SDK