Class TLspStyler

java.lang.Object
com.luciad.view.lightspeed.style.styler.ALspStyler
com.luciad.view.lightspeed.style.styler.TLspStyler
All Implemented Interfaces:
ILspStyler

public class TLspStyler extends ALspStyler
A styler that applies the same set of styles to all objects. It supports the use of ALspStyleTargetProvider to specify style targets or basic filtering.

It is possible to specify multiple ALspStyleTargetProvider instances together with a corresponding list of styles. In this case, all providers will be applied to all objects with their corresponding set of styles.

Since:
2012.0
  • Constructor Details

    • TLspStyler

      public TLspStyler(ALspStyle... aStyles)
      Creates a styler that will apply the given styles to all objects.
      Parameters:
      aStyles - The set of styles that will be applied.
    • TLspStyler

      public TLspStyler(List<? extends ALspStyle> aStyles)
      Creates a styler that will apply the given styles to all objects.
      Parameters:
      aStyles - The list of styles that will be applied.
    • TLspStyler

      public TLspStyler(Map<? extends ALspStyleTargetProvider,List<? extends ALspStyle>> aStyles)
      Creates a composite styler that will apply the given styles and style target providers to all objects.
      Parameters:
      aStyles - A map containing ALspStyleTargetProviders and the styles that correspond to them.
    • TLspStyler

      public TLspStyler(ALspStyleTargetProvider aStyleTargetProvider, List<? extends ALspStyle> aStyles)
      Creates a styler that will apply the given style target provider and list of styles to all objects.
      Parameters:
      aStyleTargetProvider - The style target provider that will be used
      aStyles - The styles that will be applied to the output of the style target provider
      Since:
      2018.0
    • TLspStyler

      public TLspStyler(ALspStyleTargetProvider aStyleTargetProvider, ALspStyle... aStyles)
      Creates a styler that will apply the given style target provider and list of styles to all objects.
      Parameters:
      aStyleTargetProvider - The style target provider that will be used
      aStyles - The styles that will be applied to the output of the style target provider
      Since:
      2018.0
  • Method Details

    • addStyles

      public void addStyles(ALspStyleTargetProvider aStyleTargetProvider, List<? extends ALspStyle> aStyles)
      Adds the given style target provider and a corresponding list of styles to this composite style. If a list of styles is already set for the given ALspStyleTargetProvider, it will be overridden.

      The given style target provider will be applied to all objects.

      Parameters:
      aStyleTargetProvider - A style target provider, can be null.
      aStyles - The styles to be set for aStyleTargetProvider
    • addStyles

      public void addStyles(ALspStyleTargetProvider aStyleTargetProvider, ALspStyle... aStyles)
      Adds the given style target provider and a corresponding list of styles to this composite style. If a list of styles is already set for the given ALspStyleTargetProvider, it will be overridden.

      The given style target provider will be applied to all objects.

      Parameters:
      aStyleTargetProvider - A style target provider, can be null.
      aStyles - The styles to be set for aStyleTargetProvider
    • getStyles

      public Map<ALspStyleTargetProvider,List<ALspStyle>> getStyles()
      Returns all styles that are in use.
      Returns:
      An containing ALspStyleTargetProviders and the corresponding styles, can not be modified.
    • setStyles

      public void setStyles(List<? extends ALspStyle> aStyles)
      Replace all currently set styles with aStyles.
      Parameters:
      aStyles - The new set of styles.
    • setStyles

      public void setStyles(ALspStyle... aStyles)
      Replace all currently set styles with aStyles.
      Parameters:
      aStyles - The new set of styles.
    • style

      public void style(Collection<?> aObjects, ALspStyleCollector aStyleCollector, TLspContext aContext)
      Description copied from interface: ILspStyler

      Styles the objects or labels contained in aObjects using the methods provided by ALspStyleCollector.

      Example usages for object styling:

      
       // Same style for all objects:
       aStyleCollector.objects(aObjects).style(myStyle).submit();
      
       // Object specific styling:
       aStyleCollector.object(myObject1).style(myStyle1).submit();
       aStyleCollector.object(myObject2).style(myStyle2).submit();
       

      Example usages for label styling:

      
       if (aStyleCollector instanceof ALspLabelStyleCollector) {
         ALspLabelStyleCollector labelStyleCollector = (ALspLabelStyleCollector)aStyleCollector;
      
         // Specify a priority for all labels of all objects:
         labelStyleCollector.objects(aDomainObjects).allLabels().priority(3).styles(...).submit();
      
         // Specify an algorithm for a specific label:
         labelStyleCollector.object(myObject1).label(123).algorithm(...).styles(...).submit();
       }
       

      The objects that are provided to aStyleCollector must be objects that are contained in aObjects. Note that not all objects have to be styled. Objects that are not submitted in aStyleCollector will not be painted.

      This method can be called very frequently, depending on the (amount of) data. If this method is not implemented efficiently, painting performance may be affected.

      Parameters:
      aObjects - The objects to be styled.
      aStyleCollector - A style collector to which all styling information should be passed, this collector is only valid within this method call, and can no longer be used afterwards.
      aContext - Provides context information that may affect styling, such as view specific properties.