public final class TLcyLspStyleCustomizerPanelFactories extends Object
A factory class which creates all kinds of ILcyCustomizerPanelFactory
instances, each capable of creating customizer panels which offer a user interface capable of adjusting
a specific kind of style
.
Note that before an ALspStyle
is provided to a customizer panel
it should be wrapped inside a TLspCustomizableStyle
,
which in turn should be wrapped in a TLcyLspCustomizableStyleContext
.
This way some additional information is provided to be used by the customizer panels created by the this class's factories.
All the factories can create customizer panels which can handle both a single compatible TLcyLspCustomizableStyleContext
object
or an array containing at least one compatible TLcyLspCustomizableStyleContext
object. In case such an
array is provided, all compatible TLcyLspCustomizableStyleContext
instances will be affected by
the customizer panels. All incompatible instances will be ignored.
This class can create customizer panel factories for the following ALspStyle
types:
TLspLineStyle
TLspFillStyle
TLspIconStyle
TLspTextStyle
TLspRasterStyle
TLspLabelBoxStyle
TLspPinLineStyle
TLspDataObjectLabelTextProviderStyle
TLspDensityLineStyle
TLspDensityFillStyle
TLspDensityPointStyle
TLspIndexColorModelStyle
TLspParameterizedLineStyle
TLspParameterizedFillStyle
TLspParameterizedIconStyle
Modifier and Type | Method and Description |
---|---|
static ILcyCustomizerPanelFactory |
createDataObjectLabelTextProviderStyleCustomizerPanelFactory(ILcyLucyEnv aLucyEnv)
Create a new
ILcyCustomizerPanelFactory which can create an
ILcyCustomizerPanel for a TLcyLspCustomizableStyleContext
wrapped around a TLspCustomizableStyle containing a TLspDataObjectLabelTextProviderStyle . |
static ILcyCustomizerPanelFactory |
createDensityFillStyleCustomizerPanelFactory(ILcyLucyEnv aLucyEnv)
Create a new
ILcyCustomizerPanelFactory which can create an
ILcyCustomizerPanel for a TLcyLspCustomizableStyleContext
wrapped around a TLspCustomizableStyle containing a TLspDensityFillStyle . |
static ILcyCustomizerPanelFactory |
createDensityLineStyleCustomizerPanelFactory(ILcyLucyEnv aLucyEnv)
Create a new
ILcyCustomizerPanelFactory which can create an
ILcyCustomizerPanel for a TLcyLspCustomizableStyleContext
wrapped around a TLspCustomizableStyle containing a TLspDensityLineStyle . |
static ILcyCustomizerPanelFactory |
createDensityPointStyleCustomizerPanelFactory(ILcyLucyEnv aLucyEnv)
Create a new
ILcyCustomizerPanelFactory which can create an
ILcyCustomizerPanel for a TLcyLspCustomizableStyleContext
wrapped around a TLspCustomizableStyle containing a TLspDensityPointStyle . |
static ILcyCustomizerPanelFactory |
createFillStyleCustomizerPanelFactory(ILcyLucyEnv aLucyEnv)
Create a new
ILcyCustomizerPanelFactory which can create an
ILcyCustomizerPanel for a TLcyLspCustomizableStyleContext
wrapped around a TLspCustomizableStyle containing a TLspFillStyle . |
static ILcyCustomizerPanelFactory |
createIconStyleCustomizerPanelFactory(ILcyLucyEnv aLucyEnv)
Create a new
ILcyCustomizerPanelFactory which can create an
ILcyCustomizerPanel for a TLcyLspCustomizableStyleContext
wrapped aroundTLspCustomizableStyleableStyle containing a TLspIconStyle . |
static ILcyCustomizerPanelFactory |
createImageProcessingStyleCustomizerPanelFactory(ILcyLucyEnv aLucyEnv)
Create a new
ILcyCustomizerPanelFactory which can create an ILcyCustomizerPanel for a TLcyLspCustomizableStyleContext
wrapped around a TLspCustomizableStyle containing a TLspImageProcessingStyle . |
static ILcyCustomizerPanelFactory |
createIndexColorModelStyleCustomizerPanelFactory(ILcyLucyEnv aLucyEnv)
Create a new
ILcyCustomizerPanelFactory which can create an
ILcyCustomizerPanel for a TLcyLspCustomizableStyleContext
wrapped around a TLspCustomizableStyle containing a TLspIndexColorModelStyle . |
static ILcyCustomizerPanelFactory |
createLabelStyleCustomizerPanelFactory(ILcyLucyEnv aLucyEnv)
Create a new
ILcyCustomizerPanelFactory which can create an
ILcyCustomizerPanel for a TLcyLspCustomizableStyleContext
wrapped around a TLspCustomizableStyle containing a TLspLabelBoxStyle . |
static ILcyCustomizerPanelFactory |
createLineStyleCustomizerPanelFactory(ILcyLucyEnv aLucyEnv)
Create a new
ILcyCustomizerPanelFactory which can create an
ILcyCustomizerPanel for a TLcyLspCustomizableStyleContext
wrapped around a TLspCustomizableStyle containing a TLspLineStyle . |
static ILcyCustomizerPanelFactory |
createParameterizedFillStyleCustomizerPanelFactory(ILcyLucyEnv aLucyEnv)
Create a new
ILcyCustomizerPanelFactory which can create an ILcyCustomizerPanel for a
TLcyLspCustomizableStyleContext wrapper around a TLspCustomizableStyle containing a
TLspParameterizedFillStyle . |
static ILcyCustomizerPanelFactory |
createParameterizedIconStyleCustomizerPanelFactory(ILcyLucyEnv aLucyEnv)
Create a new
ILcyCustomizerPanelFactory which can create an ILcyCustomizerPanel for a
TLcyLspCustomizableStyleContext wrapper around a TLspCustomizableStyle containing a
TLspParameterizedIconStyle . |
static ILcyCustomizerPanelFactory |
createParameterizedLineStyleCustomizerPanelFactory(ILcyLucyEnv aLucyEnv)
Create a new
ILcyCustomizerPanelFactory which can create an ILcyCustomizerPanel for a
TLcyLspCustomizableStyleContext wrapper around a TLspCustomizableStyle containing a
TLspParameterizedLineStyle . |
static ILcyCustomizerPanelFactory |
createPinLineStyleCustomizerPanelFactory(ILcyLucyEnv aLucyEnv)
Create a new
ILcyCustomizerPanelFactory which can create an
ILcyCustomizerPanel for a TLcyLspCustomizableStyleContext wrapped
around a TLspCustomizableStyle containing a TLspPinLineStyle . |
static ILcyCustomizerPanelFactory |
createPointCloudStyleCustomizerPanelFactory(ILcyLucyEnv aLucyEnv)
Create a new
ILcyCustomizerPanelFactory which can create an ILcyCustomizerPanel for a
TLcyLspCustomizableStyleContext wrapper around a TLspCustomizableStyle containing a
TLspPointCloudStyle . |
static ILcyCustomizerPanelFactory |
createRasterStyleCustomizerPanelFactory(ILcyLucyEnv aLucyEnv)
Create a new
ILcyCustomizerPanelFactory which can create an
ILcyCustomizerPanel for a TLcyLspCustomizableStyleContext
wrapped around a TLspCustomizableStyle containing a TLspRasterStyle . |
static ILcyCustomizerPanelFactory |
createTextStyleCustomizerPanelFactory(ILcyLucyEnv aLucyEnv)
Create a new
ILcyCustomizerPanelFactory which can create an
ILcyCustomizerPanel for a TLcyLspCustomizableStyleContext
wrapped around a TLspCustomizableStyle containing a TLspTextStyle . |
public static ILcyCustomizerPanelFactory createLineStyleCustomizerPanelFactory(ILcyLucyEnv aLucyEnv)
Create a new ILcyCustomizerPanelFactory
which can create an
ILcyCustomizerPanel
for a TLcyLspCustomizableStyleContext
wrapped around a TLspCustomizableStyle
containing a TLspLineStyle
.
The customizer panel create by this factory only supports
TLspLineStyle.DashPattern
instances
where the stipple pattern is one of the predefined patterns in TLspLineStyle.DashPattern
.
Note that the panel accepts both a single instance of a valid TLcyLspCustomizableStyleContext
as an array containing one or more valid TLcyLspCustomizableStyleContext
instances.
aLucyEnv
- The Lucy back-endpublic static ILcyCustomizerPanelFactory createFillStyleCustomizerPanelFactory(ILcyLucyEnv aLucyEnv)
Create a new ILcyCustomizerPanelFactory
which can create an
ILcyCustomizerPanel
for a TLcyLspCustomizableStyleContext
wrapped around a TLspCustomizableStyle
containing a TLspFillStyle
.
Note that the panel accepts both a single instance of a valid TLcyLspCustomizableStyleContext
as an array containing one or more valid TLcyLspCustomizableStyleContext
instances.
aLucyEnv
- The Lucy back-endpublic static ILcyCustomizerPanelFactory createIconStyleCustomizerPanelFactory(ILcyLucyEnv aLucyEnv)
Create a new ILcyCustomizerPanelFactory
which can create an
ILcyCustomizerPanel
for a TLcyLspCustomizableStyleContext
wrapped aroundTLspCustomizableStyleableStyle containing a TLspIconStyle
.
Note that the panel accepts both a single instance of a valid TLcyLspCustomizableStyleContext
as an array containing one or more valid TLcyLspCustomizableStyleContext
instances.
aLucyEnv
- The Lucy back-endpublic static ILcyCustomizerPanelFactory createTextStyleCustomizerPanelFactory(ILcyLucyEnv aLucyEnv)
Create a new ILcyCustomizerPanelFactory
which can create an
ILcyCustomizerPanel
for a TLcyLspCustomizableStyleContext
wrapped around a TLspCustomizableStyle
containing a TLspTextStyle
.
Note that the panel accepts both a single instance of a valid TLcyLspCustomizableStyleContext
as an array containing one or more valid TLcyLspCustomizableStyleContext
instances.
aLucyEnv
- The Lucy back-endpublic static ILcyCustomizerPanelFactory createRasterStyleCustomizerPanelFactory(ILcyLucyEnv aLucyEnv)
Create a new ILcyCustomizerPanelFactory
which can create an
ILcyCustomizerPanel
for a TLcyLspCustomizableStyleContext
wrapped around a TLspCustomizableStyle
containing a TLspRasterStyle
.
Note that the panel accepts both a single instance of a valid TLcyLspCustomizableStyleContext
as an array containing one or more valid TLcyLspCustomizableStyleContext
instances.
aLucyEnv
- The Lucy back-endpublic static ILcyCustomizerPanelFactory createLabelStyleCustomizerPanelFactory(ILcyLucyEnv aLucyEnv)
Create a new ILcyCustomizerPanelFactory
which can create an
ILcyCustomizerPanel
for a TLcyLspCustomizableStyleContext
wrapped around a TLspCustomizableStyle
containing a TLspLabelBoxStyle
.
Note that the panel accepts both a single instance of a valid TLcyLspCustomizableStyleContext
as an array containing one or more valid TLcyLspCustomizableStyleContext
instances.
aLucyEnv
- The Lucy back-endpublic static ILcyCustomizerPanelFactory createPinLineStyleCustomizerPanelFactory(ILcyLucyEnv aLucyEnv)
Create a new ILcyCustomizerPanelFactory
which can create an
ILcyCustomizerPanel
for a TLcyLspCustomizableStyleContext
wrapped
around a TLspCustomizableStyle
containing a TLspPinLineStyle
.
The customizer panel create by this factory only supports TLspLineStyle.DashPattern
instances
where the stipple pattern is one of the predefined patterns in TLspLineStyle.DashPattern
.
Note that the panel accepts both a single instance of a valid TLcyLspCustomizableStyleContext
as an array containing one or more valid TLcyLspCustomizableStyleContext
instances.
aLucyEnv
- The Lucy back-endpublic static ILcyCustomizerPanelFactory createDataObjectLabelTextProviderStyleCustomizerPanelFactory(ILcyLucyEnv aLucyEnv)
Create a new ILcyCustomizerPanelFactory
which can create an
ILcyCustomizerPanel
for a TLcyLspCustomizableStyleContext
wrapped around a TLspCustomizableStyle
containing a TLspDataObjectLabelTextProviderStyle
.
Note that the panel accepts both a single instance of a valid TLcyLspCustomizableStyleContext
as an array containing one or more valid TLcyLspCustomizableStyleContext
instances.
Also note that in case of an array, all TLcyLspCustomizableStyleContext
instances which contain a
TLspDataObjectLabelTextProviderStyle
and which contain layers with the same data model will be
affected by the customizer panel created by this factory.
If these multiple TLspDataObjectLabelTextProviderStyle
contexts contain layers with different
data models, no compatible ILcyCustomizerPanelFactory
can be created.
aLucyEnv
- The Lucy back-endpublic static ILcyCustomizerPanelFactory createImageProcessingStyleCustomizerPanelFactory(ILcyLucyEnv aLucyEnv)
Create a new ILcyCustomizerPanelFactory
which can create an ILcyCustomizerPanel
for a TLcyLspCustomizableStyleContext
wrapped around a TLspCustomizableStyle
containing a TLspImageProcessingStyle
.
The panel allows the user to manually perform band selection, or choose from a predefined set of band selection configurations
for layers which are created by a TLcyLspRasterFormat
.
aLucyEnv
- The Lucy back-endpublic static ILcyCustomizerPanelFactory createDensityLineStyleCustomizerPanelFactory(ILcyLucyEnv aLucyEnv)
Create a new ILcyCustomizerPanelFactory
which can create an
ILcyCustomizerPanel
for a TLcyLspCustomizableStyleContext
wrapped around a TLspCustomizableStyle
containing a TLspDensityLineStyle
.
Note that the panel accepts both a single instance of a valid TLcyLspCustomizableStyleContext
as an array containing one or more valid TLcyLspCustomizableStyleContext
instances.
aLucyEnv
- The Lucy back-endpublic static ILcyCustomizerPanelFactory createDensityFillStyleCustomizerPanelFactory(ILcyLucyEnv aLucyEnv)
Create a new ILcyCustomizerPanelFactory
which can create an
ILcyCustomizerPanel
for a TLcyLspCustomizableStyleContext
wrapped around a TLspCustomizableStyle
containing a TLspDensityFillStyle
.
Note that the panel accepts both a single instance of a valid TLcyLspCustomizableStyleContext
as an array containing one or more valid TLcyLspCustomizableStyleContext
instances.
aLucyEnv
- The Lucy back-endpublic static ILcyCustomizerPanelFactory createDensityPointStyleCustomizerPanelFactory(ILcyLucyEnv aLucyEnv)
Create a new ILcyCustomizerPanelFactory
which can create an
ILcyCustomizerPanel
for a TLcyLspCustomizableStyleContext
wrapped around a TLspCustomizableStyle
containing a TLspDensityPointStyle
.
Note that the panel accepts both a single instance of a valid TLcyLspCustomizableStyleContext
as an array containing one or more valid TLcyLspCustomizableStyleContext
instances.
aLucyEnv
- The Lucy back-endpublic static ILcyCustomizerPanelFactory createIndexColorModelStyleCustomizerPanelFactory(ILcyLucyEnv aLucyEnv)
Create a new ILcyCustomizerPanelFactory
which can create an
ILcyCustomizerPanel
for a TLcyLspCustomizableStyleContext
wrapped around a TLspCustomizableStyle
containing a TLspIndexColorModelStyle
.
Note that the panel accepts both a single instance of a valid TLcyLspCustomizableStyleContext
as an array containing one or more valid TLcyLspCustomizableStyleContext
instances.
aLucyEnv
- The Lucy back-endpublic static ILcyCustomizerPanelFactory createParameterizedLineStyleCustomizerPanelFactory(ILcyLucyEnv aLucyEnv)
Create a new ILcyCustomizerPanelFactory
which can create an ILcyCustomizerPanel
for a
TLcyLspCustomizableStyleContext
wrapper around a TLspCustomizableStyle
containing a
TLspParameterizedLineStyle
.
The panel does not work with arrays, only with single instances.
Currently, the panel only supports two types of expressions for the color, and is only available for layers with a specific data model.
Model requirements:
ILcdDataModelDescriptor
.TLcdDataProperty
which:Expression requirements:
There are two types of expressions that are supported:attribute
expression.
import static com.luciad.util.expression.TLcdExpressionFactory.*;
//This expression will use the color present in the data model to style the domain object with
TLcdDataProperty colorProperty = ...;
ILcdExpression<Color> colorExpression = attribute(Color.class, colorProperty);
import static com.luciad.util.expression.TLcdExpressionFactory.*;
//This expression will use the numeric value of the property to determine a color based on a TLcdColorMap
TLcdDataProperty numericProperty = ...;
TLcdColorMap colorMap = ...;
ILcdExpression<Color> colorExpression = mixmap(toFloat(attribute((Class<? extends Number>) numericProperty.getType().getInstanceClass(), aDataProperty)), colorMap);
aLucyEnv
- The Lucy back-endpublic static ILcyCustomizerPanelFactory createParameterizedFillStyleCustomizerPanelFactory(ILcyLucyEnv aLucyEnv)
Create a new ILcyCustomizerPanelFactory
which can create an ILcyCustomizerPanel
for a
TLcyLspCustomizableStyleContext
wrapper around a TLspCustomizableStyle
containing a
TLspParameterizedFillStyle
.
The panel does not work with arrays, only with single instances.
Currently, the panel only supports two types of expressions for the color, and is only available for layers with a specific data model.
Model requirements:
ILcdDataModelDescriptor
.TLcdDataProperty
which:Expression requirements:
There are two types of expressions that are supported:attribute
expression.
import static com.luciad.util.expression.TLcdExpressionFactory.*;
//This expression will use the color present in the data model to style the domain object with
TLcdDataProperty colorProperty = ...;
ILcdExpression<Color> colorExpression = attribute(Color.class, colorProperty);
import static com.luciad.util.expression.TLcdExpressionFactory.*;
//This expression will use the numeric value of the property to determine a color based on a TLcdColorMap
TLcdDataProperty numericProperty = ...;
TLcdColorMap colorMap = ...;
ILcdExpression<Color> colorExpression = mixmap(toFloat(attribute((Class<? extends Number>) numericProperty.getType().getInstanceClass(), aDataProperty)), colorMap);
aLucyEnv
- The Lucy back-endpublic static ILcyCustomizerPanelFactory createParameterizedIconStyleCustomizerPanelFactory(ILcyLucyEnv aLucyEnv)
Create a new ILcyCustomizerPanelFactory
which can create an ILcyCustomizerPanel
for a
TLcyLspCustomizableStyleContext
wrapper around a TLspCustomizableStyle
containing a
TLspParameterizedIconStyle
.
The panel does not work with arrays, only with single instances.
Currently, the panel only supports two types of expressions for the color, and is only available for layers with a specific data model.
Model requirements:
ILcdDataModelDescriptor
.TLcdDataProperty
which:Expression requirements:
There are two types of expressions that are supported:attribute
expression.
import static com.luciad.util.expression.TLcdExpressionFactory.*;
//This expression will use the color present in the data model to style the domain object with
TLcdDataProperty colorProperty = ...;
ILcdExpression<Color> colorExpression = attribute(Color.class, colorProperty);
import static com.luciad.util.expression.TLcdExpressionFactory.*;
//This expression will use the numeric value of the property to determine a color based on a TLcdColorMap
TLcdDataProperty numericProperty = ...;
TLcdColorMap colorMap = ...;
ILcdExpression<Color> colorExpression = mixmap(toFloat(attribute((Class<? extends Number>) numericProperty.getType().getInstanceClass(), aDataProperty)), colorMap);
aLucyEnv
- The Lucy back-endpublic static ILcyCustomizerPanelFactory createPointCloudStyleCustomizerPanelFactory(ILcyLucyEnv aLucyEnv)
Create a new ILcyCustomizerPanelFactory
which can create an ILcyCustomizerPanel
for a
TLcyLspCustomizableStyleContext
wrapper around a TLspCustomizableStyle
containing a
TLspPointCloudStyle
.
The panel does not work with arrays, only with single instances.
Currently, the panel only supports two types of expressions for the color and scale, and is only available for layers with a specific data model. The panel also supports adjusting the visibility of the objects for specific expressions.
Model requirements:
ILcdDataModelDescriptor
.TLcdDataProperty
which:
Color expression requirements (see TLspPointCloudStyle.getColor()
):
attribute
expression.
import static com.luciad.util.expression.TLcdExpressionFactory.*;
//This expression will use the color present in the data model to style the domain object with
TLcdDataProperty colorProperty = ...;
ILcdExpression<Color> colorExpression = attribute(Color.class, colorProperty);
import static com.luciad.util.expression.TLcdExpressionFactory.*;
//This expression will use the numeric value of the property to determine a color based on a TLcdColorMap
TLcdDataProperty numericProperty = ...;
TLcdColorMap colorMap = ...;
ILcdExpression<Color> colorExpression = mixmap(toFloat(attribute((Class<? extends Number>) numericProperty.getType().getInstanceClass(), aDataProperty)), colorMap);
Scale expression requirements (see TLspPointCloudStyle.getScale()
)
import static com.luciad.util.expression.TLcdExpressionFactory.*;
ILcdExpression<Float> scaleExpression = constant(0.5);
Visibility expression requirements (see TLspPointCloudStyle.getVisibility()
)
import static com.luciad.util.expression.TLcdExpressionFactory.*;
//Only accept objects for which the property value is less than or equal to a certain value
TLcdDataProperty numericProperty = ...;
Number upperLimit = ...;
ILcdExpression<Boolean> visibilityExpression =
lte(attribute((Class<? extends Number>) numericProperty.getType().getInstanceClass(), aDataProperty), upperLimit);
import static com.luciad.util.expression.TLcdExpressionFactory.*;
//Only accept objects for which the property value is greater than or equal to a certain value
TLcdDataProperty numericProperty = ...;
Number lowerLimit = ...;
ILcdExpression<Boolean> visibilityExpression =
gte(attribute((Class<? extends Number>) numericProperty.getType().getInstanceClass(), aDataProperty), lowerLimit);
import static com.luciad.util.expression.TLcdExpressionFactory.*;
//Only accept objects for which the property value is between an upper and lower limit
TLcdDataProperty numericProperty = ...;
ILcdExpression<? extends Number> numericPropertyExpression =
attribute((Class<? extends Number>) numericProperty.getType().getInstanceClass(), aDataProperty);
Number lowerLimit = ...;
Number upperLimit = ...;
ILcdExpression<Boolean> visibilityExpression =
and(lte(numericPropertyExpression, upperLimit),
gte(numericPropertyExpression, lowerLimit));
aLucyEnv
- The Lucy back-end