Saturday, May 16, 2009

Presentation Extension for ArcGIS Desktop

Today the ESRI Prototype Lab published a new sample entitled Presentation Extension for ArcGIS Desktop on the ArcGIS Desktop Code Gallery.  This sample allows ArcMap users to give presentations directly from ArcMap without Microsoft PowerPoint.

Below is a screenshot of the presentation manager, a simple-to-use window that allows the ArcMap user to create and manipulate “slides”.  A slide can be consider similar to a traditional bookmark except that it also includes a title, notes, a thumbnail and most important, layer visibility.

The Presentation Manager

The second tab on the presentation manager defines the behavior of the presentation window.  By default, the presentation window will occupy the entire extent of the primary display.  When exiting a presentation you can optionally force ArcMap to display the last viewed slide and copy any ink added to the current map.

Presentation Options

To activate the presentation, click the green play button on the presentation toolbar or presentation manager window.  The blue resume button will activate the presentation starting from the currently selected slide.  The presentation window consists of a map, title, navigation controls and a small expander button in the lower right hand corner.

The Presentation Window

Clicking the expander will display a set of somewhat familiar mapping tools.  Use these buttons to interact with the map:

  • Zoom in,
  • Zoom out,
  • Rotate,
  • Green pen,
  • White pen,
  • Erasure,
  • Exit

The Expander

To exit the presentation click the “x” button or press the escape key.

How was it implemented?

Both the Presentation Manager and Presentation Window are built using the Windows Presentation Framework (or WPF).  This is very exciting technology with virtually unlimited flexibility.

The Presentation Window however is actually two WPF windows.  The first is a simple window hosting the ESRI map control inside a WindowsFormsHost.  A second window containing the title and buttons is overlaid on top.  We used some messy Win32 calls to parent the map window to the overlay window.  The dual window implementation is due to a draw order issue associated with hybrid GDI/WPF windows.  Namely, it is not possible to overlay a WPF control on top of a GDI control (e.g. ESRI map control).


Known Issues

Microsoft Virtual Earth layers cause the presentation window to take a long time to start.

No comments:

Post a Comment