API / geotoolkit / axis / TickGenerator / TickGenerator
axis.TickGenerator.TickGenerator
Define a base class for tick generators. Toolkit provides several tick generators to help generate numeric labels.
It generates ticks and labels based on the tick info and tickgrades. Axis uses the TickGenerator while creating the axis. Please refer to Axes and Grids Tutorial in CarnacJS for examples of the different tick generators supported.
A tick generator mainly provides the positions of sequential ticks as well as the informational data associated with tick positions.
↳
TickGenerator
Constructors
Methods
Css Properties
| Name | Type | Description |
|---|---|---|
labelstyles | TextStyle | An object containing label style for specified grades |
labelstyles-alignment | AlignmentStyle | Alignment |
labelstyles-autosize | boolean | Auto font size on high definition display |
labelstyles-background | string | Background style |
labelstyles-background | FillStyle | Background style |
labelstyles-background-color | string | Color in CSS form |
labelstyles-background-evenoddmode | boolean | Even-odd fill mode |
labelstyles-background-fillpattern | Pattern | Pattern |
labelstyles-background-fillpattern-containername | string | An optional container name, which creates an image pattern. This parameter is used for serialization if you want to save are reference to pattern instead of the pattern itself |
labelstyles-background-fillpattern-patternname | string | Name of this pattern for indexing |
labelstyles-background-fillpattern-scalable | boolean | Flag that sets scalability of the pattern coordinates, or relative to the shape it is filling (It is not supported) |
labelstyles-background-foreground | string | Foreground color |
labelstyles-background-pattern | Pattern | Pattern |
labelstyles-baseline | BaseLineStyle | Base line |
labelstyles-color | string | Color in CSS form |
labelstyles-fill | FillStyle | Text fill style |
labelstyles-font | string | Font see |
labelstyles-fonturl | string | The place from which the font will be loaded, if null - uses system fonts. It can be base64 with url keyword |
labelstyles-lineheight | string | number | Line height |
labelstyles-multiline | boolean | Allow multi-line text |
labelstyles-outline | string | Outline style |
labelstyles-outline | LineStyle | Outline style |
labelstyles-outline-color | string | Color in CSS form |
labelstyles-outline-fill | string | Optional fill style to be used to fill lines generated with this style |
labelstyles-outline-fill | FillStyle | Optional fill style to be used to fill lines generated with this style |
labelstyles-outline-linecap | CapStyle | The line cap style |
labelstyles-outline-linedashoffset | number | Line dash offset of dashed line |
labelstyles-outline-linejoin | JoinStyle | The line join style |
labelstyles-outline-pixelsnapmode | boolean | Pixel Snap Mode, default( |
labelstyles-outline-scalable | boolean | True if width should depend on transformation |
labelstyles-outline-unit | string | Optional unit for the width |
labelstyles-outline-width | number | string | The line thickness |
labelstyles-overflowwrap | OverflowWrapStyle | Overflow wrap |
labelstyles-strikethrough | string | Strikethrough style |
labelstyles-strikethrough | LineStyle | Strikethrough style |
labelstyles-textoverflow | TextOverflowStyle | Text overflow |
labelstyles-underline | string | Underline style |
labelstyles-underline | LineStyle | Underline style |
labelstyles-underlineoffset | string | number | Underline offset distance |
labelstyles-whitespace | WhiteSpaceStyle | White space |
labelstyles-wordbreak | WordBreakStyle | Word break |
tag | any | Tag user can specify info associated with current object |
tickstyles | LineStyle | An object containing tick styles for specified grades |
Constructors
• new TickGenerator(options?)
| Name | Type |
|---|---|
Optional options | Options |
EventDispatcher.constructor
Methods
▸ clone(): TickGenerator
All subclasses should override copyConstructor or provide custom implementation for this method
clone
▸ connectStyle(style, type, callback): TickGenerator
Connects style.
This convenience method subscribes a listener to given style for the specified type.
And automatically un-subscribes listener if node is disposed to prevent memory leaks
| Name | Type | Description |
|---|---|---|
style | EventDispatcher | connect style |
type | string | type of event or property |
callback | AttributeCallback<EventDispatcher> | function to be called |
▸ Protected copyConstructor(src, deepCopy?): TickGenerator
Copy constructor
| Name | Type | Description |
|---|---|---|
src | TickGenerator | Source to copy from |
Optional deepCopy | boolean | deep copy |
this
▸ disconnectStyle(style, type, callback): TickGenerator
Disconnect style
This convenience method un-subscribes a listener to given style for the specified type.
| Name | Type | Description |
|---|---|---|
style | EventDispatcher | connect style |
type | string | type of event or property |
callback | AttributeCallback<EventDispatcher> | function to be called |
IStyleListener.disconnectStyle
▸ dispose(): void
Disposes this node, once disposes a node should not be used anymore.
Clear all listeners, and disconnect styles to avoid memory leaks.
Also aggressively 'cleanup' this node by setting some of its members to null.
void
▸ execute(delegate): TickGenerator
Executes delegate and returns the result
| Name | Type | Description |
|---|---|---|
delegate | (this: TickGenerator) => void | execute delegate and return the result |
▸ execute<T>(delegate): T
| Name |
|---|
T |
| Name | Type |
|---|---|
delegate | (this: TickGenerator) => T |
T
▸ formatLabel(parent, orient, tickInfo, tickIndex, modelValue): string
Formats label text. This method must be overridden in the base classes and the the base class method must be called first.
| Name | Type | Description |
|---|---|---|
parent | IModel | parent axis or grid |
orient | Orientation | orientation |
tickInfo | TickInfo | an info about tick |
tickIndex | number | tickIndex tick index from 0 to count-1, which resetLabels returns |
modelValue | number | model value |
string
formatted label text
▸ getAdjustLabelAnchor(grade): boolean
Gets adjust label anchor flag for specified label grade
| Name | Type | Description |
|---|---|---|
grade | string | label grade |
boolean
label anchor flag ("true" by default for any grade)
▸ getBoundingBox(tickInfo, orient, labelPos, labelText?): Rect
Returns bounding box of label
| Name | Type | Description |
|---|---|---|
tickInfo | TickInfo | info about the tick |
orient | Orientation | orientation |
labelPos | number | label position along index direction |
Optional labelText | string | label text. If not defined labelPos.toString() is used. |
bbox bounding box
▸ getClassName(): string
string
▸ getFormatLabelHandler(): LabelFormatHandler
Returns label format handler
▸ getGrades(): string[]
Returns valid Tick string : "edge", "major", "intermediate", "minor"
string[]
array of known Tick string
▸ Protected getInvalidateMethod(): AttributeCallback<EventDispatcher>
invalidate Method
AttributeCallback<EventDispatcher>
method to invalidate this object
▸ getLabelAnchorType(grade, transformation?): AnchorType
Gets label anchor type
| Name | Type | Description |
|---|---|---|
grade | string | tick grade |
Optional transformation | Transformation | optional transformation from model to device. It is used only for custom label anchor handler |
▸ getLabelRotationAngle(tickGrade): number
Returns label rotation angle
| Name | Type | Description |
|---|---|---|
tickGrade | string | Tick grade see TickGenerator.getGrades for valid Tick types |
number
label rotation angle
▸ getLabelStyle(tickGrade): TextStyle
Returns label style
| Name | Type | Description |
|---|---|---|
tickGrade | string | Tick grade see TickGenerator.getGrades for valid Tick types |
label style
▸ getLabelValueTransformer(): ValueTransformer | (modelValue: number) => number
Gets label value transformer (by default: 'undefined' - no transformation is applied to a value)
ValueTransformer | (modelValue: number) => number
transformer label value transformer
▸ getMaxLabelMetrics(parent, orientation, tickInfo, fromValue, toValue): Dimension
Returns maximum label metrics. For internal use only
| Name | Type | Description |
|---|---|---|
parent | IModel | parent axis or grid |
orientation | Orientation | orientation |
tickInfo | TickInfo | info about tick position |
fromValue | number | generate labels from |
toValue | number | generate labels to |
▸ Protected getMaxLabels(tickInfo, orient, fromValue, toValue): { type: string ; value: string | number }[]
Returns max labels for each type of grades
| Name | Type | Description |
|---|---|---|
tickInfo | TickInfo | info about the tick |
orient | Orientation | orientation |
fromValue | number | generate labels from |
toValue | number | generate labels to |
{ type: string ; value: string | number }[]
▸ getNeatLimits(min, max, options): Limits
Return nice limits, default implementation is for linear model space
| Name | Type |
|---|---|
min | number |
max | number |
options | Object |
Optional options.precise | boolean |
options.size | number |
options.span | number |
INeatLimitsProvider.getNeatLimits
▸ getProperties(): OptionsOut
Gets all the properties pertaining to this object
properties
▸ getTag(): any
Returns tag
any
the tag
▸ getTickSize(grade): number
Returns the size of specified tick
| Name | Type | Description |
|---|---|---|
grade | string | Grade of the tick to get the size see TickGenerator.getGrades for valid Tick types |
number
▸ getTickStyle(tickGrade): LineStyle
Returns tick style
| Name | Type | Description |
|---|---|---|
tickGrade | string | Tick Grade see TickGenerator.getGrades for valid Tick types |
line style
▸ getVisibleLabelGrades(supported): string[]
Return an array of the visible label grades
| Name | Type | Description |
|---|---|---|
supported | string[] | supported grades see TickGenerator.getGrades for valid Tick types |
string[]
the visible grades
▸ getVisibleTickGrades(supported): string[]
Returns an array of the visible tick grades
| Name | Type | Description |
|---|---|---|
supported | string[] | supported grades see TickGenerator.getGrades for valid Tick types |
string[]
the visible grades
▸ hasEventListener(type, callback?): boolean
Check if a list of event listeners for this type contains this listener
| Name | Type | Description |
|---|---|---|
type | string | type of event or property |
Optional callback | Function | to be called, if null, check if any callback is registered |
boolean
EventDispatcher.hasEventListener
▸ isDisposed(): boolean
Returns whether this object has been disposed
boolean
▸ isSilent(): boolean
Return true if the event dispatcher doesn't notify any events
boolean
▸ isValid(parent, orient, tickInfo): boolean
Verify tick generator parameters to have better label distribution
| Name | Type | Description |
|---|---|---|
parent | IModel | parent axis or grid |
orient | Orientation | orientation |
tickInfo | TickInfo | tick info |
boolean
true if no label intersection
▸ isVisibleLabelGrade(tickGrade): boolean
Returns visibility of label for a specific tick grade
| Name | Type | Description |
|---|---|---|
tickGrade | string | Tick grade see TickGenerator.getGrades for valid Tick types |
boolean
true if label is visible
▸ isVisibleTickGrade(tickGrade): boolean
Returns visibility of tick for a specific tick grade
| Name | Type | Description |
|---|---|---|
tickGrade | string | Tick grade see TickGenerator.getGrades for valid Tick types |
boolean
true if the tick is visible
▸ nextLabel(parent, orient, tickInfo, tickIndex): number
Generates information about next label
| Name | Type | Description |
|---|---|---|
parent | IModel | parent axis or grid |
orient | Orientation | orientation |
tickInfo | TickInfo | info about tick |
tickIndex | number | tickIndex tick index from 0 to count-1, which resetLabels returns |
number
the model position of the label
▸ nextTick(parent, orient, tickInfo, tickIndex): number
Generates information about next tick
| Name | Type | Description |
|---|---|---|
parent | IModel | parent axis or grid |
orient | Orientation | orientation |
tickInfo | TickInfo | info about tick |
tickIndex | number | tick index from 0 to count-1, which resetTicks returns |
number
the model position of the tick
▸ notify<E>(type, source, args?): TickGenerator
Notify listeners
| Name | Type |
|---|---|
E | extends string |
| Name | Type | Description |
|---|---|---|
type | E | event types |
source | TickGenerator | of the event |
Optional args | EventMap[E] | arguments of the event |
this
▸ off<E>(type?, callback?): TickGenerator
Detach listener on event. Calling .off() with no arguments removes all attached listeners. Calling .off(type) with no callback removes all attached listeners for specific type.
| Name | Type |
|---|---|
E | extends string |
| Name | Type | Description |
|---|---|---|
Optional type | E | type of the event |
Optional callback | (eventType: E, sender: TickGenerator, args: EventMap[E]) => void | function to be called |
this
▸ on<E>(type, callback): TickGenerator
Attach listener on event that will be called whenever the specified event is delivered to the target
If the callback function is already in the list of event listeners for this target, the function is not added a second time.
If a particular anonymous function is in the list of event listeners registered for a certain target, and then later in the code, an identical anonymous function is given in an "on" call, the second function will also be added to the list of event listeners for that target.
| Name | Type |
|---|---|
E | extends string |
| Name | Type | Description |
|---|---|---|
type | E | type of event or property |
callback | (eventType: E, sender: TickGenerator, args: EventMap[E]) => void | to be called |
this
▸ reset(parent, orient, tickInfo): string[]
Resets tick generator
| Name | Type | Description |
|---|---|---|
parent | IModel | parent axis or grid |
orient | Orientation | orientation |
tickInfo | TickInfo | tick info |
string[]
a supported tick grade list
▸ resetAsync(parent, orient, tickInfo, callback): void
Resets tick generator asynchronously
| Name | Type | Description |
|---|---|---|
parent | IModel | parent axis or grid |
orient | Orientation | orientation |
tickInfo | TickInfo | tick info |
callback | (x: string[]) => void | calls when asynchronous reset is done |
void
▸ resetLabels(parent, orient, tickInfo): number
Reset labels. This method is called to start iteration by labels. The implementation also sets appropriate TextStyle on labels.
| Name | Type | Description |
|---|---|---|
parent | IModel | parent axis or grid |
orient | Orientation | orientation |
tickInfo | TickInfo | an info about labels. This information is used to pass and receive information about the current tick or label |
number
labels count for the current tick type
▸ resetMaxLabels(): TickGenerator
Reset max label info
this
▸ resetTicks(parent, orient, tickInfo): number
Resets ticks. This method is called to start iteration by ticks. The implementation also sets appropriate LineStyle on the ticks as well as their tick size.
| Name | Type | Description |
|---|---|---|
parent | IModel | parent axis or grid |
orient | Orientation | orientation |
tickInfo | TickInfo | an info about labels. This information is used to pass and receive information about the current tick or label |
number
ticks count for the current tick type. The implementation returns 0 if the ticks can not be drawn; a positive number otherwise.
▸ setAdjustLabelAnchor(grade, flag): TickGenerator
Sets adjust label anchor flag for specified label grade
| Name | Type | Description |
|---|---|---|
grade | string | label grade |
flag | boolean | adjust label anchor flag |
this
▸ setFormatLabelHandler(handler): TickGenerator
Sets label format handler
| Name | Type | Description |
|---|---|---|
handler | LabelFormatHandler | handler |
this
▸ setLabelAnchorType(grade, anchorType): TickGenerator
Sets label anchor type
| Name | Type | Description |
|---|---|---|
grade | string | tick grade |
anchorType | AnchorType | AnchorStyleHandler | anchorType |
this
▸ setLabelRotationAngle(tickGrade, angle): TickGenerator
Sets label rotation angle
Example
// user can customize the label rotation angle based on tick grade.
tickGenerator.setLabelRotationAngle('major', -Math.PI / 2);| Name | Type | Description |
|---|---|---|
tickGrade | string | Tick grade see TickGenerator.getGrades for valid Tick types |
angle | number | label rotation angle, in radians |
this
▸ setLabelStyle(tickGrade, labelStyle?, merge?): TickGenerator
Sets label style
| Name | Type | Description |
|---|---|---|
tickGrade | string | Tick grade see TickGenerator.getGrades for valid Tick types |
Optional labelStyle | Type | tick text style |
Optional merge | boolean | true if you want to merge labelStyle with existing attribute, false by default |
this
▸ setLabelValueTransformer(transformer): TickGenerator
Sets label value transformer (optional)
| Name | Type | Description |
|---|---|---|
transformer | ValueTransformer | (modelValue: number) => number | label value transformer |
this
▸ setProperties(properties?): TickGenerator
Sets all the properties pertaining to this object
| Name | Type | Description |
|---|---|---|
Optional properties | Options | An object containing the properties to set |
this
▸ setSilent(bool): TickGenerator
Set silent mode
| Name | Type | Description |
|---|---|---|
bool | boolean | flag to enable silent mode |
this
▸ setTag(tag): TickGenerator
Sets tag
| Name | Type | Description |
|---|---|---|
tag | any | user can specify info associated with current object |
this
▸ setTickOptions(properties?, tickGrade?): TickGenerator
Sets all the properties pertaining to this tick
| Name | Type | Description |
|---|---|---|
Optional properties | Record<string, TickOptions> | An object containing the properties to set |
Optional tickGrade | string | Tick grade |
this
▸ setTickSize(grade, size): TickGenerator
Changes the size of specified ticks
| Name | Type | Description |
|---|---|---|
grade | string | Grade of the tick to set the size see TickGenerator.getGrades for valid Tick types |
size | number | New size |
this
▸ setTickStyle(tickGrade, lineStyle?, merge?): TickGenerator
Sets tick style
| Name | Type | Description |
|---|---|---|
tickGrade | string | Tick grade see TickGenerator.getGrades for valid Tick types |
Optional lineStyle | Type | line style for the tick |
Optional merge | boolean | true if you want to merge lineStyle with existing attribute, false by default |
this
▸ setVisibleLabelGrade(tickGrade, visible): TickGenerator
Sets visibility of label for a specific tick grade Implementation of the reset should check visibility of the labels.
| Name | Type | Description |
|---|---|---|
tickGrade | string | Tick grade see TickGenerator.getGrades for valid Tick types |
visible | boolean | tick label visibility flag |
this
▸ setVisibleTickGrade(tickGrade, visible): TickGenerator
Sets visibility of tick for a specific tick grade Implementation of the reset should check visibility of the ticks
| Name | Type | Description |
|---|---|---|
tickGrade | string | Tick grade see TickGenerator.getGrades for valid Tick types |
visible | boolean | tick grade visibility flag |
this
▸ Static getClassName(): string
string