An addon that provides an
The drawing add-on provides Lucy with the functionality to draw SLD styled shapes on the map and editing and/or saving these drawings afterwards. An example use is to make annotations to some data, without modifying the original content. The default setup used in Lucy can be configured and extended by use of the flexible API of this package.
The following customizations are possible:
A quick overview of the main classes is given in the next section, illustrated with a class diagram. More detailed information on how to use this package is found in the developer guide.
The drawing add-on creates and registers the
which is responsible for the creation of drawing models. Such a drawing model is basically a heterogeneous
collection of instances where the
TLcyDrawingFormat contains an
ALcyDomainObjectSupplier which can
handle that instance. This
ALcyDomainObjectSupplier instance groups all the logic relevant
to a specific shape (for instance a circle, an ellipse, ... ).
ALcyDomainObjectSupplier instances are registered to the
during the initialization phase of the drawing add-on. Since an
contains all the logic for a certain shape, adding or removing support for a certain shape is easily achieved
by registering or unregistering the corresponding
ALcyDomainObjectSupplier to the
TLcyDrawingFormat also adds an
This format bar is shown typically below the map component when a drawing layer is selected. It displays a
toolbar with many buttons to create and manipulate various shapes in the selected drawing layer. More
information on the format bar can be found in the
The figure below illustrates the general structure of the add-on.
In most cases the functionality of
ALcyDomainObjectSupplier can be divided in two distinct
parts: the geometry specific and geometry independent functionality. Therefore, the drawing add-on
ALcyShapeSupplier, which respectively
handle the geometric independent and geometric functionality of all the default
instances. Adding support for a new geometry, and recuperating the non geometrical functionality, is thus
achieved by adding a new
ALcyShapeSupplier. This is illustrated in the figure below.
The usage of the drawing add-on can be extended by the use of three other add-ons: