Class TLcyLspStyledLayerCustomizerPanelFactory

java.lang.Object
com.luciad.internal.lucy.gui.customizer.lightspeed.ALcyArrayCustomizerPanelFactory
com.luciad.lucy.gui.customizer.lightspeed.TLcyLspStyledLayerCustomizerPanelFactory
All Implemented Interfaces:
ILcyCustomizerPanelFactory

public class TLcyLspStyledLayerCustomizerPanelFactory extends com.luciad.internal.lucy.gui.customizer.lightspeed.ALcyArrayCustomizerPanelFactory

ILcyCustomizerPanelFactory implementation which can create ILcyCustomizerPanels for TLcyLayerContext instances containing an ILspLayer, or an array of such TLcyLayerContext instances.

The created panel will contain UI to modify the general layer settings (e.g. visible, selectable, ... ). To create this UI, this factory relies on another ILcyCustomizerPanelFactory instance which accepts the TLcyLayerContext, or the array of TLcyLayerContext instances.

Currently, the created customizer panel will contain UI to modify the style of the layer as well when the layer fulfills the requirements documented in the ALcyLspStyleFormat#createLayerFactoryImpl method. In such case, the creation of the actual UI to modify the layer style of those layers is delegated to other ILcyCustomizerPanelFactory instances.

Consult the section about Lightspeed styles in the developer guide for more information about this factory, on the customization possibilities.

Since:
2012.0
  • Constructor Details

    • TLcyLspStyledLayerCustomizerPanelFactory

      public TLcyLspStyledLayerCustomizerPanelFactory(ILcyLucyEnv aLucyEnv)

      Create a new TLcyLspStyledLayerCustomizerPanelFactory. The UI for the general layer settings (e.g. visible, selectable, ... ) will be created by a default ILcyCustomizerPanelFactory. The UI for the layer style is created by the registered ILcyCustomizerPanelFactory instances of the Lucy back-end.

      Use the other available constructors if you want to specify which ILcyCustomizerPanelFactory instances should be used to create the UI.

      Parameters:
      aLucyEnv - The Lucy back-end
    • TLcyLspStyledLayerCustomizerPanelFactory

      public TLcyLspStyledLayerCustomizerPanelFactory(ILcyLucyEnv aLucyEnv, ILcyCustomizerPanelFactory aLayerContextCustomizerPanelFactory)

      Create a new TLcyLspStyledLayerCustomizerPanelFactory which uses aLayerContextCustomizerPanelFactory to create the UI for the general layer settings (e.g. visible, selectable). The UI for the layer style is created by the registered ILcyCustomizerPanelFactory instances of the Lucy back-end.

      aLayerContextCustomizerPanelFactory should accept TLcyLayerContext instances containing an ILspLayer, and arrays of those contexts. An example of such a factory is the available TLcyLspLayerCustomizerPanelFactory.

      In case you want to specify which ILcyCustomizerPanelFactory instances will be used to create its UI, use the TLcyLspStyledLayerCustomizerPanelFactory(com.luciad.lucy.ILcyLucyEnv, com.luciad.lucy.gui.customizer.ILcyCustomizerPanelFactory, java.util.List) constructor.

      Parameters:
      aLucyEnv - The Lucy back-end
      aLayerContextCustomizerPanelFactory - The customizer panel factory which will be used to create the UI for the general layer settings (e.g. visible, selectable, ... ). Should be able to create customizer panels for TLcyLayerContext instances containing an ILspLayer, or an array of such instances. Must not be null
      See Also:
    • TLcyLspStyledLayerCustomizerPanelFactory

      public TLcyLspStyledLayerCustomizerPanelFactory(ILcyLucyEnv aLucyEnv, ILcyCustomizerPanelFactory aLayerContextCustomizerPanelFactory, List<ILcyCustomizerPanelFactory> aCustomizableStyleContextCustomizerPanelFactories)

      Create a new TLcyLspStyledLayerCustomizerPanelFactory where the UI for both the general layer settings (e.g. visible, selectable, ... ) and the UI for the layer style is created by the specified ILcyCustomizerPanelFactory instances.

      aLayerContextCustomizerPanelFactory is responsible for the UI for the general layer settings and should accept TLcyLayerContext instances containing an ILspLayer, and arrays of those contexts. An example of such a factory is the available TLcyLspLayerCustomizerPanelFactory.

      The factories contained in aCustomizableStyleContextCustomizerPanelFactories are used for the creation of the UI of the layer style. The objects passed to these factories are either a TLcyLspCustomizableStyleContext instance or an array of such instances.

      See the other constructors in case you want to use the available ILcyCustomizerPanelFactory instances of the Lucy back-end.

      Parameters:
      aLucyEnv - The Lucy back-end
      aLayerContextCustomizerPanelFactory - The customizer panel factory which will be used to create the UI for the general layer settings (e.g. visible, selectable, ... ). Should be able to create customizer panels for TLcyLayerContext instances containing an ILspLayer, or an array of such instances. Must not be null
      aCustomizableStyleContextCustomizerPanelFactories - The customizer panel factories to use. When null, all registered factories of the back-end will be used.
  • Method Details

    • createCustomizerPanel

      public ILcyCustomizerPanel createCustomizerPanel(Object aObject)
      Description copied from interface: ILcyCustomizerPanelFactory

      Creates a new instance of ILcyCustomizerPanel. Users of this method will most likely set an object to the returned ILcyCustomizerPanel using ILcyCustomizerPanel.setObject(Object). Whether that is possible can be verified in advance using ILcyCustomizerPanelFactory.canCreateCustomizerPanel(Object).

      Parameters:
      aObject - The object to create an ILcyCustomizerPanel for.
      Returns:
      a new instance of ILcyCustomizerPanel.
      See Also:
    • createCompositeCustomizerPanel

      protected ILcyCompositeCustomizerPanel createCompositeCustomizerPanel(Map<ILcyCustomizerPanel,Object> aCustomizerPanelObjectMap)

      Create a new ILcyCompositeCustomizerPanel which will be used as container for all the ILcyCustomizerPanel instances which are created.

      Overriding this method allows to e.g. combine multiple ILcyCustomizerPanels in one tab, ... .

      The default implementation returns a TLcyCompositeCustomizerTabbedPane where certain panels are combined in one tab.

      Parameters:
      aCustomizerPanelObjectMap - Map containing the ILcyCustomizerPanel instances which will be added to the composite panel, and the objects for which those panels are created. For example when a customizer panel was created for a TLcyLspCustomizableStyleContext the object in the map will be that context.
      Returns:
      a new ILcyCompositeCustomizerPanel