Assembly: ESRI.ArcGISExplorer.Application (in ESRI.ArcGISExplorer.Application.dll) Version: 2.0.0.1500 (2.0.0.1500)
Syntax
C# |
---|
public abstract class Gallery |
Visual Basic (Declaration) |
---|
Public MustInherit Class Gallery |
Remarks
The Gallery class provides an extension point in ArcGIS Explorer. A class which inherits from the Gallery class can be shown as a visual list which is displayed on the Ribbon, providing an opportunity to run code when the user selects an item from the gallery. Other extension points are Button, DockWindow, CheckBox, ComboBox and Extension.
The simplest way to create a new Gallery is to use the templates provided in the Visual Studio Tools for ArcGIS Explorer. For step by step instructions on creating a new Gallery using these templates, see the Creating a custom Gallery walkthrough.
In the constructor of the Gallery, add GalleryItem objects to the Items property - these items will be displayed in the Gallery. Override the OnClick(GalleryItem) method to run code when the user selects an item from the list displayed by the Gallery. Optionally, override the OnUpdate()()() method to periodically run code; note that the OnUpdate method should only perform brief operations to maintain responsiveness of the application.
Note: |
---|
A Gallery must be included in an add-in project and described in the AddIns.xml file which is part of that project in order to be loaded by ArcGIS Explorer. These steps are automated if the Gallery is created by using the Visual Studio Tools for ArcGIS Explorer templates. |
Examples
using System; using System.Text; // Import some typical namespaces. using System.Windows.Forms; using System.Drawing; using ESRI.ArcGISExplorer.Application; using ESRI.ArcGISExplorer.Mapping; namespace NewGallery { public class NewGallery : ESRI.ArcGISExplorer.Application.Gallery { public NewGallery() { // Read in an image from the icons installed with the SDK to use as an icon. string imgPath = Environment.GetEnvironmentVariable("ArcGIS_E3SDK") + @"\Icons\View32.png"; Image btnImage = Image.FromFile(imgPath); // Add some items to the gallery. this.Items.Add(new GalleryItem("Redlands", btnImage, "View Redlands, CA, USA")); this.Items.Add(new GalleryItem("Edinburgh", btnImage, "View Edinburgh, UK")); this.Items.Add(new GalleryItem("Portland", btnImage, "View Portland, ME, USA")); } public override void OnClick(GalleryItem item) { // Work out which item was clicked. ESRI.ArcGISExplorer.Geometry.Point location = null; if (item.Caption.StartsWith("Redlands")) { location = new ESRI.ArcGISExplorer.Geometry.Point(-117.171315683414, 34.0502770959205); } else if (item.Caption.StartsWith("Edinburgh")) { location = new ESRI.ArcGISExplorer.Geometry.Point(-3.19999077085197, 55.9500400262958); } else if (item.Caption.StartsWith("Portland")) { location = new ESRI.ArcGISExplorer.Geometry.Point(-70.2624358181778, 43.6546676468125); } // Zoom to the location, maintaining altitude / map scale. MapDisplay disp = ESRI.ArcGISExplorer.Application.Application.ActiveMapDisplay; double alt = disp.Altitude; disp.ZoomTo(location, alt); } } }
Imports System Imports System.Text ' Import some typical namespaces. Imports System.Windows.Forms Imports System.Drawing ' Additional ArcGIS Explorer namespaces. Imports ESRI.ArcGISExplorer.Application Imports ESRI.ArcGISExplorer.Mapping Public Class NewGallery Inherits ESRI.ArcGISExplorer.Application.Gallery Public Sub New() ' Read in an image from the icons installed with the SDK to use as an icon. Dim imgPath As String = Environment.GetEnvironmentVariable("ArcGIS_E3SDK") & "\Icons\View32.png" Dim btnImage As Image = Image.FromFile(imgPath) ' Add some items to the gallery. Me.Items.Add(New GalleryItem("Redlands", btnImage, "View Redlands, CA, USA")) Me.Items.Add(New GalleryItem("Edinburgh", btnImage, "View Edinburgh, UK")) Me.Items.Add(New GalleryItem("Portland", btnImage, "View Portland, ME, USA")) End Sub Public Overrides Sub OnClick(ByVal item As GalleryItem) ' Work out which item was clicked. Dim location As ESRI.ArcGISExplorer.Geometry.Point = Nothing If (item.Caption.StartsWith("Redlands")) Then location = New ESRI.ArcGISExplorer.Geometry.Point(-117.171315683414, 34.0502770959205) ElseIf (item.Caption.StartsWith("Edinburgh")) Then location = New ESRI.ArcGISExplorer.Geometry.Point(-3.19999077085197, 55.9500400262958) ElseIf (item.Caption.StartsWith("Portland")) Then location = New ESRI.ArcGISExplorer.Geometry.Point(-70.2624358181778, 43.6546676468125) End If ' Zoom to the location, maintaining altitude / map scale. Dim disp As MapDisplay = ESRI.ArcGISExplorer.Application.Application.ActiveMapDisplay Dim alt As Double = disp.Altitude disp.ZoomTo(location, alt) End Sub End Class