Class TLcyLspPrintableMapComponentFactory

java.lang.Object
com.luciad.lucy.addons.print.ALcyPrintableMapComponentFactory<ILcyLspMapComponent>
com.luciad.lucy.addons.print.lightspeed.TLcyLspPrintableMapComponentFactory

public class TLcyLspPrintableMapComponentFactory extends ALcyPrintableMapComponentFactory<ILcyLspMapComponent>
Factory for the creation of printable java.awt.Components containing a Lightspeed view. This factory was designed so that it is easy to modify small parts of the creation process. This can be done by subclassing this class and overriding certain methods.

The main create function createPrintableComponent will first create all usable parts, eg. the map view, the header text, the scale icon,... using the functions createView and createComponent. Then it calls createPrintableComponentContent, which will create the content of the printable component using the created objects by calling getView and getComponent. And finally it will create the actual TLcyPrintableMapComponent.

ID's are used to identify different types of components that can be created: the legend, the scale icon, the footer/header text,... All possible ID's that can be passed to the createComponent method all end with the same suffix "component". The same thing goes for "view" in createView.

As an example, imagine you want to change the behaviour of the footer text. Browsing this class learns there is a FOOTER_TEXT_COMPONENT constant. Because it ends with "component", this constant can only be passed to the createComponent method. Therefore we can override the method createComponent, check if the ID is FOOTER_TEXT_COMPONENT and return a custom component instance. Or use super.createComponent and change some settings before returning it. If you want to remove the component completely, you can simply return null.

The method createPrintableComponent(com.luciad.lucy.map.lightspeed.ILcyLspMapComponent, com.luciad.lucy.util.TLcyProperties) should not be overridden without using the super function. Changing the layout of the TLcyPrintableMapComponent can be done by overriding createPrintableComponentContent(). The internal elements are already created and should be retrieved by calling getView(id) and getComponent(id).

Since:
2013.0
  • Field Details

    • MAIN_VIEW

      public static final int MAIN_VIEW
      The id for creating the view of the current map component. For this ID, it is not allowed to return null.
      See Also:
    • OVERVIEW_VIEW

      public static final int OVERVIEW_VIEW
      The id for creating the view of the current map overview component.
      See Also:
    • LEGEND_COMPONENT

      public static final int LEGEND_COMPONENT
      The id for creating the legend component.
      See Also:
    • SCALE_ICON_COMPONENT

      public static final int SCALE_ICON_COMPONENT
      The id for creating the scale icon component.
      See Also:
    • SCALE_LABEL_COMPONENT

      public static final int SCALE_LABEL_COMPONENT
      The id for creating the scale indication component.
      See Also:
    • HEADER_TEXT_COMPONENT

      public static final int HEADER_TEXT_COMPONENT
      The id for creating the header text component.
      See Also:
    • TITLE_TEXT_COMPONENT

      public static final int TITLE_TEXT_COMPONENT
      The id for creating the title text component.
      See Also:
    • MODIFIABLE_HEADER_TEXT_COMPONENT

      public static final int MODIFIABLE_HEADER_TEXT_COMPONENT
      The id for creating the header text component which can be altered by the user in the UI.
      Since:
      2016.1.1
      See Also:
    • CLASSIFICATION_COMPONENT

      public static final int CLASSIFICATION_COMPONENT
      The id for creating the classification component
      Since:
      2016.1.1
      See Also:
  • Constructor Details

    • TLcyLspPrintableMapComponentFactory

      public TLcyLspPrintableMapComponentFactory()
      Default constructor. Creates a new TLcyLspPrintableMapComponentFactory. Note that you will have to set an ILcyLucyEnv before this instance can be used.
    • TLcyLspPrintableMapComponentFactory

      public TLcyLspPrintableMapComponentFactory(ILcyLucyEnv aLucyEnv)
      Creates a new TLcyLspPrintableMapComponentFactory.
      Parameters:
      aLucyEnv - The lucy environment, contextual information.
  • Method Details