Class ALspToggleStyler

java.lang.Object
com.luciad.view.lightspeed.style.styler.ALspStyler
com.luciad.view.lightspeed.style.styler.ALspToggleStyler
All Implemented Interfaces:
ILspStyler
Direct Known Subclasses:
TLspDrapingToggleStyler, TLspRegularOrExtrudedStyler

public abstract class ALspToggleStyler extends ALspStyler
Styler wrapper that delegates to one of two stylers. The first styler is denoted the 'regular' one, the second the 'special' one.

Both stylers are provided in the constructor, the implementor should provide an implementation of the isUseSpecialStyler(Object, TLspContext) method that returns true or false based on the given object. This will allow the implementation to delegate to the appropriate styler.

Since:
2012.0
  • Constructor Details

  • Method Details

    • addStyleChangeListener

      public void addStyleChangeListener(ILspStyleChangeListener aListener)
      Description copied from interface: ILspStyler
      Registers a style change listener with this styler. Appropriate events will be passed to this listener whenever a style changes.
      Specified by:
      addStyleChangeListener in interface ILspStyler
      Overrides:
      addStyleChangeListener in class ALspStyler
      Parameters:
      aListener - the style change listener to add
    • removeStyleChangeListener

      public void removeStyleChangeListener(ILspStyleChangeListener aListener)
      Description copied from interface: ILspStyler
      Unregisters a style change listener from this styler.
      Specified by:
      removeStyleChangeListener in interface ILspStyler
      Overrides:
      removeStyleChangeListener in class ALspStyler
      Parameters:
      aListener - the style change listener to remove
    • 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.
    • isUseSpecialStyler

      protected abstract boolean isUseSpecialStyler(Object aObject, TLspContext aContext)
      Determines whether the special styler should be used.
      Parameters:
      aObject - the object
      aContext - provides context information
      Returns:
      whether or not the special styler should be used
    • getSpecialStyler

      public ILspStyler getSpecialStyler()
      Returns the 'special' styler instance which was passed in the constructor
      Returns:
      the 'special' styler instance which was passed in the constructor
    • getRegularStyler

      public ILspStyler getRegularStyler()
      Returns the 'regular' styler instance which was passed in the constructor
      Returns:
      the 'regular' styler instance which was passed in the constructor