public class TLcyLspGeorefGridAddOn extends ALcyLspFormatAddOn
This add-on adds the capability to add a Georef grid layer to every Lightspeed map.
The configuration options allow to add such a layer automatically to every new map. Manually adding a grid layer is possible using the action in the menu bar.
The layers will be encoded in the workspace. This add-on can add the grid to newly created Lightspeed maps, but when loading a map from a workspace the layers are only added if they were saved in the workspace.
TLcyLspGridAddOn
Constructor and Description |
---|
TLcyLspGeorefGridAddOn()
Default constructor
|
Modifier and Type | Method and Description |
---|---|
protected ALcyLspFormat |
createBaseFormat()
Returns a new data format for this add-on.
|
protected ALcyLspFormat |
createFormatWrapper(ALcyLspFormat aBaseFormat)
Returns a new data format wrapper for this add-on.
|
ILcdAction |
getAddGridActionForMap(ILcyGenericMapComponent<?,?> aMapComponent)
Returns the
ILcdAction which can be used to add a georef grid on the specified map. |
void |
plugInto(ILcyLucyEnv aLucyEnv)
Creates and plugs in the add-on's format and preferences tool.
|
createFormatTool, getFormat, unplugFrom
createPreferencesTool, getLongPrefix, getLucyEnv, getPreferences, getPreferencesTool, getShortPrefix
getConfigSourceName, getDisplayName, setConfigSourceName, setDisplayName
public void plugInto(ILcyLucyEnv aLucyEnv)
ALcyLspFormatAddOn
plugInto
in class ALcyLspFormatAddOn
aLucyEnv
- the Lucy environment to plug intoALcyAddOn.unplugFrom(com.luciad.lucy.ILcyLucyEnv)
protected ALcyLspFormat createBaseFormat()
ALcyLspFormatAddOn
Returns a new data format for this add-on. Override this method to extend the default format with new functionality.
For example, to alter the icon of the layers of this format, you can decorate the layer factory created in the format:
@Override
protected ALcyLspFormat createBaseFormat() {
return new ALcyLspFormatWrapper(super.createBaseFormat()){
@Override
protected ILspLayerFactory createLayerFactory(){
final ILspLayerFactory delegate = super.createLayerFactory();
return new ILspLayerFactory(){
@Override
public boolean canCreateLayers(ILcdModel aModel){
return delegate.canCreateLayers(aModel);
}
@Override
public Collection<ILspLayer> createLayers(ILcdModel aModel){
Collection<ILspLayer> layers = delegate.createLayers(aModel);
for(ILspLayer layer : layers){
ILcdIcon icon = ...;
layer.setIcon(icon)
}
return layers;
}
}
}
}
}
createBaseFormat
in class ALcyLspFormatAddOn
protected final ALcyLspFormat createFormatWrapper(ALcyLspFormat aBaseFormat)
ALcyLspFormatAddOn
Returns a new data format wrapper for this add-on. A format wrapper extends the base format with aspects such as safe guarding, etc.
Overriding this method of an existing add-on should be done with extreme care as add-ons typically rely on the wrappers that should be present (e.g. a safe guard).
createFormatWrapper
in class ALcyLspFormatAddOn
aBaseFormat
- the base format to wrapALcyLspFormatWrapper
public final ILcdAction getAddGridActionForMap(ILcyGenericMapComponent<?,?> aMapComponent)
Returns the ILcdAction
which can be used to add a georef grid on the specified map.
aMapComponent
- The map componentILcdAction
which can be used to add a georef grid on aMapComponent
,
or null
when no such action is available (for example when the map has already been closed).