Simple images for buttons

This sample contitutes the most basic usage of the widgets. Each widget attribute value is defined within the widget tags.

Multi-state buttons

The button states in this sample are defined by the value given to the attributes of the image tag.

Multi-state buttons generated by buttonizer

The style for each state that a button can handle is defined in a commun shared resource which can be resused by other widgets.

Enhanced Widgets

The purpose of this sample is a show case of most of the widgets. The viewer found here is a good tool to obtain some help about most of the widget. The widgets, in this sample, appear in three different tabs: legend, tools and nav. The widgets definition are stored in four different files: nav_basic.html, nav_enhanced.html, tools_basic.html and tools_enhanced.html

The LegendTemplate widget, among others, permits a user to identify each layer category, to set a layer visible/invisible and to select a specific layer.


This is a good sample on how the internationalization could be applied. When a user click the "French" button, the French version of the template is displayed with all the relevant text translated. All text appearing in a widget interface is also translated.

How it works. A template for each language is added in the sample_bilingual.ptml file and the template to start with, is selected. The text for each element of a widget interface is saved with an id in a file named, under the widget directory as follow:


The id of an interface element is matched with the one store in this file and the text is extracted and substituted to the existing one when the template is loaded.

XML Theme Legend

This sample is more about the XMLThemeLegend widget. This widget provides generic legend control capabilities for Chameleon applications. The widget is controlled by a theme file and a renderer file that describe how layers in the current context should be presented to the user.

The theme file lists all elements that should be displayed in the legend and how they are grouped. The renderer file tells how the XML elements are converted to HTML.

XML Infinite Theme Legend

This is a more exhaustive example on how legend can be handle. The renderer file adds more control to the legend: groups can be expanded/collapsed. It also demonstrated that an unlimited number of themes can be added (See the "Point" group).

Basic JSAPI mode

This is an example of the basic widgets used in JSAPI mode.

The Chameleon JavaScript API (JSAPI) is a programming interface for creating client applications in JavaScript that utilize the capabilities of Chameleon. One of the main advantage of the JSAPI mode is that no page reload is necessary.

Enhanced JSAPI mode

This is an example of the enhanced widgets used in JSAPI mode.

OGC Widgets

OGC stands for Open Geospatial Consortium. The OGC is an organization that elaborates standards for geospatial and location based services. Widgets in this application use these standards.

ROI Widgets

A ROI is a region of interest that is defined by a geometry shape like a rectangle, a circle, etc. It does not do anything on its own but it could be used to draw an area on which to perform an analysis. An example of a usage could be to draw a buffer around a city.

ROI Feature Widgets

This sample is to demonstrate the ROI Feature widget. To see it in action, click on the ROI Feature icon (the one on the left of text field), enter "100000" in the text field and select a city.

Other Widgets without WMS layer

This sample shows the SECTPopup, the LayerLabels and the LayerManager widget. The particularity in this sample is that the WMS layers are used.

The SECTPopup widget allows a user to classify elements pertaining to a layer. To use this widget the Studio application has to be installed.

The LayerLabel widget adds a label for each element on a specific layer. The value of this label is a user selected attribute value of this layer.

The LayerManager widget add layer controls.