Class TLcyLspDrawingAddOn
This add-on registers the Lightspeed related functionality of the TLcyDrawingAddOn
. It creates a
TLcyLspDrawingFormat
which creates the necessary factories. This format can be modified by
overriding the createBaseFormat()
method.
Customizing the format bar
Through the configuration file
All the actions and active settables available in the format bar are configured through the configuration file of this add-on. This allows for the regular customizations:- Changing icons, names, tool tips, ...
- Changing the location of the entries
- Removing entries
Through the API
The API allows for more elaborate customizations.
The actual contents of the format bar is created by an ALcyGUIFactory
, which is exposed in TLcyLspDrawingFormat.createGUIFactory()
.
The default ALcyGUIFactory
is the TLcyLspDrawingToolBarFactory
, which can be extended as starting point for a custom implementation.
Replacing this GUI factory with a custom one (possibly extending from TLcyLspDrawingToolBarFactory
) can be done by:
@Override
protected TLcyLspDrawingFormat createBaseFormat(){
TLcyDrawingFormat gxyFormat = getLucyEnv().retrieveAddOnByClass(TLcyDrawingAddOn.class).getDrawingFormat();
return new TLcyLspDrawingFormat(gxyFormat, getPreferences(), getLongPrefix(), getShortPrefix(), this){
@Override
protected ALcyGUIFactory<Component> createGUIFactory() {
return new CustomGUIFactory();
}
}
}
Note: The format bar factory provided by this add-on is only used for Lightspeed maps.
The one for GXY maps is created in the TLcyDrawingAddOn
.
- Since:
- 2012.1
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionprotected TLcyLspDrawingFormat
Returns a new data format for this add-on.protected final ALcyLspFormat
createFormatWrapper
(ALcyLspFormat aBaseFormat) Returns a new data format wrapper for this add-on.protected TLcyPreferencesTool
Creates theTLcyPreferencesTool
to be used by this add-on.final TLcyDrawingAddOn
Returns the GXY drawing add-onfinal TLcyLspDrawingFormat
Returns theTLcyLspDrawingFormat
created in thecreateBaseFormat()
method.getDrawingSettingsForMap
(ILcdView aView) Method to retrieve the drawing settings for a certain view.void
plugInto
(ILcyLucyEnv aLucyEnv) Creates and plugs in the add-on's format and preferences tool.Methods inherited from class com.luciad.lucy.addons.lightspeed.ALcyLspFormatAddOn
createFormatTool, getFormat, unplugFrom
Methods inherited from class com.luciad.lucy.addons.ALcyPreferencesAddOn
getLongPrefix, getLucyEnv, getPreferences, getPreferencesTool, getShortPrefix
Methods inherited from class com.luciad.lucy.addons.ALcyAddOn
getConfigSourceName, getDisplayName, setConfigSourceName, setDisplayName
-
Constructor Details
-
TLcyLspDrawingAddOn
public TLcyLspDrawingAddOn()Create a newTLcyLspDrawingAddOn
.
-
-
Method Details
-
plugInto
Description copied from class:ALcyLspFormatAddOn
Creates and plugs in the add-on's format and preferences tool.- Overrides:
plugInto
in classALcyLspFormatAddOn
- Parameters:
aLucyEnv
- the Lucy environment to plug into- See Also:
-
createBaseFormat
Description copied from class: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; } } } } }
- Specified by:
createBaseFormat
in classALcyLspFormatAddOn
- Returns:
- a new format for this add-on
-
createFormatWrapper
Description copied from class: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).
- Specified by:
createFormatWrapper
in classALcyLspFormatAddOn
- Parameters:
aBaseFormat
- the base format to wrap- Returns:
- a new format for this add-on
- See Also:
-
createPreferencesTool
Description copied from class:ALcyPreferencesAddOn
Creates the
TLcyPreferencesTool
to be used by this add-on. Overwriting this method for example allows to register additionalILcyPropertyConverter
s for (complex) custom properties, to make sure they are correctly decoded from the add-on's configuration file and/or saved to the workspace. Note that this isn't required for simple properties such asString
,int
,double
, etc.The default implementation creates a new tool based on the
ALcyAddOn.getConfigSourceName()
and the add-on's prefixes.- Overrides:
createPreferencesTool
in classALcyPreferencesAddOn
- Returns:
- the created
TLcyPreferencesTool
.
-
getDrawingFormat
Returns theTLcyLspDrawingFormat
created in thecreateBaseFormat()
method.- Returns:
- the
TLcyLspDrawingFormat
created in thecreateBaseFormat()
method
-
getDrawingAddOn
Returns the GXY drawing add-on- Returns:
- the GXY drawing add-on
-
getDrawingSettingsForMap
Method to retrieve the drawing settings for a certain view.- Parameters:
aView
- the view for which the drawing settings must be retrieved- Returns:
- the drawing settings for the view
aView
-