Types of Python Add-Ins

The following add-in types can be created for ArcGIS Desktop applications using Python:

Add-In Type

Description

Buttons

A button is the simplest form of functionality that can be used to execute some business logic when it is clicked. A button assumes that an action or a series of actions will be executed. Buttons may exist on toolbars and menus.

Tools

A tool is very similar to a button. However, a tool requires user interaction with the desktop application’s display first, and then based on that interaction, executes some business logic. The Zoom In tool Zoom In in ArcMap is a good example—it requires that you click or drag a rectangle over a map before the display is redrawn, showing the map contents in greater detail for the specified area. Tools may exist on toolbars and tool palettes.

Combo Boxes

A combo box provides a set of choices, visually seen as a drop-down box, from which a selection can be made and acted upon. A combo box can also be enabled to allow an end user to add a value in the combo box. The Scale combo box Scale Drop-down List in ArcMap is a good example of a combo box. When data with a known coordinate system is added to ArcMap, the scale combo box is enabled giving the user a set of predefined scales from which to choose. It also allows a user to type a new scale not in the list of options, and the display is updated based on the value added.

Menus

A menu is a container for buttons or other menus. Menus can be exposed by adding them to an existing toolbar (see Creating an Add-In toolbar for more information on creating your own toolbar) or an existing menu.

Toolbars

A toolbar is a container for buttons, tools, combo boxes, tool palettes, and menus. Toolbars can be floating or docked in desktop applications, just like any system toolbar within the application. Toolbars can also be activated so they are visible when a desktop application is started.

Tool Palettes

A tool palette is a container for tools. Tool palettes can only be exposed by adding them to an existing toolbar (see Creating an Add-In toolbar for more information on creating your own toolbar).

Application Extensions

Application extensions can be used in different ways to provide supplemental functionality to ArcGIS Desktop:

  1. Application extensions are used to coordinate activities between other components—such as buttons and tools—within a containing add-in. For example, an extension may not activate a set of tools on a toolbar unless a specific set of layers exist in the map.
  2. Application extensions are usually responsible for listening and responding to various events exposed by the host application. For example, anytime a layer is added or removed, an event is triggered, and the extension responds by automatically saving the map document.

Related Topics

3/3/2014