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
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected TLcyLspDrawingFormatReturns a new data format for this add-on.protected final ALcyLspFormatcreateFormatWrapper(ALcyLspFormat aBaseFormat) Returns a new data format wrapper for this add-on.protected TLcyPreferencesToolCreates theTLcyPreferencesToolto be used by this add-on.final TLcyDrawingAddOnReturns the GXY drawing add-onfinal TLcyLspDrawingFormatReturns theTLcyLspDrawingFormatcreated in thecreateBaseFormat()method.getDrawingSettingsForMap(ILcdView aView) Method to retrieve the drawing settings for a certain view.voidplugInto(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, unplugFromMethods inherited from class com.luciad.lucy.addons.ALcyPreferencesAddOn
getLongPrefix, getLucyEnv, getPreferences, getPreferencesTool, getShortPrefixMethods 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:ALcyLspFormatAddOnCreates and plugs in the add-on's format and preferences tool.- Overrides:
plugIntoin classALcyLspFormatAddOn- Parameters:
aLucyEnv- the Lucy environment to plug into- See Also:
-
createBaseFormat
Description copied from class:ALcyLspFormatAddOnReturns 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:
createBaseFormatin classALcyLspFormatAddOn- Returns:
- a new format for this add-on
-
createFormatWrapper
Description copied from class:ALcyLspFormatAddOnReturns 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:
createFormatWrapperin classALcyLspFormatAddOn- Parameters:
aBaseFormat- the base format to wrap- Returns:
- a new format for this add-on
- See Also:
-
createPreferencesTool
Description copied from class:ALcyPreferencesAddOnCreates the
TLcyPreferencesToolto be used by this add-on. Overwriting this method for example allows to register additionalILcyPropertyConverters 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:
createPreferencesToolin classALcyPreferencesAddOn- Returns:
- the created
TLcyPreferencesTool.
-
getDrawingFormat
Returns theTLcyLspDrawingFormatcreated in thecreateBaseFormat()method.- Returns:
- the
TLcyLspDrawingFormatcreated 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
-