public class TLcyLspBingMapsFormatAddOn extends ALcyLspFormatAddOn
Constructor and Description |
---|
TLcyLspBingMapsFormatAddOn()
Creates a new
TLcyLspBingMapsFormatAddOn |
Modifier and Type | Method and Description |
---|---|
protected ALcyLspFormat |
createBaseFormat()
Returns a new data format for this add-on.
|
Component |
createCopyrightComponent(ILspView aView)
Returns a component representing the copyright information of the Bing map layers contained
in
aView which will be added on the map. |
protected ALcyLspFormat |
createFormatWrapper(ALcyLspFormat aBaseFormat)
Returns a new data format wrapper for this add-on.
|
Component |
createLogoComponent(ILspView aView)
Returns a component representing the logo of the Bing map layers contained in
aView
which will be added on the 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 TLcyLspBingMapsFormatAddOn()
TLcyLspBingMapsFormatAddOn
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 Component createCopyrightComponent(ILspView aView)
Returns a component representing the copyright information of the Bing map layers contained
in aView
which will be added on the map.
This method will be called once for the view of each created ILcyLspMapComponent
. It
is up to the returned component to keep its state in sync with the state of aView
. E.g.
when a Bing layer is added, the component should contain the relevant copyright information.
When the scale of the view changes, the copyright info in the component should be updated, ...
.
aView
- The viewaView
public Component createLogoComponent(ILspView aView)
Returns a component representing the logo of the Bing map layers contained in aView
which will be added on the map.
This method will be called once for the view of each created ILcyLspMapComponent
. It
is up to the returned component to keep its state in sync with the state of aView
. E.g.
when a Bing layer is added, the component should contain the relevant logo.
aView
- The viewaView