Class TLcyLspStyleCustomizerPanelFactories
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
- Since:
- 2012.0
-
Method Summary
Modifier and TypeMethodDescriptionstatic ILcyCustomizerPanelFactory
Create a newILcyCustomizerPanelFactory
which can create anILcyCustomizerPanel
for aTLcyLspCustomizableStyleContext
wrapped around aTLspCustomizableStyle
containing aTLspDataObjectLabelTextProviderStyle
.static ILcyCustomizerPanelFactory
Create a newILcyCustomizerPanelFactory
which can create anILcyCustomizerPanel
for aTLcyLspCustomizableStyleContext
wrapped around aTLspCustomizableStyle
containing aTLspDensityFillStyle
.static ILcyCustomizerPanelFactory
Create a newILcyCustomizerPanelFactory
which can create anILcyCustomizerPanel
for aTLcyLspCustomizableStyleContext
wrapped around aTLspCustomizableStyle
containing aTLspDensityLineStyle
.static ILcyCustomizerPanelFactory
Create a newILcyCustomizerPanelFactory
which can create anILcyCustomizerPanel
for aTLcyLspCustomizableStyleContext
wrapped around aTLspCustomizableStyle
containing aTLspDensityPointStyle
.static ILcyCustomizerPanelFactory
Create a newILcyCustomizerPanelFactory
which can create anILcyCustomizerPanel
for aTLcyLspCustomizableStyleContext
wrapped around aTLspCustomizableStyle
containing aTLspFillStyle
.static ILcyCustomizerPanelFactory
Create a newILcyCustomizerPanelFactory
which can create anILcyCustomizerPanel
for aTLcyLspCustomizableStyleContext
wrapped aroundTLspCustomizableStyleableStyle containing aTLspIconStyle
.static ILcyCustomizerPanelFactory
Create a newILcyCustomizerPanelFactory
which can create anILcyCustomizerPanel
for aTLcyLspCustomizableStyleContext
wrapped around aTLspCustomizableStyle
containing aTLspImageProcessingStyle
.static ILcyCustomizerPanelFactory
Create a newILcyCustomizerPanelFactory
which can create anILcyCustomizerPanel
for aTLcyLspCustomizableStyleContext
wrapped around aTLspCustomizableStyle
containing aTLspIndexColorModelStyle
.static ILcyCustomizerPanelFactory
Create a newILcyCustomizerPanelFactory
which can create anILcyCustomizerPanel
for aTLcyLspCustomizableStyleContext
wrapped around aTLspCustomizableStyle
containing aTLspLabelBoxStyle
.static ILcyCustomizerPanelFactory
Create a newILcyCustomizerPanelFactory
which can create anILcyCustomizerPanel
for aTLcyLspCustomizableStyleContext
wrapped around aTLspCustomizableStyle
containing aTLspLineStyle
.static ILcyCustomizerPanelFactory
Create a newILcyCustomizerPanelFactory
which can create anILcyCustomizerPanel
for aTLcyLspCustomizableStyleContext
wrapper around aTLspCustomizableStyle
containing aTLspParameterizedFillStyle
.static ILcyCustomizerPanelFactory
Create a newILcyCustomizerPanelFactory
which can create anILcyCustomizerPanel
for aTLcyLspCustomizableStyleContext
wrapper around aTLspCustomizableStyle
containing aTLspParameterizedIconStyle
.static ILcyCustomizerPanelFactory
Create a newILcyCustomizerPanelFactory
which can create anILcyCustomizerPanel
for aTLcyLspCustomizableStyleContext
wrapper around aTLspCustomizableStyle
containing aTLspParameterizedLineStyle
.static ILcyCustomizerPanelFactory
Create a newILcyCustomizerPanelFactory
which can create anILcyCustomizerPanel
for aTLcyLspCustomizableStyleContext
wrapped around aTLspCustomizableStyle
containing aTLspPinLineStyle
.static ILcyCustomizerPanelFactory
Create a newILcyCustomizerPanelFactory
which can create anILcyCustomizerPanel
for aTLcyLspCustomizableStyleContext
wrapper around aTLspCustomizableStyle
containing aTLspPointCloudStyle
.static ILcyCustomizerPanelFactory
Create a newILcyCustomizerPanelFactory
which can create anILcyCustomizerPanel
for aTLcyLspCustomizableStyleContext
wrapped around aTLspCustomizableStyle
containing aTLspRasterStyle
.static ILcyCustomizerPanelFactory
Create a newILcyCustomizerPanelFactory
which can create anILcyCustomizerPanel
for aTLcyLspCustomizableStyleContext
wrapped around aTLspCustomizableStyle
containing aTLspTextStyle
.
-
Method Details
-
createLineStyleCustomizerPanelFactory
public static ILcyCustomizerPanelFactory createLineStyleCustomizerPanelFactory(ILcyLucyEnv aLucyEnv) Create a new
ILcyCustomizerPanelFactory
which can create anILcyCustomizerPanel
for aTLcyLspCustomizableStyleContext
wrapped around aTLspCustomizableStyle
containing aTLspLineStyle
.The customizer panel create by this factory only supports
TLspLineStyle.DashPattern
instances where the stipple pattern is one of the predefined patterns inTLspLineStyle.DashPattern
.Note that the panel accepts both a single instance of a valid
TLcyLspCustomizableStyleContext
as an array containing one or more validTLcyLspCustomizableStyleContext
instances.- Parameters:
aLucyEnv
- The Lucy back-end- Returns:
- A customizer panel factory capable of creating customizer panels for line styles.
-
createFillStyleCustomizerPanelFactory
public static ILcyCustomizerPanelFactory createFillStyleCustomizerPanelFactory(ILcyLucyEnv aLucyEnv) Create a new
ILcyCustomizerPanelFactory
which can create anILcyCustomizerPanel
for aTLcyLspCustomizableStyleContext
wrapped around aTLspCustomizableStyle
containing aTLspFillStyle
.Note that the panel accepts both a single instance of a valid
TLcyLspCustomizableStyleContext
as an array containing one or more validTLcyLspCustomizableStyleContext
instances.- Parameters:
aLucyEnv
- The Lucy back-end- Returns:
- A customizer panel factory capable of creating customizer panels for fill styles.
-
createIconStyleCustomizerPanelFactory
public static ILcyCustomizerPanelFactory createIconStyleCustomizerPanelFactory(ILcyLucyEnv aLucyEnv) Create a new
ILcyCustomizerPanelFactory
which can create anILcyCustomizerPanel
for aTLcyLspCustomizableStyleContext
wrapped aroundTLspCustomizableStyleableStyle containing aTLspIconStyle
.Note that the panel accepts both a single instance of a valid
TLcyLspCustomizableStyleContext
as an array containing one or more validTLcyLspCustomizableStyleContext
instances.- Parameters:
aLucyEnv
- The Lucy back-end- Returns:
- A customizer panel factory capable of creating customizer panels for icon styles.
-
createTextStyleCustomizerPanelFactory
public static ILcyCustomizerPanelFactory createTextStyleCustomizerPanelFactory(ILcyLucyEnv aLucyEnv) Create a new
ILcyCustomizerPanelFactory
which can create anILcyCustomizerPanel
for aTLcyLspCustomizableStyleContext
wrapped around aTLspCustomizableStyle
containing aTLspTextStyle
.Note that the panel accepts both a single instance of a valid
TLcyLspCustomizableStyleContext
as an array containing one or more validTLcyLspCustomizableStyleContext
instances.- Parameters:
aLucyEnv
- The Lucy back-end- Returns:
- A customizer panel factory capable of creating customizer panels for text styles.
-
createRasterStyleCustomizerPanelFactory
public static ILcyCustomizerPanelFactory createRasterStyleCustomizerPanelFactory(ILcyLucyEnv aLucyEnv) Create a new
ILcyCustomizerPanelFactory
which can create anILcyCustomizerPanel
for aTLcyLspCustomizableStyleContext
wrapped around aTLspCustomizableStyle
containing aTLspRasterStyle
.Note that the panel accepts both a single instance of a valid
TLcyLspCustomizableStyleContext
as an array containing one or more validTLcyLspCustomizableStyleContext
instances.- Parameters:
aLucyEnv
- The Lucy back-end- Returns:
- A customizer panel factory capable of creating customizer panels for raster styles.
-
createLabelStyleCustomizerPanelFactory
public static ILcyCustomizerPanelFactory createLabelStyleCustomizerPanelFactory(ILcyLucyEnv aLucyEnv) Create a new
ILcyCustomizerPanelFactory
which can create anILcyCustomizerPanel
for aTLcyLspCustomizableStyleContext
wrapped around aTLspCustomizableStyle
containing aTLspLabelBoxStyle
.Note that the panel accepts both a single instance of a valid
TLcyLspCustomizableStyleContext
as an array containing one or more validTLcyLspCustomizableStyleContext
instances.- Parameters:
aLucyEnv
- The Lucy back-end- Returns:
- A customizer panel factory capable of creating customizer panels for label styles.
-
createPinLineStyleCustomizerPanelFactory
public static ILcyCustomizerPanelFactory createPinLineStyleCustomizerPanelFactory(ILcyLucyEnv aLucyEnv) Create a new
ILcyCustomizerPanelFactory
which can create anILcyCustomizerPanel
for aTLcyLspCustomizableStyleContext
wrapped around aTLspCustomizableStyle
containing aTLspPinLineStyle
.The customizer panel create by this factory only supports
TLspLineStyle.DashPattern
instances where the stipple pattern is one of the predefined patterns inTLspLineStyle.DashPattern
.Note that the panel accepts both a single instance of a valid
TLcyLspCustomizableStyleContext
as an array containing one or more validTLcyLspCustomizableStyleContext
instances.- Parameters:
aLucyEnv
- The Lucy back-end- Returns:
- A customizer panel factory capable of creating customizer panels for pin line styles.
-
createDataObjectLabelTextProviderStyleCustomizerPanelFactory
public static ILcyCustomizerPanelFactory createDataObjectLabelTextProviderStyleCustomizerPanelFactory(ILcyLucyEnv aLucyEnv) Create a new
ILcyCustomizerPanelFactory
which can create anILcyCustomizerPanel
for aTLcyLspCustomizableStyleContext
wrapped around aTLspCustomizableStyle
containing aTLspDataObjectLabelTextProviderStyle
.Note that the panel accepts both a single instance of a valid
TLcyLspCustomizableStyleContext
as an array containing one or more validTLcyLspCustomizableStyleContext
instances.Also note that in case of an array, all
TLcyLspCustomizableStyleContext
instances which contain aTLspDataObjectLabelTextProviderStyle
and which contain layers with the same data model will be affected by the customizer panel created by this factory. If these multipleTLspDataObjectLabelTextProviderStyle
contexts contain layers with different data models, no compatibleILcyCustomizerPanelFactory
can be created.- Parameters:
aLucyEnv
- The Lucy back-end- Returns:
- A customizer panel factory capable of creating customizer panels for data object label text provider styles.
-
createImageProcessingStyleCustomizerPanelFactory
public static ILcyCustomizerPanelFactory createImageProcessingStyleCustomizerPanelFactory(ILcyLucyEnv aLucyEnv) Create a new
ILcyCustomizerPanelFactory
which can create anILcyCustomizerPanel
for aTLcyLspCustomizableStyleContext
wrapped around aTLspCustomizableStyle
containing aTLspImageProcessingStyle
.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
.- Parameters:
aLucyEnv
- The Lucy back-end- Returns:
- a customizer panel factory capable of creating customizer panels for very specific image processing styles.
- Since:
- 2017.1
-
createDensityLineStyleCustomizerPanelFactory
public static ILcyCustomizerPanelFactory createDensityLineStyleCustomizerPanelFactory(ILcyLucyEnv aLucyEnv) Create a new
ILcyCustomizerPanelFactory
which can create anILcyCustomizerPanel
for aTLcyLspCustomizableStyleContext
wrapped around aTLspCustomizableStyle
containing aTLspDensityLineStyle
.Note that the panel accepts both a single instance of a valid
TLcyLspCustomizableStyleContext
as an array containing one or more validTLcyLspCustomizableStyleContext
instances.- Parameters:
aLucyEnv
- The Lucy back-end- Returns:
- A customizer panel factory capable of creating customizer panels for density line styles.
- Since:
- 2017.1
-
createDensityFillStyleCustomizerPanelFactory
public static ILcyCustomizerPanelFactory createDensityFillStyleCustomizerPanelFactory(ILcyLucyEnv aLucyEnv) Create a new
ILcyCustomizerPanelFactory
which can create anILcyCustomizerPanel
for aTLcyLspCustomizableStyleContext
wrapped around aTLspCustomizableStyle
containing aTLspDensityFillStyle
.Note that the panel accepts both a single instance of a valid
TLcyLspCustomizableStyleContext
as an array containing one or more validTLcyLspCustomizableStyleContext
instances.- Parameters:
aLucyEnv
- The Lucy back-end- Returns:
- A customizer panel factory capable of creating customizer panels for density fill styles.
- Since:
- 2017.1
-
createDensityPointStyleCustomizerPanelFactory
public static ILcyCustomizerPanelFactory createDensityPointStyleCustomizerPanelFactory(ILcyLucyEnv aLucyEnv) Create a new
ILcyCustomizerPanelFactory
which can create anILcyCustomizerPanel
for aTLcyLspCustomizableStyleContext
wrapped around aTLspCustomizableStyle
containing aTLspDensityPointStyle
.Note that the panel accepts both a single instance of a valid
TLcyLspCustomizableStyleContext
as an array containing one or more validTLcyLspCustomizableStyleContext
instances.- Parameters:
aLucyEnv
- The Lucy back-end- Returns:
- A customizer panel factory capable of creating customizer panels for density point styles.
- Since:
- 2017.1
-
createIndexColorModelStyleCustomizerPanelFactory
public static ILcyCustomizerPanelFactory createIndexColorModelStyleCustomizerPanelFactory(ILcyLucyEnv aLucyEnv) Create a new
ILcyCustomizerPanelFactory
which can create anILcyCustomizerPanel
for aTLcyLspCustomizableStyleContext
wrapped around aTLspCustomizableStyle
containing aTLspIndexColorModelStyle
.Note that the panel accepts both a single instance of a valid
TLcyLspCustomizableStyleContext
as an array containing one or more validTLcyLspCustomizableStyleContext
instances.- Parameters:
aLucyEnv
- The Lucy back-end- Returns:
- A customizer panel factory capable of creating customizer panels for index color model styles.
- Since:
- 2017.1
-
createParameterizedLineStyleCustomizerPanelFactory
public static ILcyCustomizerPanelFactory createParameterizedLineStyleCustomizerPanelFactory(ILcyLucyEnv aLucyEnv) Create a new
ILcyCustomizerPanelFactory
which can create anILcyCustomizerPanel
for aTLcyLspCustomizableStyleContext
wrapper around aTLspCustomizableStyle
containing aTLspParameterizedLineStyle
.The panel does not work with arrays, only with single instances.
Prerequisites
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:
- The model has an
ILcdDataModelDescriptor
. - The model only uses a single model element type.
- That model element type has at least one
TLcdDataProperty
which:
Expression requirements:
There are two types of expressions that are supported:-
When the data model contains a color property, this color property can be used in an
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);
-
When the data model contains a numeric property, this numeric property can be used in combination with
a color map to determine a color for each domain object, based on the value of the numeric property.
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);
- Parameters:
aLucyEnv
- The Lucy back-end- Returns:
- A customizer panel factory capable of creating customizer panels for parameterized line styles.
- Since:
- 2018.0
- The model has an
-
createParameterizedFillStyleCustomizerPanelFactory
public static ILcyCustomizerPanelFactory createParameterizedFillStyleCustomizerPanelFactory(ILcyLucyEnv aLucyEnv) Create a new
ILcyCustomizerPanelFactory
which can create anILcyCustomizerPanel
for aTLcyLspCustomizableStyleContext
wrapper around aTLspCustomizableStyle
containing aTLspParameterizedFillStyle
.The panel does not work with arrays, only with single instances.
Prerequisites
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:
- The model has an
ILcdDataModelDescriptor
. - The model only uses a single model element type.
- That model element type has at least one
TLcdDataProperty
which:
Expression requirements:
There are two types of expressions that are supported:-
When the data model contains a color property, this color property can be used in an
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);
-
When the data model contains a numeric property, this numeric property can be used in combination with
a color map to determine a color for each domain object, based on the value of the numeric property.
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);
- Parameters:
aLucyEnv
- The Lucy back-end- Returns:
- A customizer panel factory capable of creating customizer panels for parameterized fill styles.
- Since:
- 2018.0
- The model has an
-
createParameterizedIconStyleCustomizerPanelFactory
public static ILcyCustomizerPanelFactory createParameterizedIconStyleCustomizerPanelFactory(ILcyLucyEnv aLucyEnv) Create a new
ILcyCustomizerPanelFactory
which can create anILcyCustomizerPanel
for aTLcyLspCustomizableStyleContext
wrapper around aTLspCustomizableStyle
containing aTLspParameterizedIconStyle
.The panel does not work with arrays, only with single instances.
Prerequisites
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:
- The model has an
ILcdDataModelDescriptor
. - The model only uses a single model element type.
- That model element type has at least one
TLcdDataProperty
which:
Expression requirements:
There are two types of expressions that are supported:-
When the data model contains a color property, this color property can be used in an
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);
-
When the data model contains a numeric property, this numeric property can be used in combination with
a color map to determine a color for each domain object, based on the value of the numeric property.
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);
- Parameters:
aLucyEnv
- The Lucy back-end- Returns:
- A customizer panel factory capable of creating customizer panels for parameterized icon styles.
- Since:
- 2018.0
- The model has an
-
createPointCloudStyleCustomizerPanelFactory
public static ILcyCustomizerPanelFactory createPointCloudStyleCustomizerPanelFactory(ILcyLucyEnv aLucyEnv) Create a new
ILcyCustomizerPanelFactory
which can create anILcyCustomizerPanel
for aTLcyLspCustomizableStyleContext
wrapper around aTLspCustomizableStyle
containing aTLspPointCloudStyle
.The panel does not work with arrays, only with single instances.
Prerequisites
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:
- The model has an
ILcdDataModelDescriptor
. - The model only uses a single model element type.
- That model element type has at least one
TLcdDataProperty
which:
Color expression requirements (see
There are two types of expressions that are supported:TLspPointCloudStyle.getColor()
):-
When the data model contains a color property, this color property can be used in an
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);
-
When the data model contains a numeric property, this numeric property can be used in combination with
a color map to determine a color for each domain object, based on the value of the numeric property.
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
The only supported scale expression is a constant:TLspPointCloudStyle.getScale()
)import static com.luciad.util.expression.TLcdExpressionFactory.*; ILcdExpression<Float> scaleExpression = constant(0.5);
Visibility expression requirements (see
Adjusting the visibility is only supported for numeric properties. There are three types of visibility expressions that are supported for such properties:TLspPointCloudStyle.getVisibility()
)-
Only define an upper limit:
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);
-
Only define a lower limit:
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);
-
Define an upper and lower limit for the same property:
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));
- Parameters:
aLucyEnv
- The Lucy back-end- Returns:
- A customizer panel factory capable of creating customizer panels for point cloud styles.
- Since:
- 2018.0
- The model has an
-