public class TLspSnapperStyler extends ALspStyler
TLspSnapOperation
instances. By default this styler uses DEFAULT_ICON_STYLE
to style snap operations which support TLspSnapperGeometryType.POINT
.Modifier and Type | Field and Description |
---|---|
static TLspIconStyle |
DEFAULT_ICON_STYLE
The default icon style used to visualize points highlighted by
TLspPointToPointSnapper |
Constructor and Description |
---|
TLspSnapperStyler()
Creates a new snapper styler.
|
Modifier and Type | Method and Description |
---|---|
void |
setStyles(TLspSnapperGeometryType aType,
List<ALspStyle> aStyles)
Assigns a set of styles to the given component type.
|
void |
style(Collection<?> aObjects,
ALspStyleCollector aStyleCollector,
TLspContext aContext)
Styles the objects or labels contained in
aObjects using the methods provided
by ALspStyleCollector . |
addStyleChangeListener, fireStyleChangeEvent, fireStyleChangeEvent, removeStyleChangeListener
public static final TLspIconStyle DEFAULT_ICON_STYLE
TLspPointToPointSnapper
public void setStyles(TLspSnapperGeometryType aType, List<ALspStyle> aStyles)
aType
- the snapper geometry typeaStyles
- the styles to be applied for this type.public void style(Collection<?> aObjects, ALspStyleCollector aStyleCollector, TLspContext aContext)
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.
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.