Inherit this abstract class to display a custom gallery on the Ribbon; this allows you to display a choice of items in the gallery and execute code when the user clicks one of the items in the gallery.

Namespace:  ESRI.ArcGISExplorer.Application

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

The example code below shows a very simple Gallery class which displays 3 items; clicking on each item will zoom the display so that a specific location is in the center of the map, and the current altitude/map scale is maintained.
CopyC#
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);
    }
  }
}
CopyVB.NET
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

Inheritance Hierarchy

System..::.Object

  ESRI.ArcGISExplorer.Application..::.Gallery

See Also