Kaboum v4
Application Programing Interface

Topic Kaboum applet API
Author Jérôme Gasperi aka jrom
Tagged version v4_0_3
Last modification November 18th, 2003
History
  • v4_0_7 : Modified package name: swapped to org.kaboum. Added a test folder. Project reorganisation
  • v4_0_6 : Modified ITEM_NQUERYMAP mode: there are now 5 parameters. The last one is a sequence of arbitrary MapServer parameters passed as is to Mapserver. This is useful to overload the mapfile, for instance.
  • v4_0_5 : Added new mode: ItemNQueryMap (or ItemQueryMap) to visualize attribute queries directly in kaboum.
    If no feature is found, kaboum will return a command to the client: ITEM_NQUERYMAP|NO_RESULT
  • v4_0_4 : Added InlineFeature feature, to add new features in the map
  • v4_0_3 : correct a bug in autoIntersect method (KaboumAlgorithms)
  • v4_0 : first valid (more or less :) Kaboum applet in version 4
  • v3_9_9 : correct minor bugs. Check the WKT representations send to navigator
  • v3_9_6 : change licence
  • v3_9_5 : change edition mode
  • v3_9_4 : allow outlines for object to have more than one pixel width
  • v3_9_3 : add tooltips mechanism
  • v3_9_2 : synchronize documentation with new API
  • v3_9_1 : first test version for this branch



1. Description

Kaboum is an applet written in java 1.1. It's working with web browser that conform to java and javascript 1.1 specifications (including LiveConnect).
The following browser are currently supported :

Other browsers should work but are untested.

1.1. Aim

The aim of this applet is to display thematics maps through the web browser.

Maps are GIF or JPEG imaged computed on the webserver using the Open source cgi-bin tool mapserver from the Minnesota University.

1.2. Global description

Applet contains a single window in which are displayed the maps.

A toolbar outside the applet allows user to switch the operating modes of the applet (cf. Figure 1). An operating mode indicates how the applet should react as user actions. For example, assume that a user do a single mouse clic on the center of the map. If the applet is in ZOOMIN operating mode, then applet will perform a zoom x2 center on the point clicked. If applet is in ZOOMOUT operating mode, then applet will perform a zoom x0.5 center on the point clicked.

Operating modes are described later in this document.

N.B.: at a time, applet can be in one and only one operating mode.


Figure 1 : global view. The toolbar is an HTML component
used to switch operating modes. Command are send to the applet using javascript liveconnect.

Switching between operating mode is done using the Kaboum public method kaboumCommand(String command).

On return, applet sends message to the web browser by calling the javascript method kaboumResult(String result).

N.B. : this communication process works only if LiveConnect is enabled.



2. Structure

2.1. Tree structure

Kaboum applet is delivered as a jar file This file contains about 30 classes. Tree structure is shown on Figure 2.



Figure 2 : tree structure for applet classes

2.2. Classes

Most of the operating modes are independants each other. For example, "geometries" classes are not necessary for navigation modes. For a very simple navigation application you can create your own jar file including the usefull classes. In this case, you would have a smaller size file to load within you application.

Four king of classes are keyed to four directories :

A fifth directory contains the properties files for lang support org.kaboum.properties .
2.2.1. Root directory

Root directory contains the four base classes :

The first 3 classes MUST ALWAYS BE PRESENT in the jar file.
Kaboumette class is a small applet
that show the position of the current view within the main view. This class is only necessary if KABOUM_REFERENCE_MAP_IS_APPLET parameter is set to TRUE.

Each operating mode classes that are presents in the root directory are automatically recognize by the application. They are defined by a unique keyword (see here for more details).

Operating modes classes inherit from the KaboumOpMode class.

2.2.2. algorithm directory

This directory contains the KaboumAlgorithms class used with geom directory classes.

2.2.3. geom directory

This directory contains classes that describe (or refered to) a geometric object.

2.2.3.1. Geometries

Geometric object definition is a simplification of the JTS (Java Topology Suite) model which follows the OpenGIS Geometry Model Object.

Classes hierarchy is shown on Figure 3.



Figure 3 : geometric classes hierarchy

Supported geometries are Point, MultiPoint, LineString, MultiLineString, Polygon and MultiPolygon.
Polygons and MultiPolygons with interior rings are supported also supported.

Geometriy classes inherit from the KaboumGeometry class.

2.2.3.2. Descriptors

In order to manage and draw the geometries, 3 descriptor classes are used :

KaboumGeometryDisplayDescriptor class describe the geometry display (line color, fill color, etc.).

KaboumGeometryPropertiesDescriptor class describe the "interaction" properties of a geometry (can the user select the geometry ? can the geometry include other geometries or no ? etc.)

Each new geometry is stored within the application within a KaboumGeometryGlobalDescriptor object.
This object link the geometry unique id with a KaboumGeometryDisplayDescriptor instance and a KaboumGeometryPropertiesDescriptor instance.

Display and Properties descriptors instances are identified by a unique string.
They can be created during application startup or during application execution (cf. descriptor).

2.2.4. util directory

This directory contains classes used by application :

All these classes MUST BE PRESENT in the jar file EXCEPT KaboumWKTReader and KaboumWKTWriter which are only used to draw and/or create geometries within the applet.

2.2.5. Properties files

properties directory contains lang files.

A valid lang properties file must be named "lang_" + country code + ".properties".
For example, country code for France is "FR"; the corresponding properties file is "lang_FR.properties".

Lang properties files must at least contains default keywords
. These keywords refer to existing operating mode. Other keywords can be defined for your own OpMode.

N.B. : keyword values can be overload using the kaboumCommand(String command) method.

3. Parameters

As previously described, applet management is done through public method kaboumCommand(String command).

A command is composed by one keyword and one or more parameters. Keyword and parameters are splitted by the | character.
The first keyword indicate the command send to the applet.
The following parameters indicates to the applet how it must treat the command.
For example, the command KABOUM_IMAGE_TYPE|JPEG indicate that the output format for maps displayed within the applet is now JPEG.

3.1. Startup parameters

This chapter describe all parameters that can be defined with the <PARAM> html tag.
Some of these startup parameters are mandatory unless application won't start.

N.B. : parameters that cannot be overload are specified by a NO tag in the Status heading

3.1.1 Global parameters
KABOUM_BACKGROUND_COLOR :
Description :
Background color for map display. Can be defined with a (R,G,B) triplet or with a color keyword (cf. colors).
Status :
Optional, NO
Default value :
255,0,0
 
 
KABOUM_BUSY_IMAGE_URL :
Description :
Fully qualified URL of the image displayed when loading a new map. This image must be in jpeg or gif format. For example http://www.scot.fr/images/loading.gif.
Status :
Optional, NO
Default value :
No default value
 
 
KABOUM_COORDINATE_PRECISION :
Description :
Coordinate precision used in applet in mapfile units. Two coordinates close to less than the coordinate precision are considered identicaly.
N.B. : coordinate representation follows the coordinate precision. For example, if map units is meter and precision coordinate is 0.1 (means 10 cm), then coordinates will be displayed with 1 decimal.
Status :
Optional, NO
Default value :
1
 
 
KABOUM_DEBUG_MODE :
Description :
Boolean. If TRUE, debug messages are sent to the java console.
Status :
Optional, NO
Default value :
FALSE
 
 
KABOUM_DEFAULT_OPMODE :
Description :
Default active operating mode at startup
Status :
Optional, NO
Default value :
ZOOMIN
 
 
KABOUM_OPMODE_LIST :
Description :
Tells applet wich operating modes will be used. The list contains operating modes names splitted by a comma (ex. ZOOMIN,ZOOMOUT,PAN)
Status :
Optional, NO
Default value :
No default value
 
 
KABOUM_FONT_NAME :
Description :
Font name used inside the applet for menus, tooltips, etc. The possible values are :
  • Courier
  • Dialog
  • Helvetica
  • Symbol
  • TimesRoman
Status :
Optional
Default value :
Courier
 
 
KABOUM_FONT_SIZE :
Description :
Font size used in applet for menus, tooltips, etc.
Status :
Optional, NO
Default value :
12
 
 
KABOUM_FONT_STYLE :
Description :
Font style used in applet for menus, tooltips, etc. The possible values are :
  • plain
  • bold
  • italic
  • boldItalic
Status :
Optional, NO
Default value :
plain
 
 
KABOUM_HISTORY_SIZE :
Description :
Size of navigation history. It's the maximum number of successive map extents stored in applet.
N.B. : only the map extent is store (and not the layers list).
Status :
Optional, NO
Default value :
5
 
 
KABOUM_IMAGE_QUALITY :
Description :
Image quality rendered by mapserver. Value goes from 1 (very poor quality) to 100 (maximum quality). The least the quality, the smallest the image byte size.
N.B. : this parameter is ignored if the image type differs from JPEG (cf. KABOUM_IMAGE_TYPE).
Status :
Optional
Default value :
100
 
 
KABOUM_IMAGE_TYPE :
Description :
File format of the map rendered by mapserver. The possible values are:
  • JPEG (Format jpeg)
  • GIF (Format gif)
Status :
Optional
Default value :
GIF
 
 
KABOUM_LANG :
Description :
Default lang to be used in predefined menus. Each lang is describe in a properties file
The possible values are :
  • FR (french)
  • EN (english)
  • Everything else that follow properties file recommendation
Status :
Optional, NO
Default value :
FR
 
 
KABOUM_MAPSERVER_CGI_URL :
Description :
Fully qualified URL of mapserver cgi script on the application server. For example http://www.scot.fr/cgi-bin/mapserv.
Status :
Mandatory, NO
Default value :
No default value
 
 
KABOUM_MAXIMUM_SCALE :
Description :
Maximum scale. Zoom cannot be performed uopon this scale. A negative or null scale means no restriction on zoom.
Example : a value of 3000 means that no information can be retrieved upon a scale greater than 1:3000.
Status :
Optional, NO
Default value :
-1
 
 
KABOUM_MAXIMUM_EXTENT :
Description :
Maximum spatial extent allowed. Navigation is restricted to this extent.
If this paramter is not defined, there is no navigation restriction. Syntax is as follow : xmin,ymin,xmax,ymax
Status :
Optional, NO
Default value :
No default value
 
 
KABOUM_REFERENCE_MAP_IS_APPLET :
Description :
Boolean. If TRUE reference map is managed by Kaboumette applet. If FALSE it's managed by mapserver).
N.B. : if TRUE, org.kaboum.Kaboumette class MUST BE present in jar file.
Status :
Optional, NO
Default value :
TRUE
 
 
KABOUM_SEND_POSITION_COORDINATES_TO_JS :
Description :
Boolean. If TRUE, mouse coordinates, scale and geometries area information are sent to javascript kaboumResult(String result) method instead of being displayed in the browser status bar.
The sent command to javascript is COORDINATE_STRING|string, where string contains the described information.
Status :
Optional, NO
Default value :
FALSE
 
 
KABOUM_SURFACE_PRECISION :
Description :
Surface precision used by the applet in surface unit. N.B. : suface representation follows the surface precision. For example, if surface unit is hectare and the surface precision is 0.1 (i.e. 1000 m2, i.e. 10 ares), the surface in the status bar are displayed with 1 decimal.
Status :
Optional, NO
Default value :
1
 
 
KABOUM_USE_IMAGE_CACHING :
Description :
Boolean. If TRUE, applet use the browser cache to load the maps that have been already viewed.
Status :
Optional, NO
Default value :
TRUE
 
 
KABOUM_USE_LIVECONNECT :
Description :
Boolean. If TRUE, applet send message to javascript using LiveConnect. In this case, kaboumResult(String result) public method must be defined in a javascript tag.
Status :
Optional, NO
Default value :
FALSE
 
 
KABOUM_USE_TOOLTIP :
Description :
Boolean. If TRUE, applet can display text box when the mouse pointer is over geometries with tooltips.
Status :
Optional
Default value :
FALSE
 
 
SURFACE_UNITS :
Description :
Surface representation units.
The possible values are:
  • MS_SQUARE_METERS
  • MS_ARE
  • MS_HECTARE
Status :
Mandatory, NO
Default value :
MS_SQUARE_METERS
3.1.2 mapfile parameters

The following parameters relate to the mapserver mapfile descriptor.


LAYERS :
Description :
Displayed layers at startup. Layer names are the same one that in the corresponding mapfile (NAME in LAYER tag). Layer names are comma separated (ex. route,fleuve,parc23).
Status :
Optional
Default value :
No default value
 
 
MAPFILE_EXTENT :
Description :
Spatial extent of the map at startup. This extent MUST BE the same as the extent set in the EXTENT tag of the coresponding mapfile.
Syntax is as follow : xmin,ymin,xmax,ymax
Status :
Mandatory, NO
Default value :
No default value
 
 
MAPFILE_PATH :
Description :
Absolute path to mapfile on the server. For example /applications/yourapp/data/yourapp.map
Status :
Mandatory, NO
Default value :
No default value
 
 
MAPFILE_UNITS :
Description :
Coordinate units. Must be the same one that of the UNITS tag in mapfile.
The possible values are:
  • MS_METERS
  • MS_KILOMETERS
  • MS_DD
Status :
Mandatory, NO
Default value :
MS_METERS
 
 
QUERY_LAYERS :
Description :
Query layers list at startup. Layer names are the same one that in the corresponding mapfile (NAME in LAYER tag). Layer names are comma separated (ex. route,fleuve,parc23).
Status :
Optional
Default value :
No default value
3.1.3 Geometric objects parameters

Applet can manage geometric objects. This objects are vectors drawn upon mapserver rendered maps.

Each geometric object is linked to a unique identifier (integer) and to two descriptors : a properties descriptor (PD) and a display descriptor (DD).

Descriptors are identified by a unique name (string). It means that two display descriptor cannot have the same name, nor two properties descriptor cannot have the same name.
On the other hand, a display descriptor and a properties descriptor can have the same name, since they are not the same kind of descriptors.

A "DEFAULT" display descriptor and a "DEFAULT" properties descriptor always exist. This descripors are exhaustively describe by the application, i.e. the whole properties for these descriptor get defaults values.

When a descriptor is created, all its properties get the values of the DEFAULT descriptor. These properties can be overloaded.



Figure 4 : geometric objects management

N.B. : descriptor can be created on startup or during applet execution.

3.1.3.1. Global parameters
DD_CLASS_LIST :
Description :
Valid display descriptors list at startup. Descriptor names are comma separated (ex : red,green_plain).
N.B.: the DEFAULT descriptor is always defined even if it is not listed.
Status :
Optional, NO
Default value :
DEFAULT
 
 
GEOMETRY_ACTIVE_DD :
Description :
Active display descriptor. Each new created geometry is linked with this descriptor (unless overloaded during creation).
Status :
Optional
Default value :
DEFAULT
 
 
GEOMETRY_ACTIVE_PD :
Description :
Active properties descriptor. Each new created geometry is linked with this descriptor (unless overloaded during creation).
Status :
Optional
Default value :
DEFAULT
 
 
GEOMETRY_DEFAULT_ID :
Description :
Default identifier given to a new geometric objetc (POLYGON mode for example).
N.B. : identifier must be an integer.
Status :
Optional
Default value :
-666
 
 
GEOMETRY_ROUGHNESS :
Description :
Display precision of geometries. For a value of 1, each points are plotted; For a value of 2, a point on two is plotted; for a value of 3, a point on three is plotted; etc.
Status :
Optional
Default value :
1
 
 
PD_CLASS_LIST :
Description :
Valid properties descriptors list. Descriptor names are comma separated (ex : visible,invisible).
N.B.: the DEFAULT descriptor is always defined even if it is not listed.
Status :
Optional, NO
Default value :
DEFAULT
3.1.3.2. Display descriptor parameters

Display descriptor describe how its corresponding geometries will be paint.

Valid display descriptors list must be defined at startup (cf. DD_CLASS_LIST). However it is possible to add descriptors during applet execution.

In the descriptor parameters, the * must be replaced by the name of the descriptor you want to modify.

For example, assume you have a crop display descriptor and you want to modify its color. So you have to modify the crop_DD_COLOR. Undefined parameters for this descriptor are automatically initialized with the DEFAULT display descriptor parameter values.

N.B.: descriptor names ARE CASE SENSITIVE (crop and Crop are then DIFFERENT)

*_DD_COLOR :
Description :
Geometries display color. Color can be defined by a (r,g,b) triplet or by a predefined color.
Status :
Optional
Default value :
red
 
 
*_DD_HILITE_COLOR :
Description :
Highlighted geometries color. Color can be defined by a (r,g,b) triplet or by a predefined color.
Status :
Optional
Default value :
yellow
 
 
*_DD_IS_FILLED :
Description :
Boolean. If TRUE, geometrie is filled. This parameter is only used with closed geometries (Polygon or MultiPolygon).
Status :
Optional
Default value :
FALSE
 
 
*_DD_LINE_WIDTH :
Description :
Line width in pixels connecting geometies vertices.
Status :
Optional
Default value :
1
 
 
*_DD_MODIFIED_COLOR :
Description :
Modified geometries color. A geometry is considered as modified when at least one of this point moved and the modification has not been validate (i.e. send to the server).
Status :
Optional
Default value :
green
 
 
*_DD_POINT_COLOR :
Description :
Geometry vertices color. Color can be defined by a (r,g,b) triplet or by a predefined color.
Status :
Optional
Default value :
black
 
 
*_DD_POINT_HEIGHT :
Description :
Vertices height in pixels. If the vertices are of K_TYPE_IMAGE type, this value is overload by the height of the image.
Status :
Optional
Default value :
5
 
 
*_DD_POINT_HILITE_COLOR :
Description :
Vertices highlighted color. Color can be defined by a (r,g,b) triplet or by a predefined color.
Status :
Optional
Default value :
yellow
 
 
*_DD_POINT_IMAGE :
Description :
If points are of K_TYPE_IMAGE type, this parameter defined the fully qualified URL to the image.
Status :
Mandatory if points are of K_TYPE_IMAGE type
Default value :
No default value.
 
 
*_DD_POINT_TYPE :
Description :
Vertices type.
The possible values are :
  • K_TYPE_POINT (simple point (1 pixel x 1 pixel))
  • K_TYPE_BOX (box (DD_POINT_HEIGHT pixels x DD_POINT_WIDTH pixels))
  • K_TYPE_CIRCLE (ellipse (DD_POINT_HEIGHT pixels x DD_POINT_WIDTH pixels))
  • K_TYPE_IMAGE (image)
Status :
Optional
Default value :
K_TYPE_POINT
 
 
*_DD_POINT_WIDTH :
Description :
Vertices width in pixels. If the vertices are of K_TYPE_IMAGE type, this value is overload by the height of the image.
Status :
Optional
Default value :
5
3.1.3.3. Properties descriptor parameters

Properties descriptor describe "interactive" properties for geometries.

Valid properties descriptors list must be defined at startup (cf. PD_CLASS_LIST). However it is possible to add descriptors during applet execution.

In the descriptor parameters, the * must be replaced by the name of the descriptor you want to modify.

For example, assume you have a crop properties descriptor and you want that the geometries with this descriptor become invisible. In this case, you have to set the crop_PD_IS_VISIBLE to TRUE. Undefined parameters for this descriptor are automatically initialized with the DEFAULT properties descriptor parameter values.

N.B.: descriptor names ARE CASE SENSITIVE (crop and Crop are then DIFFERENT)

*_PD_IS_COMPUTED :
Description :
Boolean. If TRUE, geometries use topological computations with other geometries.
Status :
Optional.
Default value :
FALSE.
 
 
*_PD_IS_LOCKED :
Description :
Boolean. If TRUE, geometries cannot be selected, nor modify, nor highlighted.
Status :
Optional.
Default value :
FALSE.
 
 
*_PD_IS_SURROUNDING :
Description :
Boolean. If TRUE, all other geometries that have topological computation activated must be drawn inside geometries linked to this descriptor to be valid.
Status :
Optional.
Default value :
FALSE.
 
 
*_PD_IS_VISIBLE :
Description :
Boolean. If TRUE, geometries are displayed in the applet. If FALSE, geometries are presents but are not displayed by the applet.
N.B.: a geometry can be invisible and participate in topological computations.
Status :
Optional.
Default value :
TRUE.
3.1.4 Paramètres relatifs aux Tooltips

If TOOLTIP is activated, a box is displayed in the applet when user move the mouse pointer over a geometry with tooltips defined.

TOOLTIP_BOX_BORDER_COLOR :
Description :
Text box border color.
Status :
Optional
Default value :
black
 
 
TOOLTIP_BOX_BORDER_SIZE :
Description :
Text box border size (in pixels).
Status :
Optional
Default value :
1
 
 
TOOLTIP_BOX_COLOR :
Description :
Text box color.
Status :
Optional
Default value :
white
 
 
TOOLTIP_HORIZONTAL_MARGIN :
Description :
Horizontal margin size (in pixels). It's the distance between the text box horizontal border and the text itself.
Status :
Optional
Default value :
5
 
 
TOOLTIP_OFFSET :
Description :
Offset in pixels between mouse pointer position and text box position.
Status :
Optional
Default value :
5
 
 
TOOLTIP_TEXT_COLOR :
Description :
Text color.
Status :
Optional
Default value :
black
 
 
TOOLTIP_VERTICAL_MARGIN :
Description :
Vertical margin size (in pixels). It's the distance between the text box vertical border and the text itself.
Status :
Optional
Default value :
5
 
 

4. Operating modes

Operating mode indicates how the applet should react as user actions. For example, assume that a user do a single mouse clic on the center of the map. If the applet is in ZOOMIN operating mode, then applet will perform a zoom x2 center on the point clicked. If applet is in ZOOMOUT operating mode, then applet will perform a zoom x0.5 center on the point clicked.

Switching between operating mode is done using the Kaboum public method kaboumCommand(String command).

For example, to switch in ZOOMIN mode, you have to send the document.kaboum.kaboumCommand("ZOOMIN") command to the applet using javascript (assuming that the applet name is "kaboum" in the NAME parameters of APPLET tag in the html document).

Each operating mode is describe by a java operating mode class that in inherit from KaboumOpMode class. Kaboum hierarchy allows developer to add new operating mode classes without modify the main applet classes.

To do so, operating mode classes must respect a naming rule and semantic rules.

4.1 Naming rule

All operating modes are named "Kaboum" + Operating mode name + "OpMode".
Moreover, operating mode name must be in upper case

For example, to create a new operating mode called EXAMPLE, then the operating mode class will be named KaboumEXAMPLEopMode. (N.B. : this operating mode will be take as an example in the following chapter).

N.B. : ruling name is mandatory so that the applet detected the new class as an operating mode.

4.2 Semantic rules

4.2.1. Package

The new operating mode must be at the same tree level that the KaboumOpMode class. Class definition begins by :

            package org.kaboum;
        
4.2.2. Inheritance

The new operating mode must inherit from KaboumOpMode class. For the EXAMPLE class, the class definition is :

            public class KaboumEXAMPLEOpMode extends KaboumOpMode {
                ...
            }
        
4.2.3. Constructors

Three valids constructors could exist :

N.B.: at least one of the three constructors must be defined.

4.2.4. Methods

Abstract class KaboumOpMode implements MouseListener, MouseMotionListener and ActionListener.

Consequently, an operating mode should implements at least one of these listeners.

            public KaboumEXEMPLEDrawer(Kaboum parent) {
                [...]
                this.addMouseListener(parent);
                this.addMouseMotionListener(parent);
                [...]
            }
        

In this context, the destroyEvent() method is called at the end of the operating mode execution.

            public void  destroyEvent() {
                this.parent.removeMouseListener(this);
                this.parent.removeMouseMotionListener(this);
            }
        

N.B. : for the TOOLTIP mechanism, the mouse position must be refreshed in the KaboumOpMode mp variable. So you have to write something like this :

            public void  mouseMoved(MouseEvent evt) {
                this.mp = evt.getPoint();
                this.parent.refreshTooltip();
                ...
            }
        
4.2.5. Parameters

It is possible to use parameters within an operating mode by the use of the getParametersLists() static method.

An operating mode contains its own parameters definition.
For each operating mode listed in the KABOUM_OPMODE_LIST, the applet gets the keyword parameters list for this operating mode as a String array returned by the getParametersList() static method.

For example, suppose that the EXAMPLE operating mode has the ability to paint a text when the mouse is clicked. Its parameters could be the text to paint (EXAMPLE_TEXT) and its color (EXAMPLE_COLOR).
Thus the following code would be in the KaboumEXAMPLEOpMode class :

            public static final String PARAM_EXAMPLECOLOR = "EXAMPLE_COLOR";
            public static final String PARAM_EXAMPLETEXT = "EXAMPLE_TEXT";
    
            public static String[] getParametersList() {
                String[] list = new String[2];
                list[0] = PARAM_EXAMPLECOLOR;
                list[1] = PARAM_EXAMPLETEXT;
                return list;
            }
         

In the html document, these two parameters are inserted within the APPLET tag :

            <APPLET name="kaboum" ...>
                [...]
                <PARAM NAME="EXAMPLE_COLOR" value="255,0,0">
                <PARAM NAME="EXAMPLE_TEXT" value="This is the text">
                [...]
             </APPLET>
        

As the others parameters, these two parameters can be overloaded during applet execution.

Finally, within the KaboumEXAMPLEOpMode the input values are returned by the getDrawerProperty(String keyword) method from Kaboum class :

            public KaboumEXAMPLEDrawer(Kaboum parent) {
                [...]
                String color = KaboumUtil.getColorParameter(this.parent.getDrawerProperty(EXAMPLE_COLOR), Color.black);
                String text = this.parent.getDrawerProperty(EXAMPLE_TEXT);
                [...]
            }
        

N.B. (1) : KaboumUtil class gets static methods that convert String parameters into corresponding type (boolean, int, double, Color, etc.). In this example, KaboumUtil.getColorParameter(String rgb, Color color) method take a r,g,b String into java.awt.Color object.

N.B. (2) : each parameters must have a UNIQUE name within the whole list of operating mode.

N.B. (3) : "_PD_" and "_DD_" string are reserved for descriptors. No parameters keyword can contain these strings

4.2.6. Lang

To use internationalization, operating mode use lang keywords. Lang keywords are stored in a lang properties file.

For example, the EXAMPLE operating mode gets a validation menu that stop its action. Instead of writting:

            String validate = "Validate";
         

within the code, it's better to define a "EXAMPLE_VALIDATE" keyword with the value "Validate" in the lang properties file. So the code will be :

            String validate = this.parent.defaultLang.getString("EXAMPLE_VALIDATE");
         

4.3. Drawers prédéfinis

This chapter describe the predefined operating mode.

The dependencies (classes used by the operating mode) are mandatory. Thus they must be present in the jar file.

4.3.1. BOXSELECTION

Select a point or a rectangular box and return the map units coordinates to the server.

4.3.1.1. Parameters

BOXSELECTION_FOREGROUND_COLOR :
Description :
Box border color.
Status :
Optional
Default value :
red

4.3.1.2. Dependencies

None

4.3.2. CENTER

Center the view on a clicked point.

4.3.2.1. Parameters

None

4.3.2.2. Dependencies

None

4.3.2.3. DISTANCE

Display the distance along a path. The path is drawn by the user (by clicking points on the map). A right button click reset the path.

4.3.3.1. Parameters

DISTANCE_FOREGROUND_COLOR :
Description :
Path color.
Status :
Optional
Default value :
black
 
 
DISTANCE_POINT_HEIGHT :
Description :
Vertices height (in pixels).
Status :
Optional
Default value :
5
 
 
DISTANCE_POINT_TYPE :
Description :
Vertices type.
  • K_TYPE_POINT (simple point (1 pixel x 1 pixel))
  • K_TYPE_BOX (box (DISTANCE_POINT_HEIGHT pixels x DISTANCE_POINT_WIDTH pixels))
  • K_TYPE_CIRCLE (ellipse (DISTANCE_POINT_HEIGHT pixels x DISTANCE_POINT_WIDTH pixels))
Status :
Optional
Default value :
K_TYPE_POINT
 
 
DISTANCE_POINT_WIDTH :
Description :
Vertices width (in pixels).
Status :
Optional
Default value :
5

4.3.3.2. Dependencies

None

4.3.4. LINESTRING

Create or modify a LineString or MultiLineString geometric object. Right click shows a contextual menu.

4.3.4.1. Parameters

N.B. : parameters are the same for all operating modes related to geometric object creation (i.e. POINT, LINESTRING, POLYGON)

GEOMETRY_ALLOW_TO_CANCEL_GEOMETRY :
Description :
Boolean. If TRUE, user can cancel a geometric object digitalization by one click (instead of removing each vertice of the geometry one by one).
Status :
Optional
Default value :
FALSE
 
 
GEOMETRY_ALLOW_TO_DRAG_POINT :
Description :
Boolean. If TRUE, user can drag vertices of geometric objects with the mouse pointer.
Status :
Optional
Default value :
FALSE
 
 
GEOMETRY_ALLOW_TO_SUPRESS_GEOMETRY_WITHIN_COLLECTION :
Description :
Boolean. If TRUE, user can remove an exterior ring from a multi geometric object (MultiPoint, MultiLineString or MultiPolygon).
Status :
Optional
Default value :
TRUE
 
 
GEOMETRY_ALLOW_TO_SUPRESS_OBJECT :
Description :
Boolean. If TRUE, user can remove a geometric object.
Status :
Optional
Default value :
FALSE
GEOMETRY_ALLOW_GEOMETRY_COLLECTION :
Description :
Boolean. If TRUE, user can create multi geometric ojects (MultiPoint, MultiLineString or MultiPolygon).
Status :
Optional
Default value :
TRUE
 
 
GEOMETRY_ALLOW_HOLE_IN_GEOMETRY :
Description :
Boolean. If TRUE, user can create interior rings (holes) in closed geometries (Polygon or MultiPolygon).
Status :
Optional
Default value :
TRUE
 
 
GEOMETRY_COMPUTATION_PRECISION :
Description :
Digitalization precision in maps units. Two points within a distance lower or equal to this precision are considered equals.
N.B. : this precision is independant of the global coordinate precision.
Status :
Optional
Default value :
1
 
 
GEOMETRY_DOUBLE_CLICK_TIME :
Description :
Double click time. This avoid java problem to recognize two consecutive clicks from a drag.
Status :
Optional
Default value :
500
 
 
GEOMETRY_PIXEL_PRECISION :
Description :
Precision used for selection of geometric objects. Expressed in pixels.
Status :
Optional
Default value :
1
 
 
4.3.4.2. Dependencies
4.3.5. MODIFY

See QUERY mode.

4.3.6. MULTISELECTION

See SELECTION mode. User can select more than one object with CTRL+click.

4.3.7. PAN

Pan the map.

4.3.7.1. Parameters

None

4.3.7.2. Dependencies

None.

4.3.7. POINT

Create or modify a Point or MultiPoint geometric object. Right click shows a contextual menu.

4.3.8.1. Parameters

See LINESTRING parameters.

4.3.8.2. Dependencies

4.3.9. POLYGON

Create or modify a Polygon or MultiPolygon geometric object. Right click shows a contextual menu.

4.3.9.1. Parameters

See LINESTRING parameters.

4.3.9.2. Dependencies

4.3.10. QUERY

Send a "nquery" request to mapserver.
Query layer list used is defined with QUERY_LAYERS parameter.

4.3.10.1. Parameters

None

4.3.10.2. Dependencies

None.

4.3.11. SELECTION

Select a geometric object with a mouse click.
Geometric object identifier is returned to the server.

4.3.11.1. Parameters

SELECTION_AUTO_COMMIT :

Description :
Boolean. If TRUE, object identifier is sent to the server when user click on it. If FALSE, user have to validate its selection with the menu to send the object identifier.
Status :
Optional
Default value :
FALSE
    SELECTION_PIXEL_PRECISION :
Description :
Precision used for selection of geometric objects. Expressed in pixels.
Status :
Optional
Default value :
1
4.3.11.2. Dependencies

4.3.12. ZOOMIN

Zoom in the map with a single click (centered zoom x2) or with a box selection.

5.3.12.1. Parameters
ZOOMIN_FOREGROUND_COLOR :
Description :
Box border color.
Status :
Optional
Default value :
red
 
 
ZOOMIN_MINIMUM_BOX_SIZE :
Description :
Minimum box size allowed (in pixels). If box selection is smaller than the minimum size, then a centered zoom x2 is done instead of a box selection zoom.
Status :
Optional
Default value :
10
4.3.12.2. Dependencies

None.

4.3.13. ZOOMOUT

Un-zoom in the map with a single click.

4.3.13.1. Parameters

None.

4.3.13.2. Dependencies

None.



5. Command list

This chapter describes all the valid commands that can be sent to the applet.

5.1. Javascript to java

5.1.1 KaboumCommand(String command)

This method is the main method to send command. Command list are described later in this chapter (cf. parameters

5.1.2 standByOn() and standByOff()

This public methods are acceded by javascript.
In standby (standbyOn()), applet reject all further commands, keyboard and mouse action.
The standbyOff() method switch applet to the normal mode.

This mechanisme is use to avoid user interactions when the applet wait for a server answer (a new map for example).

5.1.3 getCurrentCommand()

This method return the active operating mode name (ex. ZOOMIN).

5.2. java to javascript

If Live Connect is activated (cf. KABOUM_USE_LIVECONNECT), applet send messages to the web browser within the javascript kaboumResult(String result) function.

The result string syntax is identical to the command string send in the kaboumCommand(String command) function (cf. parameters

5.3. Valid commands list

The following command are passed through kaboumCommand(String command).

For each command, the returned strings sent to the javascript kaboumResult(String result) function are described.

N.B. : if precised, Domain status indicates within which operating mode the command can be used.

ADD_NEW_DD|dd :
Description :
Add the dd display descriptor to the valid display descriptor list.
This descriptor gets the DEFAULT values.
Domain :
-
Returned value :
-
 
 
ADD_NEW_PD|pd :
Description :
Add the dd properties descriptor to the valid properties descriptor list.
This descriptor gets the DEFAULT values.
Domain :
-
Returned value :
-
 
 
CENTER :
Description :
Switch to CENTER operating mode.
Domain :
-
Returned value :
  • EXTENT|MAP|xmin,ymin;xmax,ymax
  • REFERENCE|http://...mapserv?mode=reference&...
  • SCALE|scale
 
 
DISTANCE :
Description :
Switch to DISTANCE operating mode.
Domain :
-
Returned value :
Distance d in meters :
  • DISTANCE|d
 
 
EXTENT|IMAGE|xmin,ymin;xmax,ymax :
Description :
Switch the view to this extent. Coordinate are given in PIXELS position within the applet window (x values grow to the left, y values grow to the top).
Domain :
-
Returned value :
Same as CENTER command.
 
 
EXTENT|MAP|xmin,ymin;xmax,ymax :
Description :
Same as EXTENT|IMAGE command but coordinates are given in MAPFILE_UNITS.
Domain :
-
Returned value :
Same as CENTER command.
 
 
GEOMETRY|id|wkt :
Description :
Insert a geometric object with identifier id in the applet. If this is the first insert of this object, it is inserted on top of the applet objects list. If this identifier is (or was) already used, the object is inserted at this identifier position in the applet objects list.
Geometry type is infered from the WKT wkt representation.
Inserted object is linked to actives descriptors (GEOMETRY_ACTIVE_DD and GEOMETRY_ACTIVE_PD).
Domain :
-
Returned value :
-
 
 
GEOMETRY|id|dd|pd|wkt :
Description :
Insert a geometric object with identifier id in the applet. If this is the first insert of this object, it is inserted on top of the applet objects list. If this identifier is (or was) already used, the object is inserted at this identifier position in the applet objects list.
Geometry type is infered from the WKT wkt representation.
Inserted object is linked to dd display descriptor and to pd properties descriptor. If one of this descriptor doesn't exist, object is linked with the coresponding DEFAULT descriptor.
Domain :
-
Returned value :
-
 
 
GEOMETRY|pd|REMOVE_ALL :
Description :
Suppress all the geometric objects linked with pd properties descriptor.
N.B. : position index of geometries is kept into the applet. If one of the suppressed geometry is inserted again into the applet, it will be inserted at its original position (and not on the top of the applet geometric object list). index.
Domain :
-
Returned value :
-
 
 
GEOMETRY|id|REMOVE :
Description :
Suppress the geometric object id from the applet object list.
N.B. : position index of this geometry is kept into the applet. If the suppressed geometry is inserted again into the applet, it will be inserted at its original position (and not on the top of the applet geometric object list). index.
Domain :
-
Returned value :
-
 
 
GEOMETRY|id|HILITE :
Description :
Highlight the geometry with identifier id.
Domain :
-
Returned value :
-
 
 
GEOMETRY_COLOR|id|color :
Description :
Overload the default color of geometric object with identifier id with the input color.
Domain :
-
Returned value :
-
 
 
HISTORY|BACK :
Description :
Go back to the previous map view in navigation history.
Domain :
-
Returned value :
Same as CENTER command.
 
 
HISTORY|FORWARD :
Description :
Go forward to the next map view in navigation history.
Domain :
-
Returned value :
Same as CENTER command.
 
ITEM_NQUERYMAP|layer|attribut1, attribut2, ..., attributn |query string|free MS parameters:
Description :

Switch to ITEM_NQUERYMAP mode. In this mode, kaboum displays a map where geographic object matching search criteria passed as parameter are highlighted, according to the "querymap" object defined in the mapfile.

This mode is preserved accross all drawers, allowing to pan, zoom, etc. in the map with highlighted objects. To exit this mode, the client must send the following command:
ITEM_NQUERYMAP|CLEAR to the applet.

If no object is found after the query, Kaboum returns the following command to the client:

ITEM_NQUERYMAP|NO_RESULT

and displays a blank page.

Command parameters are:
layer: The name of the mapserver layer on which the query is performed.
attribut1, attribut2, ..., attributn: the comma-separated list of attributes involved in the search command
query string: the search command, as expected by Maperver. See the Mapserver documentation. free MS parameters: a sequence of valid MapServer CGI parameters. Useful to overload mapfile. These parameters are passed to mapserver as is, without any processing

Domain :

All

Returned value :
-
 
ITEM_NQUERYMAP|CLEAR:
Description :
Exits from the ITEM_NQUERYMAP mode. Previous mode is restored and no query-specific parameters are passed to mapserver
Domain :
-
Returned value :
-
 
KABOUM_ACTION|action :
Description :
Send the action command to the active operating mode.
Domain :
-
Returned value :
Depends on the operating mode.
 
 
LANG|key|value :
Description :
Add a key with value value to the lang keywords list. If the key already exists, then its value is replaced with the input value.
Domain :
-
Returned value :
-
 
 
LINESTRING :
Description :
Switch to LINESTRING operating mode.
Domain :
-
Returned value :
Return the perimeter p (in meters), the area s (meters square) and the WKT representation wkt of the geometry with identifier id.
If geometry does not have an identifier, the default identifier is GEOMETRY_DEFAULT_ID.
  • GEOMETRY|id|p|s|wkt
If the object is selected for removal, then the WKT representation is replaced by REMOVE keyword.
  • GEOMETRY|id|REMOVE
If the action is canceled, then the command is :
  • GEOMETRY|id|CANCEL
 
 
LINESTRING|id :
Description :
Switch to LINESTRING mode.
Geometry object with identifier id is selected.
If the identifier id is equal to GEOMETRY_DEFAULT_ID, then the mode starts in digitalization (you don't have to explicitely use the menu to starts digitalization as in normal startup for this mode).
Domain :
-
Returned value :
Same as LINESTRING command.
 
 
MENU|pd|CLEAR :
Description :
Suppress all the items linked to the menu of pd properties descriptor.
Domain :
SELECTION, MULTISELECTION
Returned value :
-
 
 
MENU|pd|keyword|text :
Description :
Add a new item text to the contextual menu of pd properties descriptor.
Domain :
SELECTION, MULTISELECTION
Returned value :
The geometry object identifier id selected in the menu, and the keyword linked to this item.
  • FUNCTION|pd|id|keyword
 
 
MENU_TITLE|id|title :
Description :
Add a title to the contextual menu of geometry with identifier id.
Domain :
SELECTION, MULTISELECTION
Returned value :
-
 
 
MODIFY :
Description :
Switch to MODIFY mode.
This mode is identical to QUERY. Only the returned keyword change (MODIFY instead of QUERY).
Domain :
-
Returned value :
A mapserver nquery request :
  • MODIFY|http://...mapserv?mode=nquery&...
N.B.: only the layers defined in QUERY_LAYERS list are requested.
 
 
MULTISELECTION :
Description :
Switch to MULTISELECTION mode.
Domain :
-
Returned value :
Geometric object(s) identifier(s) (comma separated) :
  • SELECTION|id1,id2,...
 
 
MULTISELECTION|id1,id2 :
Description :
Switch to MULTISELECTION mode with a pre-selected objects list.
Domain :
-
Returned value :
Same as MULTISELECTION command.
 
 
PAN :
Description :
Switch to PAN mode.
Domain :
-
Returned value :
Same as CENTER command.
 
 
POINT :
Description :
Switch to POINT mode.
Domain :
-
Returned value :
Return the perimeter p (in meters), the area s (meters square) and the WKT representation wkt of the geometry with identifier id.
If geometry does not have an identifier, the default identifier is GEOMETRY_DEFAULT_ID.
  • GEOMETRY|id|p|s|wkt
If the object is selected for removal, then the WKT representation is replaced by REMOVE keyword.
  • GEOMETRY|id|REMOVE
If the action is canceled, then the command is :
  • GEOMETRY|id|CANCEL
 
 
POINT|id :
Description :
Switch to POINT mode.
Geometry object with identifier id is selected.
If the identifier id is equal to GEOMETRY_DEFAULT_ID, then the mode starts in digitalization (you don't have to explicitely use the menu to starts digitalization as in normal startup for this mode).
Domain :
-
Returned value :
Same as POINT command.
 
 
POLYGON :
Description :
Switch to POLYGON mode.
Domain :
-
Returned value :
Return the perimeter p (in meters), the area s (meters square) and the WKT representation wkt of the geometry with identifier id.
If geometry does not have an identifier, the default identifier is GEOMETRY_DEFAULT_ID.
  • GEOMETRY|id|p|s|wkt
If the object is selected for removal, then the WKT representation is replaced by REMOVE keyword.
  • GEOMETRY|id|REMOVE
If the action is canceled, then the command is :
  • GEOMETRY|id|CANCEL
 
 
POLYGON|id :
Description :
Switch to POLYGON mode.
Geometry object with identifier id is selected.
If the identifier id is equal to GEOMETRY_DEFAULT_ID, then the mode starts in digitalization (you don't have to explicitely use the menu to starts digitalization as in normal startup for this mode).
Domain :
-
Returned value :
Same as POLYGON command.
 
 
PRINT_URL|width,height :
Description :
Ask a mapserver printing url for a widthxheight pixels map.
Domain :
-
Returned value :
A mode=browse mapserver url (cf. mapserver) :
  • PRINT_URL|http://...mapserv?mode=browse&...
 
 
QUERY :
Description :
Switch to QUERY mode.
Domain :
-
Returned value :
A mapserver nquery request :
  • QUERY|http://...mapserv?mode=nquery&...
N.B.: only the layers defined in QUERY_LAYERS layers are requested.
 
 
REFRESH :
Description :
Refresh the mape. Avoid browser caching when mapfile changed but not the extent.
Domain :
-
Returned value :
-
 
 
SCALE|s :
Description :
Center the map view to the specified s scale.
Domain :
-
Returned value :
Same as CENTER command.
 
 
SELECTION :
Description :
Switch to SELECTION mode.
Same as MULTISELECTION, but only one geometry can be selected at a time.
Domain :
-
Returned value :
Identifier of the selected object :
  • SELECTION|id
 
 
SELECTION|id :
Description :
Switch to SELECTION mode with a pre-selected geometric object.
Domain :
-
Returned value :
Same as SELECTION command.
 
 
TOOLTIP|id|text :
Description :
The text is displayed when user move the mouse pointer over geometric object with identifier id.
Domain :
All the operating modes ifKABOUM_USE_TOOLTIP is set to TRUE
Returned value :
-
 
 
ZOOMIN :
Description :
Switch to ZOOMIN mode.
Domain :
-
Returned value :
Same as CENTER command.
 
 
ZOOMOUT :
Description :
Switch to ZOOMOUT mode.
Domain :
-
Returned value :
Same as CENTER command.
5.3.1. Overload

The following parameters can be overloaded during applet execution :

5.3.2. Other commands

The applet use a "java reflection like mechanism" (use of Class.forName(...)) to instanciate operating modes.

Thus, suppose you send a EXAMPLE command to applet. This command is not a valid command (i.e. not a pre-implemented command). So the applet will search for a KaboumEXAMPLEOpMode class in the jar. If it exists, it will be instanciate.

This mechanism allows to add new operating mode without modify any other class of the jar file.

Applet give three generic accesses :

KEYWORD :
Description :
Create a new opertating mode object with the KaboumKEYWORDOpMode(Kaboum applet) constructor from KaboumKEYWORDOpMode class. If constructor exists, switch to KEYWORD mode.
Domain :
-
Returned value :
Depends on KaboumKEYWORDOpMode specifications.
 
 
KEYWORD|param1 :
Description :
CASE 1:
Create a new opertating mode object with the KaboumKEYWORDOpMode(Kaboum applet, String param1) constructor from KaboumKEYWORDOpMode class. If constructor exists, switch to KEYWORD mode. CASE 2:
If CASE 1 is not valid, KEYWORD is supposed to be a parameter, and the param1 value replace the KEYWORD old value in the parameters list (cf. overload).
Domain :
-
Returned value :
CAS 1:
Depends on KaboumKEYWORDOpMode specifications. CAS 2:
-
 
 
KEYWORD|param1|param2 :
Description :
Create a new opertating mode object with the KaboumKEYWORDOpMode(Kaboum applet, String param1, String param2) constructor from KaboumKEYWORDOpMode class. If constructor exists, switch to KEYWORD mode.
Domain :
-
Returned value :
Depends on KaboumKEYWORDOpMode specifications.
 
 





6. Annexes

6.1. Colors

The following colors can be used instead of r,g,b triplet.

COLOR CODE
Black black
Blue blue
Cyan cyan
Dark grey darkGray
Grey gray
Light gray lightGray
Green green
Magenta magenta
Orange orange
Pink pink
Red red
White white
Yellow yellow

6.2 Alerts

If liveconnect is enable, applet could send alerts strings to the browser.

The alerts string looks like "ALERT|KEYWORD". The KEYWORD is one of the following :

GEOMETRY_AUTO_INTERSECT :
Description :
In POLYGON mode, this alert is sent if a ring of the digitalized geometry intersect itself (i.e. two non consecutives segments from the ring intersect each other).
 
 
GEOMETRY_FIRST_POINT_IS_INSIDE_GEOMETRY :
Description :
In POLYGON mode, this alert is sent if the digitalized geometry is inside another geometry with a PD_IS_SURROUNDING parameter set to FALSE.
 
 
GEOMETRY_FIRST_POINT_IS_NOT_INSIDE_GEOMETRY :
Description :
In POLYGON mode, this alert is sent if the digitalized geometry is not inside a geometry with a PD_IS_SURROUNDING parameter set to TRUE.
 
 
GEOMETRY_INTERSECTS_OTHER_GEOMETRY :
Description :
In POLYGON mode, this alert is sent if the digitalized geometry intersects another geometry.
This message is only sent if topology is activated.
 
 
GEOMETRY_IS_INSIDE_OTHER_GEOMETRY :
Description :
In POLYGON mode, this alert is sent if one of the exterior ring the digitalized geometry is inside another Polygon geometry.
This message is only sent if topology is activated.
 
 
GEOMETRY_SURROUNDS_OTHER_GEOMETRY :
Description :
In POLYGON mode, this alert is sent if the digitalized geometry totally surround another Polygon geometry.
This message is only sent if topology is activated.
 
 
KABOUM_IS_LOADED :
Description :
This alert is sent when the init() method from main applet class is loaded.

N.B. : the alert management must be done in javascript

6.3 Lang keywords

Two lang properties files are present in the default jar file.
These files corespond to "FR" and "UK" keyword for default lang parameter.

The predefined lang keywords are defined in the properties lang file.

GENERIC_SEPARATOR :
Description :
Separator between two items groups in menus. By default it's the "-" character.
Domain :
LINESTRING, MULTISELECTION, POINT, POLYGON, SELECTION
 
 
GEOMETRY_ADD_GEOMETRY_WITHIN_COLLECTION :
Description :
Add an exteriror ring to a geometry. For example add a point to a MultiPoint, or a Polygon to a MultiPolygon.
Domain :
LINESTRING, POINT, POLYGON
 
 
GEOMETRY_ADD_HOLE_WITHIN_GEOMETRY :
Description :
Add an interior ring inside a Polygon exterior ring.
Domain :
POLYGON
 
 
GEOMETRY_ADD_POINT :
Description :
Add a point to a Geometry.
Domain :
LINESTRING, POLYGON
 
 
GEOMETRY_CANCEL_GEOMETRY :
Description :
Cancel the digitalization of a geometry.
Domain :
LINESTRING, POINT, POLYGON
 
 
GEOMETRY_NEW_GEOMETRY :
Description :
Create a new geometry.
Domain :
LINESTRING, POINT, POLYGON
 
 
GEOMETRY_PRE_VALIDATE_GEOMETRY :
Description :
Pre-validate the geometry digitalization (i.e. validate on the applet but not send the result to the server).
Domain :
LINESTRING, POINT, POLYGON
 
 
GEOMETRY_REMOVE_GEOMETRY :
Description :
Suppress a geometry.
Domain :
LINESTRING, POINT, POLYGON
 
 
GEOMETRY_REMOVE_GEOMETRY_WITHIN_COLLECTION :
Description :
Suppress a geometry from a MultiGeometry. For example suppress a Polygon from a MultiPolygon geometry.
Domain :
LINESTRING, POINT, POLYGON
 
 
GEOMETRY_REMOVE_POINT :
Description :
Suppress a point from a geometry.
Domain :
LINESTRING, POINT, POLYGON
 
 
GEOMETRY_UNDO :
Description :
Undo the previous point add.
Domain :
LINESTRING, POINT, POLYGON
 
 
GEOMETRY_VALIDATE_GEOMETRY :
Description :
Validate geometry digitalization (i.e. send results to server).
Domain :
LINESTRING, POINT, POLYGON
 
 
SELECTION_VALIDATE :
Description :
Validate the selection of one or more geometry.
Domain :
MULTISELECTION, SELECTION
 
 
STATUS_COORD :
Description :
String representation of map coordinates corresponding to the mouse position.
Domain :
All the operating modes
 
 
STATUS_PERIMETER :
Description :
String representation of active geometry perimeter.
Domain :
MULTISELECTION, POLYGON, SELECTION
 
 
STATUS_SCALE :
Description :
String representation of map scale.
Domain :
Tous les operating modes
 
 
STATUS_SURFACE :
Description :
String representation of active geometry surface.
Domain :
MULTISELECTION, POLYGON, SELECTION