API / geotoolkit / widgets / CrossPlot / CrossPlot
NOTE: will be deprecated in future version, for new projects geotoolkit/charts/widgets/ChartWidget should be used instead
The crossplot widget is an annotated widget that is specialized for cross plot representations.
Cross plot is a two dimensional chart, that uses horizontal and vertical axes to plot the data points.
Cross plot shows how much one variable is affected by another. The relationship between two variables is called their correlation.
Cross plots usually consist of a large body of data.
It uses [CrossPlot](../classes/geotoolkit.controls.shapes-1.crossplot.crossplot.md) internally. setOptions() API can be used to configure and customize the widget. It provides a comprehensible way of changing the default look and feel of the widget.
It reuses the default tools provided by the [AnnotatedWidget](../classes/geotoolkit.widgets-1.annotatedwidget.annotatedwidget.md) and customizes them for crossplot related operations.
It also provides utility functions to highlight points in a given area (or by index)
Selection function not only selects crossplot shapes but also provides selected point index.
The crossplot can represent 3 dimesions: X, Y, and color of datasets. By default, crossplot can contain only a single dataset. Another dataset could also be added on top of it as long as its modellimits and bounds are also managed independently. The color of each point can be defined using a [ColorProvider](../classes/geotoolkit.util.colorprovider.colorprovider.md) (refer to the example in setData() method) and the corresponding [ColorBar](../classes/geotoolkit.controls.shapes-1.colorbar.colorbar.md) can be displayed.
Example
import {CirclePainter} from '@int/geotoolkit/scene/shapes/painters/CirclePainter';
import {DiscreteGradientColorProvider} from '@int/geotoolkit/util/DiscreteGradientColorProvider';
import {CrossPlot} from '@int/geotoolkit/widgets/CrossPlot';
import {KnownScales} from '@int/geotoolkit/util/ColorProvider';
const widget = new CrossPlot({
'name': 'Crossplot',
'tools': {
'horizontalscroll': {
'visible': false
},
'verticalscroll': {
'visible': false
}
},
'x': {
'label': {
'text': 'x axis'
},
'annotationsize': 40
},
'y': {
'label': {
'text': 'y axis'
},
'annotationsize': 50
},
'z': {
'annotationsize': 20
}
});
widget.setData({
'header': {
'title': {
'visible': false
},
'annotationsize': 20
},
'x': {
'data': [1.8, 3, 4.4, 5, 6.8, 5.5, 6.7, 6, 3.8, 4, 2.8, 6.5, 6, 7.5, 8, 8.5, 8, 6.2, 9, 2, 6.5, 6.9, 6.2,
6, 4.7, 4, 5.3, 5.4, 5, 4.4, 5, 4.2, 7.6, 8, 9, 3, 2, 3.6, 7, 8, 9.5, 9.2, 9],
'unit': 'ft',
'label': {
'text': 'X axis'
},
'neatlimits': true
},
'y': {
'data': [3, 5, 7, 6.8, 6.4, 7.6, 7, 5, 4, 8, 8.7, 7.4, 5.5, 5, 6, 7, 3, 1.6, 3, 6.5, 4, 5, 6, 8,
7, 6.7, 5, 6.5, 3, 4.5, 7.9, 7, 2, 3, 6.8, 8, 5, 8.4, 4, 6, 2, 4, 8],
'unit': 'ft',
'label': {
'text': 'Y axis'
},
'neatlimits': true
},
'z': {
'data': [1, 3, 1, 2, 6, 4.5, 5, 2, 4, 7, 3, 6, 1, 2, 4, 2, 6, 2, 4, 5, 3, 9, 8, 7, 2, 3,
4, 2, 6, 3, 2, 3, 6, 7, 9, 3, 5, 5, 1, 2, 1, 1, 3, 6, 10],
'unit': 'ft',
'min': 0,
'max': 10,
'label': {
'text': 'Z color'
},
'legendvisible': true,
'annotationsize': 85
},
'colorprovider': new DiscreteGradientColorProvider({'bins': 255}).setScale(KnownScales.Orange, 1, 10),
'marker': {
'size': 8,
'painter': CirclePainter
}
});↳
CrossPlot
Constructors
Methods
Css Properties
| Name | Type | Description |
|---|---|---|
bounds | Rect | Bounds |
bounds-height | number | Height |
bounds-readonly | boolean | Readonly |
bounds-width | number | Width |
bounds-x | number | Left |
bounds-y | number | Top |
colorprovider | ColorProvider | ColorProvider used to color the data |
colorprovider-max | number | |
colorprovider-min | number | |
colorprovider-scale | KnownScales | |
header | HeaderOptions | JSON which defines header area |
header-annotationsize | number | string | Height of header |
header-title | Options | JSON which defines main title |
header-title-cssclass | string | The css class name of this node |
header-title-id | string | number | Id of the node, its a unique identifier |
header-title-name | string | Name of the node. It is often used for debugging purposes or to simplify queries |
header-title-selectable | boolean | Selectable node, a boolean to determine if selection should consider this node |
header-title-tag | any | Custom information associated with node. It is a user object which can be used by client code to store information or attach an application object to the shape |
header-title-visible | boolean | Visibility of the node, a boolean to determine if the node should be rendered or not |
header-title-z-index | number | Define node z-index |
header-title | Options | JSON which defines main title |
header-title-clipstyle | ClipStyle | Clipping style |
header-title-clipstyle-evenodd | boolean | True if evenodd mode is on ('nonzero' mode otherwise) |
header-title-clipstyle-geometry | GraphicsPath | Clipping geometry |
header-title-clipstyle-geometry-bounds | Rect | Bounds |
header-title-clipstyle | GraphicsPath | Clipping style |
header-title-csscursor | string | CSS cursor associated with node |
header-title-cssstyle | string | CSS style to be applied to inserted elements |
header-title-localtransform | Transformation | Local transformation |
header-title-localtransform-dx | number | X axis translation |
header-title-localtransform-dy | number | Y axis translation |
header-title-localtransform-xx | number | X scale |
header-title-localtransform-xy | number | Xy skew |
header-title-localtransform-yx | number | Yx skew |
header-title-localtransform-yy | number | Y scale |
header-title-margins | number | string | It has properties for specifying the margins for each side |
header-title-opacity | number | Node opacity (from 0 to 1). If it is undefined or null it inherits property from the parent. It changes globalAlpha on the rendering context |
header-title-opacityblendmode | BlendMode | Node opacity mode to blend it |
header-title-scalescrollstrategy | ScaleScrollStrategy | Scale scroll strategy |
header-title-scalescrollstrategy-enabled | boolean | Enable flag |
header-title-transform | string | Additional CSS transformation applied to node or 'none' |
header-title-transform | Transformation | Additional CSS transformation applied to node or 'none' |
header-title | Options | JSON which defines main title |
header-title-fillstyle | string | Style applied on fill |
header-title-fillstyle | FillStyle | Style applied on fill |
header-title-fillstyle-color | string | Color in CSS form |
header-title-fillstyle-evenoddmode | boolean | Even-odd fill mode |
header-title-fillstyle-fillpattern | Pattern | Pattern |
header-title-fillstyle-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 |
header-title-fillstyle-fillpattern-patternname | string | Name of this pattern for indexing |
header-title-fillstyle-fillpattern-scalable | boolean | Flag that sets scalability of the pattern coordinates, or relative to the shape it is filling (It is not supported) |
header-title-fillstyle-foreground | string | Foreground color |
header-title-fillstyle-pattern | Pattern | Pattern |
header-title-linestyle | string | Style applied on outline |
header-title-linestyle | LineStyle | Style applied on outline |
header-title-linestyle-color | string | Color in CSS form |
header-title-linestyle-fill | string | Optional fill style to be used to fill lines generated with this style |
header-title-linestyle-fill | FillStyle | Optional fill style to be used to fill lines generated with this style |
header-title-linestyle-linecap | CapStyle | The line cap style |
header-title-linestyle-linedashoffset | number | Line dash offset of dashed line |
header-title-linestyle-linejoin | JoinStyle | The line join style |
header-title-linestyle-pixelsnapmode | boolean | Pixel Snap Mode, default( |
header-title-linestyle-scalable | boolean | True if width should depend on transformation |
header-title-linestyle-unit | string | Optional unit for the width |
header-title-linestyle-width | number | string | The line thickness |
header-title | Options | JSON which defines main title |
header-title-alignment | AnchorType | Alignment according to the anchor point |
header-title-ax | number | Anchor x position |
header-title-ay | number | Anchor y position |
header-title-height | number | Shape height |
header-title-ispointingup | boolean | Defines whether the shape is always pointing up |
header-title-layoutstyle | LayoutStyle | Layout style to specify how to lay out shape |
header-title-layoutstyle-constraint | SizeConstraint | Layout constrains |
header-title-layoutstyle-flexgrow | number | Number specifying how much the item will grow relative to the rest of the items inside the same container |
header-title-layoutstyle-flexshrink | number | Number specifying how much the item will shrink relative to the rest of the items inside the same container |
header-title-layoutstyle-float | string | Float position |
header-title-layoutstyle-position | string | Layout position |
header-title-layoutstyle-size | number | string | Layout size |
header-title-maxdimension | Dimension | Maximum size for rendering |
header-title-maxdimension-height | number | Height of dimension |
header-title-maxdimension-width | number | Width of dimension or properties |
header-title-mindimension | Dimension | Minimum size for rendering |
header-title-preserveaspectratio | boolean | Preserve aspect ratio of the anchored shape |
header-title-preservereadingorientation | boolean | Preserve reading orientation for local transform |
header-title-preserverightangle | boolean | Preserve right angle for local transformation |
header-title-rotationangle | number | Rotation angle at anchor |
header-title-sizeisindevicespace | boolean | Is coordinate in device space |
header-title-useminmaxdimensions | boolean | Use the min max dimensions to limit visual size |
header-title-width | number | Shape width |
header-title | Options | JSON which defines main title |
header-title-autosize | boolean | Automatically fit shape bounds to text size, default is true Set it to false if you have more than one paragraph inside with different alignment |
header-title-ellipsisstring | string | String ellipsis that renders if ellipsis is true |
header-title-padding | number | |
header-title-paddingstyle | number | string | Inner padding style in device coordinates |
header-title-radius | number | Border radius in device coordinates |
header-title-showellipsis | boolean | Ellipsis flag |
header-title-sizemode | SizeMode | Text size mode, default value depends on width and height settings |
header-title-text | string | Text to display |
header-title-textstyle | string | TextStyle to display |
header-title-textstyle | TextStyle | TextStyle to display |
header-title-textstyle-alignment | AlignmentStyle | Alignment |
header-title-textstyle-autosize | boolean | Auto font size on high definition display |
header-title-textstyle-background | string | Background style |
header-title-textstyle-background | FillStyle | Background style |
header-title-textstyle-baseline | BaseLineStyle | Base line |
header-title-textstyle-color | string | Color in CSS form |
header-title-textstyle-fill | FillStyle | Text fill style |
header-title-textstyle-font | string | Font see |
header-title-textstyle-fonturl | string | The place from which the font will be loaded, if null - uses system fonts. It can be base64 with url keyword |
header-title-textstyle-lineheight | string | number | Line height |
header-title-textstyle-multiline | boolean | Allow multi-line text |
header-title-textstyle-outline | string | Outline style |
header-title-textstyle-outline | LineStyle | Outline style |
header-title-textstyle-overflowwrap | OverflowWrapStyle | Overflow wrap |
header-title-textstyle-strikethrough | string | Strikethrough style |
header-title-textstyle-strikethrough | LineStyle | Strikethrough style |
header-title-textstyle-textoverflow | TextOverflowStyle | Text overflow |
header-title-textstyle-underline | string | Underline style |
header-title-textstyle-underline | LineStyle | Underline style |
header-title-textstyle-underlineoffset | string | number | Underline offset distance |
header-title-textstyle-whitespace | WhiteSpaceStyle | White space |
header-title-textstyle-wordbreak | WordBreakStyle | Word break |
header-title-texttransform | Transform | Text-transform (uppercase, lowercase, capitalize) |
header-title-userheight | number | Height |
header-title-userwidth | number | Width |
marker | MarkerOptions | JSON which defines marker options |
marker-defaultcolor | string | Default color |
marker-defaultlinecolor | string | Default line color |
marker-highlightcolor | string | Highlight color |
marker-highlightpainter | string | |
marker-highlightsize | number | Highlight symbol size. it equals to symbols size by default |
marker-painter | string | Painter style |
marker-size | number | Marker size |
tools | ToolsOptions | JSON which defines tools options |
tools-crosshair | Options | JSON which defines crosshair cursor. See |
tools-crosshair-enabled | boolean | Enabled state |
tools-crosshair-layer | CompositeNode | Manipulator layer |
tools-crosshair-layer-clipping | boolean | Enable clipping, this does not consider the clipstyle, it is related to bounds-clipping |
tools-crosshair-layer-clipstyle | ClipStyle | Clipping style |
tools-crosshair-layer-clipstyle | GraphicsPath | Clipping style |
tools-crosshair-layer-cssclass | string | The css class name of this node |
tools-crosshair-layer-csscursor | string | CSS cursor associated with node |
tools-crosshair-layer-cssstyle | string | CSS style to be applied to inserted elements |
tools-crosshair-layer-id | string | number | Id of the node, its a unique identifier |
tools-crosshair-layer-infinity | boolean | Mode to render outside the model limits |
tools-crosshair-layer-localtransform | Transformation | Local transformation |
tools-crosshair-layer-margins | number | string | It has properties for specifying the margins for each side |
tools-crosshair-layer-name | string | Name of the node. It is often used for debugging purposes or to simplify queries |
tools-crosshair-layer-opacity | number | Node opacity (from 0 to 1). If it is undefined or null it inherits property from the parent. It changes globalAlpha on the rendering context |
tools-crosshair-layer-opacityblendmode | BlendMode | Node opacity mode to blend it |
tools-crosshair-layer-scalescrollstrategy | ScaleScrollStrategy | Scale scroll strategy |
tools-crosshair-layer-selectable | boolean | Selectable node, a boolean to determine if selection should consider this node |
tools-crosshair-layer-tag | any | Custom information associated with node. It is a user object which can be used by client code to store information or attach an application object to the shape |
tools-crosshair-layer-transform | string | Additional CSS transformation applied to node or 'none' |
tools-crosshair-layer-transform | Transformation | Additional CSS transformation applied to node or 'none' |
tools-crosshair-layer-visible | boolean | Visibility of the node, a boolean to determine if the node should be rendered or not |
tools-crosshair-layer-z-index | number | Define node z-index |
tools-crosshair-mouseradius | number | Device radius for mouse events |
tools-crosshair-name | string | Name of the tool used like cross-hair etc |
tools-crosshair-touchradius | number | Device radius for touch events |
tools-crosshair | Options | JSON which defines crosshair cursor. See |
tools-crosshair-east | LabelSettings | JSON for east label. See setLabelSettings for more details |
tools-crosshair-east-alignment | AnchorType | Alignment of the text |
tools-crosshair-east-cssclass | string | The css class name of this node |
tools-crosshair-east-displaymode | LabelDisplayMode | Label display mode, default is LabelDisplayMode.Shape |
tools-crosshair-east-fillstyle | string | Fill style of the text |
tools-crosshair-east-fillstyle | FillStyle | Fill style of the text |
tools-crosshair-east-linestyle | string | Line style of the text border |
tools-crosshair-east-linestyle | LineStyle | Line style of the text border |
tools-crosshair-east-offset | number | string | Label offset between the text and cross-hair cursor, use padding in case of undefined |
tools-crosshair-east-padding | number | |
tools-crosshair-east-paddingstyle | number | string | Padding style between the text and the border |
tools-crosshair-east-radius | number | Radius of the text shape border |
tools-crosshair-east-textstyle | string | Text style of the text |
tools-crosshair-east-textstyle | TextStyle | Text style of the text |
tools-crosshair-east-tooltip | Properties | Tooltip properties, this options applyes only in case if displaymode:LabelDisplayMode.DivElement |
tools-crosshair-east-tooltip-alignment | AnchorType | Tooltip alignment according to the point set by offsets |
tools-crosshair-east-tooltip-autoflip | boolean | True to automatically flip tooltip alignment if it doesn't fit the window |
tools-crosshair-east-tooltip-cssclasses | string | CSS classes' names to be applied for tooltip 'cg-tooltip' by default |
tools-crosshair-east-tooltip-delay | number | |
tools-crosshair-east-tooltip-hidedelay | number | Auto hide in millisecond, 0 means false and autohide is disabled |
tools-crosshair-east-tooltip-offsetx | number | Offset of tooltip from current position by x in pixels |
tools-crosshair-east-tooltip-offsety | number | Offset of tooltip from current position by y in pixels |
tools-crosshair-east-tooltip-orientation | Orientation | Tooltip orientation |
tools-crosshair-east-tooltip-showdelay | number | Delay between displaying tooltip, 0 means false and tooltip shows immediately |
tools-crosshair-east-tooltip-size | Range | Client size range |
tools-crosshair-east-tooltip-size-high | number | Upper range boundary |
tools-crosshair-east-tooltip-size-low | number | Lower range boundary |
tools-crosshair-east-tooltip-size-max | number | |
tools-crosshair-east-tooltip-size-min | number | |
tools-crosshair-east-visible | boolean | Visibility of the text |
tools-crosshair-east-z-index | number | Define node z-index |
tools-crosshair-fillstyle | string | Fillstyle of the cross-hair (used only with radius) |
tools-crosshair-fillstyle | FillStyle | Fillstyle of the cross-hair (used only with radius) |
tools-crosshair-horizontal | string | Linestyle for horizontal line |
tools-crosshair-horizontal | LineStyle | Linestyle for horizontal line |
tools-crosshair-keeporientation | boolean | Preserve annotation's orientation of labels for different |
tools-crosshair-labels | boolean | If 'none' of false - do not create labels |
tools-crosshair-linestyle | string |
|
tools-crosshair-linestyle | LineStyle |
|
tools-crosshair-north | LabelSettings | JSON for north label. See setLabelSettings for more details |
tools-crosshair-outlinestyle | string | OutLinestyle for both lines |
tools-crosshair-outlinestyle | LineStyle | OutLinestyle for both lines |
tools-crosshair-radius | number | Radius of the cross-hair center target |
tools-crosshair-south | LabelSettings | JSON for south label. See setLabelSettings for more details |
tools-crosshair-symbol | SymbolShape | Symbol of the cross-hair |
tools-crosshair-symbol-alignment | AnchorType | Alignment according to the anchor point |
tools-crosshair-symbol-alignment | AnchorType | Anchor type of symbol |
tools-crosshair-symbol-ax | number | Anchor x position |
tools-crosshair-symbol-ay | number | Anchor y position |
tools-crosshair-symbol-cache | boolean | Set it to true if you want to cache complex geometry to raster |
tools-crosshair-symbol-clipstyle | ClipStyle | Clipping style |
tools-crosshair-symbol-clipstyle | GraphicsPath | Clipping style |
tools-crosshair-symbol-cssclass | string | The css class name of this node |
tools-crosshair-symbol-csscursor | string | CSS cursor associated with node |
tools-crosshair-symbol-cssstyle | string | CSS style to be applied to inserted elements |
tools-crosshair-symbol-fillstyle | string | Style applied on fill |
tools-crosshair-symbol-fillstyle | FillStyle | Style applied on fill |
tools-crosshair-symbol-height | number | Shape height |
tools-crosshair-symbol-id | string | number | Id of the node, its a unique identifier |
tools-crosshair-symbol-ispointingup | boolean | Defines whether the shape is always pointing up |
tools-crosshair-symbol-layoutstyle | LayoutStyle | Layout style to specify how to lay out shape |
tools-crosshair-symbol-linestyle | string | Style applied on outline |
tools-crosshair-symbol-linestyle | LineStyle | Style applied on outline |
tools-crosshair-symbol-localtransform | Transformation | Local transformation |
tools-crosshair-symbol-margins | number | string | It has properties for specifying the margins for each side |
tools-crosshair-symbol-maxdimension | Dimension | Maximum size for rendering |
tools-crosshair-symbol-mindimension | Dimension | Minimum size for rendering |
tools-crosshair-symbol-name | string | Name of the node. It is often used for debugging purposes or to simplify queries |
tools-crosshair-symbol-opacity | number | Node opacity (from 0 to 1). If it is undefined or null it inherits property from the parent. It changes globalAlpha on the rendering context |
tools-crosshair-symbol-opacityblendmode | BlendMode | Node opacity mode to blend it |
tools-crosshair-symbol-painter | string | A function with has parameters: symbol, box, context |
tools-crosshair-symbol-painterproperties | any | Symbol's painter's properties |
tools-crosshair-symbol-preserveaspectratio | boolean | Preserve aspect ratio of the anchored shape |
tools-crosshair-symbol-preservereadingorientation | boolean | Preserve reading orientation for local transform |
tools-crosshair-symbol-preserverightangle | boolean | Preserve right angle for local transformation |
tools-crosshair-symbol-rotationangle | number | Rotation angle at anchor |
tools-crosshair-symbol-scalescrollstrategy | ScaleScrollStrategy | Scale scroll strategy |
tools-crosshair-symbol-selectable | boolean | Selectable node, a boolean to determine if selection should consider this node |
tools-crosshair-symbol-sizeisindevicespace | boolean | Is coordinate in device space |
tools-crosshair-symbol-tag | any | Custom information associated with node. It is a user object which can be used by client code to store information or attach an application object to the shape |
tools-crosshair-symbol-transform | string | Additional CSS transformation applied to node or 'none' |
tools-crosshair-symbol-transform | Transformation | Additional CSS transformation applied to node or 'none' |
tools-crosshair-symbol-useminmaxdimensions | boolean | Use the min max dimensions to limit visual size |
tools-crosshair-symbol-visible | boolean | Visibility of the node, a boolean to determine if the node should be rendered or not |
tools-crosshair-symbol-width | number | Shape width |
tools-crosshair-symbol-z-index | number | Define node z-index |
tools-crosshair-textstyle | string |
|
tools-crosshair-textstyle | TextStyle |
|
tools-crosshair-vertical | string | Linestyle for vertical line |
tools-crosshair-vertical | LineStyle | Linestyle for vertical line |
tools-crosshair-west | LabelSettings | JSON for west label. See setLabelSettings for more details |
tools-horizontalscroll | ScrollBarOptions | Horizontal scroll bar options |
tools-horizontalscroll-enabled | boolean | |
tools-horizontalscroll-name | string | |
tools-panning | Options | JSON which defines panning tool. See |
tools-panning | Options | JSON which defines panning tool. See |
tools-panning-acceptx | boolean | Accept x coordinates |
tools-panning-inertiacoef | number | boolean | Inertia coefficient for inertia effect |
tools-panning-panningthreshold | number | Threshold to prevent panning. If user pointer movement is under this value the panning will be ignore. WARNING: if you set positive inertia coefficient, some panning events'll be fired with null eventArgs |
tools-panning-wheelratio | number | Number that represent the number default |
tools-rubberbandzoom | Options | JSON which defines rubber band zoom. See |
tools-rubberbandzoom | Options | JSON which defines rubber band zoom. See |
tools-rubberbandzoom-mode | RubberBandRenderMode | Rubber mode |
tools-rubberbandzoom | Options | JSON which defines rubber band zoom. See |
tools-rubberbandzoom-acceptemptyrect | boolean | Does rubber band accept empty rect |
tools-rubberbandzoom-autodisabled | boolean | Does rubber band automatically disabled on zoom end |
tools-rubberbandzoom-fillstyle | string | Rubber band fillstyle |
tools-rubberbandzoom-fillstyle | FillStyle | Rubber band fillstyle |
tools-rubberbandzoom-linestyle | string | Rubber band linestyle |
tools-rubberbandzoom-linestyle | LineStyle | Rubber band linestyle |
tools-rubberbandzoom-restrictionarea | Rect | Specify restriction area |
tools-verticalscroll | ScrollBarOptions | Vertical scroll bar options |
tools-zoom | Options | JSON which defines zoom. See |
tools-zoom | Options | JSON which defines zoom. See |
tools-zoom-easing | Functions | Easing animation function for elastic zooming |
tools-zoom-max | number | Maximum limits for zooming (>= options.zoom.min) |
tools-zoom-min | number | Minimum limits for zooming (>= 0) |
tools-zoom-mode | Mode | Mode of pinch zooming |
tools-zoom-modifier | ModifierKey | Modifier key for zoom, default is ModifierKey.None |
tools-zoom-speed | number | Speed of zooming (>= 1) |
tools-zoom-time | number | Zooming time in ms (> 0 for elastic, 0 for instant) |
viewcache | boolean | Enable view cache on model |
x | AxisDataOptions | JSON which defines X-data |
x-annotationsize | number | string | Width or height of annotation |
x-autolabelrotation | boolean | |
x-autominmax | boolean | Are min/max fixed (false) or given by datasource (true). DataSource has to exist |
x-axisticks | Options | JSON which defines ticks options of the axis |
x-axisticks-labelstyles | TextStyle | An object containing label style for specified grades |
x-axisticks-tag | any | Tag user can specify info associated with current object |
x-axisticks-tickstyles | LineStyle | An object containing tick styles for specified grades |
x-datasource | NumericalDataSeries | DataSource of data |
x-datasource-id | number | string | Unique id of the data series |
x-datasource-name | string | Name |
x-datasource-type | string | Type |
x-datasource-unit | string | Unit of the data series |
x-datasource-uri | string | Unique resource identifier |
x-datasource | NumericalDataSeriesView | DataSource of data |
x-datasource-data | AbstractDataSeries | The original data series or data series view |
x-datasource-data-id | number | string | Unique id of the data series |
x-datasource-data-name | string | Name |
x-datasource-data-type | string | Type |
x-datasource-data-uri | string | Unique resource identifier |
x-datasource-id | number | string | Unique id of the data series |
x-datasource-name | string | Name |
x-datasource-type | string | Type |
x-datasource-unit | string | Unit of the view |
x-datasource-uri | string | Unique resource identifier |
x-gridtickgenerator | TickGenerator | Grid lines tick generator |
x-gridtickgenerator-labelstyles | TextStyle | An object containing label style for specified grades |
x-gridtickgenerator-tag | any | Tag user can specify info associated with current object |
x-gridtickgenerator-tickstyles | LineStyle | An object containing tick styles for specified grades |
x-gridticks | Options | JSON which defines horizontal ticks options of the grid (X or Y axis only) |
x-legendvisible | boolean | Legend visibility (Z only) |
x-location | AnnotationLocation | Location of |
x-logarithmic | boolean | Is the Axis logarithmic. default is false |
x-max | number | Maximum Value to display data. If never set, will be max of [options.data] |
x-min | number | Minimum Value to display data. If never set, will be min of [options.data] |
x-minspan | number | Axis min span for smart limits. It works if neatlimits is true |
x-neatlimits | boolean | Calculate smart limits for linear mode. For logarithmic mode it is disabled |
x-preciselimits | boolean | Option for neat limits calculates only step and hide edge ticks. It is neabled only if neatlimits is set |
x-reversed | boolean | Is the Axis reversed |
x-tickgenerator | TickGenerator | A custom tickgenerator for this axis |
x-unit | string | Display unit |
y | AxisDataOptions | JSON which defines Y-data |
z | AxisDataOptions | JSON which defines Z-data |
Constructors
• new CrossPlot(options?)
| Name | Type | Description |
|---|---|---|
Optional options | Options | options to initialize crossplot |
AnnotatedWidget.constructor
Methods
▸ addAxis(axis, location, connectedObject?): Object
add new axis and connect with object
| Name | Type | Description |
|---|---|---|
axis | Axis | AxisOptions | new axis instance or options |
location | AnnotationLocation | location of annotation for adding new axis |
Optional connectedObject | Group<Node> | connected object of axis |
Object
▸ addBaseLayer(baseLayer): CrossPlot
Add baseLayer to container
this
▸ addChild(node): CrossPlot
Add a child node
this
▸ addCssClass(cssclass): CrossPlot
Adds new css class to node
| Name | Type | Description |
|---|---|---|
cssclass | string | string[] | css class name('s) |
this
▸ addInvalidateHandler(handler): CrossPlot
Add invalidate handler
Deprecated
since 4.0, use Node.on instead
| Name | Type | Description |
|---|---|---|
handler | Function | handler to be notified about invalidation |
this
AnnotatedWidget.addInvalidateHandler
▸ addLegend(options): LegendPanel
Creates legend, scrollable panel and interactive tools for the options provided. If legend already exists, does nothing.
Example
widget.addLegend({
// use known types to create legend items automatically (from charts)
// use custom string item for user setup
'alignment': AnchorType.LeftTop,
'offset': new Point(60, 40)
});| Name | Type | Description |
|---|---|---|
options | LegendOptions | LegendPanel | legend options |
▸ Protected addLegendInteral(options): LegendPanel
| Name | Type |
|---|---|
options | LegendOptions | LegendPanel |
AnnotatedWidget.addLegendInteral
▸ addOverlay(overlay): CrossPlot
Add overlay to container
this
▸ addTitle(location, options): void
Add title to annotation
| Name | Type | Description |
|---|---|---|
location | AnnotationLocation | of the title |
options | TitleOptions | title options |
void
▸ adjustPosition(area?, vAlign?, hAlign?): CrossPlot
Adjust position of node to specified area
| Name | Type | Description |
|---|---|---|
Optional area | Rect | specified area. Default to Parent Model Limits |
Optional vAlign | string | vertical alignment. It can be "top", "bottom", "center". Defaults to "top". |
Optional hAlign | string | horizontal alignment It can be "left", "right", "center". Defaults to "left". |
this
AnnotatedWidget.adjustPosition
▸ Protected applyOpacity(context): CrossPlot
This method is called to apply opacity if it is specified on the rendering context. The default implementation sets global alpha on the rendering context
| Name | Type | Description |
|---|---|---|
context | RenderingContext | Rendering Context |
this
▸ Protected applyResponsiveStyle(): void
Apply a responsive style rules it is exists
void
AnnotatedWidget.applyResponsiveStyle
▸ beginExport(): CrossPlot
Prepares object before exporting and saving state
▸ changeBaseLayerOrder(overlay, order, anchor?): CrossPlot
Changes the z-order of the baseLayer.
| Name | Type | Description |
|---|---|---|
overlay | Node | |
order | NodeOrder | position to be added |
Optional anchor | Node | anchor node to specify changeOrder with respect to this node |
this
AnnotatedWidget.changeBaseLayerOrder
▸ changeChildOrder(node, order, anchor?): CrossPlot
changes the z-order of the nodes being rendered.
| Name | Type | Description |
|---|---|---|
node | Node | any child added in the Composite node |
order | NodeOrder | position to be added |
Optional anchor | Node | anchor node to specify changeOrder with respect to this node |
this
AnnotatedWidget.changeChildOrder
▸ changeOverlayOrder(overlay, order, anchor?): CrossPlot
Changes the z-order of the overlay.
| Name | Type | Description |
|---|---|---|
overlay | Node | child overlay |
order | NodeOrder | position to be added |
Optional anchor | Node | anchor node to specify changeOrder with respect to this node |
this
AnnotatedWidget.changeOverlayOrder
▸ checkCollision(context): boolean
Check culling Returns true if object is inside of renderable area
| Name | Type | Description |
|---|---|---|
context | RenderingContext | Rendering Context |
boolean
true if node is collided
AnnotatedWidget.checkCollision
▸ clearBaseLayers(disposeBaseLayers?): CrossPlot
Remove all child baseLayers from group
| Name | Type | Description |
|---|---|---|
Optional disposeBaseLayers | boolean | automatically dispose baseLayers. If it is true then method dispose is called for each baseLayer, false by default |
this
AnnotatedWidget.clearBaseLayers
▸ clearCache(): CrossPlot
Clear cache
this
▸ clearChildren(disposeChildren?): CrossPlot
Remove all child nodes from this composite group
| Name | Type | Description |
|---|---|---|
Optional disposeChildren | boolean | automatically dispose children. If it is true then method dispose is called for each child. |
this
▸ clearOverlays(disposeOverlays?): CrossPlot
Remove all child overlays from group
| Name | Type | Description |
|---|---|---|
Optional disposeOverlays | boolean | automatically dispose overlays. If it is true then method dispose is called for each overlay, false by default |
this
All subclasses should override copyConstructor or provide custom implementation for this method
clone
▸ connect(object, model, orientation?, autoSize?): CrossPlot
Synchronizes object with a model
| Name | Type | Description |
|---|---|---|
object | Axis | Group<Node> | object to be synchronized |
model | Group<Node> | source model |
Optional orientation | Orientation | horizontal or vertical |
Optional autoSize | boolean | true if object and model share the same device size in the orientation, true by default if not specified |
this
▸ connectStyle(style, type, callback): CrossPlot
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 |
this
▸ connectTool(tool): CrossPlot
Connect a new tool with a toolname to the widget
| Name | Type | Description |
|---|---|---|
tool | AbstractTool | AbstractTool[] | tool associated with the widget |
this
▸ Protected copyConstructor(src, deepCopy?): CrossPlot
Copy constructor function.
Function used as part of the cloning mechanism.
Implementations should copy the given instance state to this instance.
this
AnnotatedWidget.copyConstructor
▸ disconnect(object): CrossPlot
Disconnect an object from its source model
this
▸ disconnectStyle(style, type, callback): CrossPlot
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 |
this
AnnotatedWidget.disconnectStyle
▸ disconnectTool(tool): CrossPlot
Disconnect the tool from the widget
| Name | Type | Description |
|---|---|---|
tool | AbstractTool | AbstractTool[] | tool to disconnect |
this
AnnotatedWidget.disconnectTool
▸ dispose(): void
Dispose node. Clear all listeners and disconnect style to avoid memory leaks
void
▸ Protected drawBorder(localContext, bounds?): CrossPlot
Draws a rectangle at the bounding box (in parent coordinates)
| Name | Type | Description |
|---|---|---|
localContext | RenderingContext | The local rendering context |
Optional bounds | Rect | group bounds |
this
▸ enableClipping(doClip): CrossPlot
Enables or disables clipping of this node. If enabled, shapes will not be rendered outside of its bounds.
| Name | Type | Description |
|---|---|---|
doClip | boolean | enable clipping on this node |
this
AnnotatedWidget.enableClipping
▸ enableEventPropagation(enable): CrossPlot
Enable event propagation from the node hierarchy from bottom to top
This option is similar to DOM Event bubbling, which allows to get any event from child node. By default it is disabled for better performance.
Example
import {Group} from '@int/geotoolkit/scene/Group';
import {Events as SceneEvents} from '@int/geotoolkit/scene/Node';
const parentGroup = new Group()
.setName('ParentGroup')
.enableEventPropagation(true);
const childGroup = new Group()
.setName('ChildGroup');
parentGroup.addChild(childGroup);
parentGroup.on(SceneEvents.Invalidate, (eventName, sender, args) => {
// Got notifications from all children of parent group
});
childGroup.invalidate();| Name | Type | Description |
|---|---|---|
enable | boolean | enable |
this
AnnotatedWidget.enableEventPropagation
▸ enablePickingChildren(enable): CrossPlot
Enables or disables picking children
| Name | Type | Description |
|---|---|---|
enable | boolean | enable picking children |
this
AnnotatedWidget.enablePickingChildren
▸ endExport(): void
Restores object's state after exporting
void
▸ enumerateNodes(callback, target?): void
Executes a provided function once for each child node
| Name | Type | Description |
|---|---|---|
callback | Callback<Node> | provided function |
Optional target | QueryBuilder<any> | target to pass to callback as a second parameter |
void
AnnotatedWidget.enumerateNodes
▸ execute(delegate): CrossPlot
Executes delegate and return the result. It allows us to keep all initialization calls in one place,
and we do not need to scroll up or down in IDE to find how and where it was initialized.
Example
// All setters (.setName() for example) returns reference to the this.
// In order to modify inner object like LineStyle or Pattern, to get this object (property) we should call getter to get object reference.
// Then modify it as shown below in Option 1 or you can use execute methods shown in Option 2.
import {Group} from '@int/geotoolkit/scene/Group';
import {Rect} from '@int/geotoolkit/util/Rect';
// Option 1
const group = new Group()
.setName('MyGroup')
.setBounds(new Rect(0, 0, 42, 16))
.enableClipping(true)
.setTag({'type': 'sometype'});
group.getLineStyle().setPattern('pattern');
return group;
// Options 2 ( using execute method )
return group
.execute(function () {
this.getLineStyle()
.setPattern("pattern");
});| Name | Type | Description |
|---|---|---|
delegate | (this: CrossPlot) => void | Function to execute |
The result if any or this
▸ execute<T>(delegate): T
| Name |
|---|
T |
| Name | Type |
|---|---|
delegate | (this: CrossPlot) => T |
T
▸ exportToPdf(options?): Promise<IWritable>
Export a part of the container to PDF
This method sets automatically export scale and limits based on input parameters and current model scale and limits
| Name | Type | Description |
|---|---|---|
Optional options | ExportToPdfOptions | option to specify paper parameters and header and footer |
Promise<IWritable>
promise with output stream
▸ Protected filter(context): boolean
Filter node
| Name | Type | Description |
|---|---|---|
context | RenderingContext | Rendering Context |
boolean
flag filter flag ("true" to render node; "false" otherwise)
▸ fitToBounds(): CrossPlot
fit bounds to model limits
Fires
Events.ModelVisibleLimitsChanged
this
▸ getAnimationStyle(): AnimationStyle
Return animation style
animationStyle current animation style
AnnotatedWidget.getAnimationStyle
▸ getAnnotation(location): Group<Node>
return the node at the specific annotation
| Name | Type | Description |
|---|---|---|
location | AnnotationLocation | position to return the node for |
▸ getAnnotationSize(): Required<AnnotationSize>
Return sizes of all annotations or the exact one
Required<AnnotationSize>
contains size of all annotations
AnnotatedWidget.getAnnotationSize
▸ getAnnotationSize(loc): string | number
| Name | Type |
|---|---|
loc | AnnotationLocation |
string | number
AnnotatedWidget.getAnnotationSize
▸ getAutoModelLimitsMode(): boolean
Get Model Limits Logics to use when no Model Limits have been set set to true: will use parents width and height, starting at 0 set to false: will use parents bounds
boolean
mode
AnnotatedWidget.getAutoModelLimitsMode
▸ getAutoModelLimitsStrategy(): ModelLimitsStrategy
Get Model Limits Logics Strategy
strategy
AnnotatedWidget.getAutoModelLimitsStrategy
▸ getAxisDataOptions(axis, getDataOptions): AxisDataOptionsOut
Get axis options
| Name | Type | Description |
|---|---|---|
axis | string | axis to get options |
getDataOptions | Object | how to extract data, null by default |
Optional getDataOptions.no-data | boolean |
JSON which defines data.
▸ getBaseLayer(index): Node
Return baseLayer at specified index
| Name | Type | Description |
|---|---|---|
index | number | index at which to get the baseLayer for |
track
▸ getBaseLayers<S>(predicate, modify?): Iterator<Node>
Return iterator by baseLayers nodes
| Name | Type |
|---|---|
S | extends Node<S> |
| Name | Type | Description |
|---|---|---|
predicate | (value: Node) => value is S | a filter function |
Optional modify | boolean | An option to specify if the iterator supports adding/removing items from the collection. false by default. |
▸ getBaseLayers(filter?, modify?): Iterator<Node>
Returns an iterator for child baseLayers. The iterator does not support adding or deleting items from overlays by default. If it is necessary to modify a collection of overlays, pass true as the last parameter.
Example
// Gets a writable iterator
const it = node.getOverlays(null, true);| Name | Type | Description |
|---|---|---|
Optional filter | (node: Node) => boolean | A filter function. Returns all overlays if null. |
Optional modify | boolean | An option to specify if the iterator supports adding/removing items from the collection. false by default. |
An iterator for child overlays.
▸ getBaseLayersCount(): number
Returns amount of baseLayers
number
AnnotatedWidget.getBaseLayersCount
▸ getBounds(): Rect
Get the bounds in the parents model space. If bounds are not set, then parent model limits are used.
current bounds
▸ getCache(): Cache
Return cache strategy to be used to cache children nodes
cache
▸ getCenterModelLimits(): Rect
Return model limits
annotated model limits
AnnotatedWidget.getCenterModelLimits
▸ getChild(i): Node
Return node by index
| Name | Type | Description |
|---|---|---|
i | number | index of the node |
▸ getChildren<S>(predicate, modify?): Iterator<S>
Return iterator by child nodes
| Name | Type |
|---|---|
S | extends Node<S> |
| Name | Type | Description |
|---|---|---|
predicate | (value: Node) => value is S | a filter function |
Optional modify | boolean | An option to specify if the iterator supports adding/removing items from the collection. false by default. |
Iterator<S>
▸ getChildren(filter?, modify?): Iterator<Node>
Returns an iterator for child nodes. The iterator does not support adding or deleting items from children by default. If it is necessary to modify a collection of children, pass true as the last parameter.
Example
// Gets a writable iterator
const it = node.getChildren(null, true);| Name | Type | Description |
|---|---|---|
Optional filter | (node: Node) => boolean | A filter function. Returns all nodes if null. |
Optional modify | boolean | An option to specify if the iterator supports adding/removing items from the collection. false by default. |
An iterator for child nodes.
▸ getChildrenCount(): number
Return number of child nodes
number
AnnotatedWidget.getChildrenCount
▸ getClassName(): string
string
▸ getClipStyle(): ClipStyle
Gets the current clipping style
clipping style
▸ getColorProvider(): ColorProvider
Returns color provider
color provider
▸ getContentOrientation(): Orientation
Return content orientation
content orientation
AnnotatedWidget.getContentOrientation
▸ getContentsArea(transformation?): Rect
Return area without paddings. Model limits are mapped to content area, where children are layout.
| Name | Type | Description |
|---|---|---|
Optional transformation | Transformation | scene transformation |
AnnotatedWidget.getContentsArea
▸ getContentsTransform(): Transformation
getContentsTransform() retrieves the world transformation of the node.
transformation from model coordinates to bounds of the group
AnnotatedWidget.getContentsTransform
▸ getCrossPlotShape(): CrossPlot
Return inner crossplot shape
▸ getCss(): CssStyle
Return CSS style
▸ getCssClass(): string
Returns css class name to be used to apply CSS style
string
the css class name
▸ getCssClasses(): string[]
Gets list of css class names which applied to this node
string[]
▸ getCssTransform(): string
Returns CSS transformation
string
AnnotatedWidget.getCssTransform
▸ getData(getDataOptions?): DataOptionsOut
get options
| Name | Type | Description |
|---|---|---|
Optional getDataOptions | Object | how to extract data, null by default |
Optional getDataOptions.no-data | boolean |
▸ getDesiredHeight(): string | number
Returns desired height of the group as a layoutable object This method is a helper method to get access to getLayoutStyle()
string | number
desired height ("undefined" by default)
AnnotatedWidget.getDesiredHeight
▸ getDesiredWidth(): string | number
Returns desired width of the group as a layoutable object. This method is a helper method to get access to getLayoutStyle()
string | number
desired width ("undefined" by default)
AnnotatedWidget.getDesiredWidth
▸ getDeviceLimits(): Rect
Return device limits
AnnotatedWidget.getDeviceLimits
▸ getExportElement(options?): CompositeDocumentElement
Returns exportable element
| Name | Type | Description |
|---|---|---|
Optional options | ExportElementOptions | options |
return exportable element
AnnotatedWidget.getExportElement
▸ getExportLimits(): Rect
Return export limits
AnnotatedWidget.getExportLimits
▸ getExportScale(): Object
Gets export scale. By default scale is not set and equal to screen scale
Object
scale
| Name | Type | Description |
|---|---|---|
x | number | scale by x form model to device |
y | number | scale by y form model to device |
AnnotatedWidget.getExportScale
▸ Protected getExportState(): Record<string, any>
Returns export state
Record<string, any>
export state
AnnotatedWidget.getExportState
▸ getFillStyle(): FillStyle
Return fill style
fillStyle current fill style
▸ getHeaderOptions(): HeaderOptionsOut
Get Options for Header
▸ getHighlightSelectionNames(): string[]
Return names of highlighted selections
string[]
names
▸ getHighlightedIndices(name?): number[]
Gets Highlighted Indices
| Name | Type | Description |
|---|---|---|
Optional name | string | name of the selection |
number[]
array of indices
▸ getHighlightedOptions(name): HighlightOptions
Return highlight options
| Name | Type | Description |
|---|---|---|
name | string | highlight selection name |
indices options
▸ getId(): string | number
Returns the associated identifier of the node
string | number
The node's id
▸ getIndicesAt(rect): number[]
Return indices in search area
| Name | Type | Description |
|---|---|---|
rect | Rect | search area |
number[]
array of indices
▸ getInfiniteMode(): boolean
Return infinity mode flag
boolean
flag
AnnotatedWidget.getInfiniteMode
▸ Protected getInvalidateMethod(): AttributeCallback<EventDispatcher>
Gets invalidate method
AttributeCallback<EventDispatcher>
method to invalidate this object
AnnotatedWidget.getInvalidateMethod
▸ getLayout(): Layout
Returns layout associated with the group
layout
▸ getLayoutStyle(): LayoutStyle<string | number>
return desired layout style
LayoutStyle<string | number>
AnnotatedWidget.getLayoutStyle
▸ getLegendLayer(): Group<Node>
Returns layer to keep legend on top of widget
AnnotatedWidget.getLegendLayer
▸ getLineStyle(): LineStyle
Return border style
▸ getLocalTransform(): Transformation
Retrieves the transformation of bounds to parent
transform the local transform.
AnnotatedWidget.getLocalTransform
▸ getManipulatorLayer(): CompositeNode<Node>
return manipulator layer
AnnotatedWidget.getManipulatorLayer
▸ getMarginsStyle(): SpaceStyle<string | number>
Return margins style
SpaceStyle<string | number>
AnnotatedWidget.getMarginsStyle
▸ getMarkerOptions(): MarkerOptionsOut
Get marker Options
get model node
▸ getModelLimits(): Rect
Gets model limits, the limits of this groups inside space
the current model limits
AnnotatedWidget.getModelLimits
▸ getName(): string
Returns the node name
string
The node name
▸ getOpacity(): number
Returns current node opacity
number
opacity
▸ getOpacityBlendMode(): BlendMode
Returns current node opacity
opacity blend mode
AnnotatedWidget.getOpacityBlendMode
▸ getOptions(): OptionsBaseOut
Gets visual options
▸ getOverlay(index): Node
Return overlay at specified index
| Name | Type | Description |
|---|---|---|
index | number | index at which to get the overlay for |
track
▸ getOverlayAt(index): Node
Return overlay at specified index
Deprecated
since 4.2 use getOverlay instead
| Name | Type | Description |
|---|---|---|
index | number | index at which to get the overlay for |
track
▸ getOverlayLayer(): Layer<Node>
Returns manipulator overlay to draw shapes that should move with the model
AnnotatedWidget.getOverlayLayer
▸ getOverlays<S>(predicate, modify?): Iterator<Node>
Return iterator by overlays nodes
| Name | Type |
|---|---|
S | extends Node<S> |
| Name | Type | Description |
|---|---|---|
predicate | (value: Node) => value is S | a filter function |
Optional modify | boolean | An option to specify if the iterator supports adding/removing items from the collection. false by default. |
▸ getOverlays(filter?, modify?): Iterator<Node>
Returns an iterator for child overlays. The iterator does not support adding or deleting items from overlays by default. If it is necessary to modify a collection of overlays, pass true as the last parameter.
Example
// Gets a writable iterator
const it = node.getOverlays(null, true);| Name | Type | Description |
|---|---|---|
Optional filter | (node: Node) => boolean | A filter function. Returns all overlays if null. |
Optional modify | boolean | An option to specify if the iterator supports adding/removing items from the collection. false by default. |
An iterator for child overlays.
▸ getOverlaysCount(): number
Returns amount of overlays
number
AnnotatedWidget.getOverlaysCount
▸ getPaddingStyle(): SpaceStyle<string | number>
Return padding style
SpaceStyle<string | number>
padding
AnnotatedWidget.getPaddingStyle
▸ getParent(): Node
Return parent node
parent node
▸ getPreferredSize(): Rect
Return preferred size to layout children
AnnotatedWidget.getPreferredSize
▸ getProperties(context?): OptionsOut
Sets specific non-data properties for the visuals like header, marker color etc.
| Name | Type | Description |
|---|---|---|
Optional context | ISerializationContext | serialization context |
properties to apply
▸ getProperty(name): any
Gets dynamic property by name. These properties can be used as a property bags
| Name | Type | Description |
|---|---|---|
name | string | property name |
any
▸ getPropertyKeys(): string[]
Returns known properties keys
string[]
AnnotatedWidget.getPropertyKeys
▸ getRenderingFilter(): IFilter
Return filter to be used for rendering and picking
current filter
AnnotatedWidget.getRenderingFilter
▸ getResponsiveStyle(): ResponsiveStyle
Return responsive style
AnnotatedWidget.getResponsiveStyle
▸ getRoot(): Node
Returns root node.
If node doesn't have parent then it returns itself.
the root node
▸ getScaleScrollStrategy(): Delegate
Gets ScaleScrollStrategy ("undefined" by default)
ScaleScrollStrategy (see "setScaleScrollStrategy" description for more info)
AnnotatedWidget.getScaleScrollStrategy
▸ getSceneTransform(): Transformation
Returns transformation from node to root scene
a transformation from node to root scene
AnnotatedWidget.getSceneTransform
▸ getTag(): any
Returns the object associated with the node by user.
any
The node's user-object
▸ getTool(): CompositeTool
Returns root tool associated to this widget
▸ getToolByName<T>(toolName): Tools[T]
Returns the tool matching the given name.
This function also accepts tool 'path' instead of absolute name.
For example:
getToolByName("compositeTool.panningTools.trackPanning.TrackPanning")
Would return the same tool as
getToolByName("TrackPanning")
As long as there is only one tool named "TrackPanning" in this composite
See listToolsNames()
| Name | Type |
|---|---|
T | extends string |
| Name | Type | Description |
|---|---|---|
toolName | T | The tool name or path |
Tools[T]
▸ getToolByType(toolType): AbstractTool
Returns the tool matching the given type. or null if nothing is matching the tool type
For example:
getToolByType(geotoolkit.controls.tools.Selection)
Would return the same tool as
getToolByName("pick")
| Name | Type | Description |
|---|---|---|
toolType | ClassType<any> | toolType of the tool |
▸ getToolsOptions(): ToolsOptionsOut
Gets Tools Options
JSON which defines tools options
AnnotatedWidget.getToolsOptions
▸ getVisible(): boolean
Return visibility of the node
boolean
true if node is visible
▸ getVisibleCenterModelLimits(ignoreModelLimits?): Rect
Returns visible model limits of the center model
| Name | Type | Description |
|---|---|---|
Optional ignoreModelLimits | boolean | flag defines whether to ignore model limits or not. By default this option is false and visible limits will be intersected with center model limits |
AnnotatedWidget.getVisibleCenterModelLimits
▸ getVisibleDeviceLimits(ignoreModelLimits?): Rect
Return visible device limits
| Name | Type | Description |
|---|---|---|
Optional ignoreModelLimits | boolean | flag defines whether to ignore ModelLimits or not |
AnnotatedWidget.getVisibleDeviceLimits
▸ getVisibleModelLimits(ignoreModelLimits?): Rect
Return visible model limits
| Name | Type | Description |
|---|---|---|
Optional ignoreModelLimits | boolean | flag defines whether to ignore ModelLimits or not |
AnnotatedWidget.getVisibleModelLimits
▸ getWorldTransform(): Transformation
Retrieves the local transformation of the node which represents multiplication of parent to bounds and contents transformations.
AnnotatedWidget.getWorldTransform
▸ getZIndex(): number
Returns node z-index (null if not set)
number
▸ hasCssClass(cssClass): boolean
Check if node has specified css class
| Name | Type | Description |
|---|---|---|
cssClass | string | css class name |
boolean
▸ 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
AnnotatedWidget.hasEventListener
▸ highlightArea(rect, reset): void
Highlights the selected area
| Name | Type | Description |
|---|---|---|
rect | Point | Rect | search area |
reset | boolean | un-highlights previously selected indices |
void
▸ highlightIndices(indices, reset?): CrossPlot
Highlights the selected indices
| Name | Type | Description |
|---|---|---|
indices | number[] | HighlightIndices | to be highlighted |
Optional reset | boolean | un-highlights previously selected indices |
this
▸ indexOfBaseLayer(baseLayer): number
Return index of overlay ( index of the specified child or -1 if baseLayer is not found)
| Name | Type | Description |
|---|---|---|
baseLayer | Node | baseLayer to check index |
number
AnnotatedWidget.indexOfBaseLayer
▸ indexOfChild(node): number
Return index of child ( index of the specified child or -1 if node is not found)
| Name | Type | Description |
|---|---|---|
node | Node | node to check index |
number
▸ indexOfOverlay(overlay): number
Return index of overlay ( index of the specified child or -1 if overlay is not found)
| Name | Type | Description |
|---|---|---|
overlay | Node | overlay to check index |
number
AnnotatedWidget.indexOfOverlay
▸ Protected initializeFloatingAnnotationTool(): FloatingAnnotationTool
AnnotatedWidget.initializeFloatingAnnotationTool
▸ initializeLayout(settings): Group<Node>
| Name | Type |
|---|---|
settings | Options |
AnnotatedWidget.initializeLayout
▸ Protected initializeTools(options?): CrossPlot
function call in the constructor to initialize tools in the widget
This widget contains by default :
- CrossHair tool
- RubberBand tool
- Panning tool
- HorizontalScroll
- VerticalScroll
| Name | Type | Description |
|---|---|---|
Optional options | Options | tools options |
this
AnnotatedWidget.initializeTools
▸ insertAxis(axisIndex, axis, location, connectedObject?): Object
Insert new axis and connect with object
| Name | Type | Description |
|---|---|---|
axisIndex | number | desired axis index |
axis | Axis | AxisOptions | new axis instance or options |
location | AnnotationLocation | location of annotation for adding new axis |
Optional connectedObject | Group<Node> | connected object of axis |
Object
▸ insertBaseLayer(index, baseLayer): CrossPlot
Insert child baseLayer at specified index
| Name | Type | Description |
|---|---|---|
index | number | specified index |
baseLayer | Node | a baseLayer to add |
this
AnnotatedWidget.insertBaseLayer
▸ insertChild(index, node): CrossPlot
Insert child node at specified index
| Name | Type | Description |
|---|---|---|
index | number | specified index |
node | Node | a child node to add |
this
▸ insertOverlay(index, overlay): CrossPlot
Insert child overlay at specified index
| Name | Type | Description |
|---|---|---|
index | number | specified index |
overlay | Node | a overlay to add |
this
▸ invalidate(bounds?, force?): CrossPlot
Invalidate node
| Name | Type | Description |
|---|---|---|
Optional bounds | Rect | optional rectangular area to be invalidated, or force flag if rectangle is empty |
Optional force | boolean | optional boolean parameter that can force invalidation |
this
▸ invalidateLayout(propagate?): CrossPlot
Notify that layout is invalidated. Send event Events.LayoutInvalidated
| Name | Type | Description |
|---|---|---|
Optional propagate | boolean | propagate invalidate layout to parent |
this
AnnotatedWidget.invalidateLayout
▸ invalidateParent(bounds?, force?): CrossPlot
Invalidate parent area
| Name | Type | Description |
|---|---|---|
Optional bounds | Rect | area to invalidate |
Optional force | boolean | force |
this
AnnotatedWidget.invalidateParent
▸ isClippingEnabled(): boolean
Returns if clipping is enabled or not for this node.
boolean
AnnotatedWidget.isClippingEnabled
▸ isDisposed(): boolean
Returns whether this object has been disposed
boolean
▸ isEventPropagationEnabled(): boolean
Return true if event propagation is enabled from child to parent
boolean
AnnotatedWidget.isEventPropagationEnabled
▸ isHorizontalFlip(): boolean
Return true if the representation is flipped horizontally
boolean
flip
AnnotatedWidget.isHorizontalFlip
▸ isLayoutInvalidated(): boolean
Return true if layout is invalid
boolean
AnnotatedWidget.isLayoutInvalidated
▸ isNotificationEnabled(): boolean
return state of notification
boolean
current notification state
AnnotatedWidget.isNotificationEnabled
▸ isPickingChildrenEnabled(): boolean
Returns if picking children is enabled or not for this node.
boolean
pickingChildren
AnnotatedWidget.isPickingChildrenEnabled
▸ isSelectable(): boolean
Returns true if node can be picked/selected.
boolean
The selectable flag
▸ isSilent(): boolean
Return true if the event dispatcher doesn't notify any events
boolean
▸ isVerticalFlip(): boolean
Return true if the representation is flipped vertically
boolean
flip
AnnotatedWidget.isVerticalFlip
▸ listToolsNames(): string[]
List all the tools contained in this composite. Prepend their parent tools parent using a '.'.
string[]
AnnotatedWidget.listToolsNames
▸ loadTemplate(template, registry?): void
Load template loads the saved visual properties of the current template. It is only a visual representation of the current widget. It does not contain any data
| Name | Type | Description |
|---|---|---|
template | string | template to be applied to current widget |
Optional registry | Registry | registry |
void
▸ moveTo(area, vAlign?, hAlign?): CrossPlot
MoveTo position of node to specified area
| Name | Type | Description |
|---|---|---|
area | Rect | specified area |
Optional vAlign | string | vertical alignment. It can be "top", "bottom", "center". |
Optional hAlign | string | horizontal alignment It can be "left", "right", "center". |
this
▸ notify<E>(type, source, args?): CrossPlot
Notify listeners of the Node
| Name | Type |
|---|---|
E | extends string |
| Name | Type | Description |
|---|---|---|
type | E | type of event |
source | AnnotatedWidget | source who called the event |
Optional args | EventMap[E] | event arguments |
this
▸ Protected notifyRoot(event, source, args?): Node
Notify an even to root node
| Name | Type | Description |
|---|---|---|
event | string | type of event |
source | Node | source who called the event |
Optional args | any | event arguments |
this
▸ off<E>(type?, callback?): CrossPlot
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: CrossPlot, args: EventMap[E]) => void | function to be called |
this
▸ on<E>(type, callback): CrossPlot
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: CrossPlot, args: EventMap[E]) => void | to be called |
this
▸ Protected onBoundsChanged(bounds): CrossPlot
Occurs when bounds has been changed
| Name | Type | Description |
|---|---|---|
bounds | Rect | bound of the node in the parent coordinates |
this
AnnotatedWidget.onBoundsChanged
▸ Protected onChildAdded(child): void
This method is called it child or children are added
void
▸ Protected onChildRemoved(child): void
This method is called it child or children are removed
| Name | Type | Description |
|---|---|---|
child | Node | removed child |
void
AnnotatedWidget.onChildRemoved
▸ Protected onParentChanged(node): CrossPlot
This method is called when parent changes. Do not call it directly.
| Name | Type | Description |
|---|---|---|
node | Node | node to change parent |
this
AnnotatedWidget.onParentChanged
▸ Protected onVisibilityChanged(): void
This method is called if visibility is changed. Send event Events.VisibilityChanged
void
AnnotatedWidget.onVisibilityChanged
▸ pan(dx, dy): CrossPlot
attempts to translate the model using the specific x, y translation
Fires
Events.ModelVisibleLimitsChanged
| Name | Type | Description |
|---|---|---|
dx | number | relative horizontal change |
dy | number | relative vertical change |
this
▸ panModelTo(target, animationOptions?): CrossPlot
Pans the content to the point.
| Name | Type | Description |
|---|---|---|
target | Point | Point where to pan in model space |
Optional animationOptions | PanAnimationOptions | Animation options |
▸ Protected postRendering(context, callback?): void
To be called after rendering, used for PDF output
| Name | Type | Description |
|---|---|---|
context | RenderingContext | Rendering Context |
Optional callback | () => void | callback to be called after rendering |
void
▸ Protected preRendering(context, callback?): void
Occurs before child rendering
| Name | Type | Description |
|---|---|---|
context | RenderingContext | Rendering Context |
Optional callback | () => void | callback to be called after rendering of geometry |
void
▸ rebuild(force?, changes?): CrossPlot
Rebuild node. This method resets state, cache, and invalidate node.
| Name | Type | Description |
|---|---|---|
Optional force | boolean | optional boolean parameter that can force invalidation |
Optional changes | StateChanges | optional parameter to specify a reason of changes |
this
▸ refreshLayout(): CrossPlot
Refresh layout of inner components of the widget
▸ registerAnimationStyle(root): void
Register animation style.
| Name | Type | Description |
|---|---|---|
root | Node | root node for node |
void
AnnotatedWidget.registerAnimationStyle
▸ removeAxis(axis): void
remove axis
| Name | Type | Description |
|---|---|---|
axis | Axis | axis to be removed |
void
▸ removeBaseLayer(baseLayer): CrossPlot
Remove child baseLayer
this
AnnotatedWidget.removeBaseLayer
▸ removeChild(node, disposeChildren?): CrossPlot
Remove child node
| Name | Type | Description |
|---|---|---|
node | Node | Node[] | node or array of nodes to be removed |
Optional disposeChildren | boolean | automatically dispose children. If it is true then method dispose is called for each child. |
this
▸ removeCssClass(cssclass): CrossPlot
Removes css class from node
| Name | Type | Description |
|---|---|---|
cssclass | string | string[] | css class name('s) |
this
AnnotatedWidget.removeCssClass
▸ removeInvalidateHandler(handler): CrossPlot
Remove invalidate handler
Deprecated
since 4.0, use Node.off instead
| Name | Type | Description |
|---|---|---|
handler | Function | handler to be notified about invalidation |
this
AnnotatedWidget.removeInvalidateHandler
▸ removeLegend(legendPanel): CrossPlot
remove legend
| Name | Type |
|---|---|
legendPanel | LegendPanel |
▸ removeOverlay(overlay): CrossPlot
Remove child overlay
this
▸ removeTitle(location): void
remove title in the location
| Name | Type | Description |
|---|---|---|
location | AnnotationLocation | of the title |
void
▸ render(context): void
Render group
| Name | Type | Description |
|---|---|---|
context | RenderingContext | context to render group |
void
▸ renderAsync(context, callback): void
Render node in asynchronous mode. This implementation doesn't support cache for now.
| Name | Type | Description |
|---|---|---|
context | RenderingContext | The rendering context to be used to draw the node |
callback | () => void | callback function |
void
▸ Protected renderBackground(context, bounds): CrossPlot
Render background
| Name | Type | Description |
|---|---|---|
context | RenderingContext | context to render background |
bounds | Rect | group bounds |
this
AnnotatedWidget.renderBackground
▸ Protected renderBaseLayers(context): CrossPlot
Render baseLayers on bottom of cache. This method does nothing, but can be implemented to render graphics on bottom of cache and between borders
| Name | Type | Description |
|---|---|---|
context | RenderingContext | context to render baseLayers |
this
AnnotatedWidget.renderBaseLayers
▸ Protected renderBaseLayersAsync(context, callback): void
Render baseLayers on bottom of cache in asynchronous mode. This method calls renderBaseLayers
| Name | Type | Description |
|---|---|---|
context | RenderingContext | context to render overlays |
callback | () => void | callback function |
void
AnnotatedWidget.renderBaseLayersAsync
▸ Protected renderChildren(context): void
Render children
| Name | Type | Description |
|---|---|---|
context | RenderingContext | Rendering Context |
void
AnnotatedWidget.renderChildren
▸ Protected renderChildrenAsync(context, callback): void
Render children async
| Name | Type | Description |
|---|---|---|
context | RenderingContext | Rendering Context |
callback | () => void | callback function to be called then all children are rendered |
void
AnnotatedWidget.renderChildrenAsync
▸ Protected renderContent(context): void
render to specified context. This method calls preRendering, renderChildren, postRendering
| Name | Type | Description |
|---|---|---|
context | RenderingContext | Rendering Context |
void
▸ Protected renderContentAsync(context, callback): void
Render children in asynchronous mode
| Name | Type | Description |
|---|---|---|
context | RenderingContext | The rendering context to be used to draw the node |
callback | () => void | callback function to be called then all children are rendered |
void
AnnotatedWidget.renderContentAsync
▸ Protected renderOverlays(context): CrossPlot
Render overlays on top of cache. This method does nothing, but can be implemented to render graphics on top of cache and between borders
| Name | Type | Description |
|---|---|---|
context | RenderingContext | context to render overlays |
this
AnnotatedWidget.renderOverlays
▸ Protected renderOverlaysAsync(context, callback): void
Render overlays on top of cache in asynchronous mode. This method calls renderOverlays
| Name | Type | Description |
|---|---|---|
context | RenderingContext | context to render overlays |
callback | () => void | callback function |
void
AnnotatedWidget.renderOverlaysAsync
▸ restoreToolState(): CrossPlot
Restore tools state
this
AnnotatedWidget.restoreToolState
▸ resumeUpdate(rebuild?, changes?): CrossPlot
Resume auto update
| Name | Type | Description |
|---|---|---|
Optional rebuild | boolean | force rebuild |
Optional changes | StateChanges | optional parameter to specify a reason of changes |
this
▸ rotate(theta, x, y): CrossPlot
Rotate bounds around a given coordinate
| Name | Type | Description |
|---|---|---|
theta | number | angle to rotate node, in radians |
x | number | x coordinate to rotate around |
y | number | y coordinate to rotate around |
this
▸ saveTemplate(registry?): string
Save template saves visual properties of the current template. It is only a visual representation of the current widget. It does not contain any data
| Name | Type | Description |
|---|---|---|
Optional registry | Registry | registry |
string
▸ saveToolsState(): CrossPlot
Saves tools state
this
AnnotatedWidget.saveToolsState
▸ scale(xx, yy): CrossPlot
Scale node
| Name | Type | Description |
|---|---|---|
xx | number | x scale factor |
yy | number | y scale factor |
this
▸ scaleModel(xx, yy, posX?, posY?): CrossPlot
Scale node's contents.
Fires
Events.ModelVisibleLimitsChanged
| Name | Type | Description |
|---|---|---|
xx | number | x scale factor |
yy | number | y scale factor |
Optional posX | number | x position to scale from (in pxl) |
Optional posY | number | y position to scale from (in pxl) |
▸ setAnimationStyle(animationStyle): CrossPlot
Sets animation style
| Name | Type | Description |
|---|---|---|
animationStyle | Type | animation style |
AnnotatedWidget.setAnimationStyle
▸ setAnnotationSize(annotationSize?, silent?): CrossPlot
apply size (width or height) to annotation (convenience method)
| Name | Type | Description |
|---|---|---|
Optional annotationSize | AnnotationSize | JSON to hold (width or height) of the annotation |
Optional silent | boolean | true for not updating crossplot information about sizes |
this
AnnotatedWidget.setAnnotationSize
▸ setAnnotationsOptions(options): CrossPlot
Sets annotations' options. currently setAnnotationOptions can only modify existing annotation, while the constructor for the widget can create new ones.
| Name | Type | Description |
|---|---|---|
options | AnnotationOptions | JSON to hold annotations' options |
this
AnnotatedWidget.setAnnotationsOptions
▸ setAutoModelLimitsMode(mode): CrossPlot
Set Model Limits Logics to use when no Model Limits have been set set to true: will use parents width and height, starting at 0 set to false: will use parents bounds. This is convenient method. It creates AutoModelLimitsStrategy
| Name | Type | Description |
|---|---|---|
mode | boolean | Model Limits Logics to be used |
this
AnnotatedWidget.setAutoModelLimitsMode
▸ setAutoModelLimitsStrategy(strategy): CrossPlot
Set Model Limits Logics Strategy
| Name | Type | Description |
|---|---|---|
strategy | ModelLimitsStrategy | Model Limits logic strategy to use |
this
AnnotatedWidget.setAutoModelLimitsStrategy
▸ setAxisDataOptions(axis, data?, xplotData?): Options
Set Parameters for axis
| Name | Type | Description |
|---|---|---|
axis | Axes | axis to apply ('x', 'y' or 'z') |
Optional data | AxisDataOptions | JSON which defines data. |
Optional xplotData | Options | optional data |
▸ setBounds(bounds): CrossPlot
Sets bounds of the node in the parent coordinates
this
▸ setCache(cache, rebuild?): CrossPlot
Sets cache to be used to cache
| Name | Type | Description |
|---|---|---|
cache | Cache | cache to be used |
Optional rebuild | boolean | rebuild cache |
this
▸ setCenterModelLimits(modellimits): CrossPlot
Set the model limits of center model
Fires
Events.ModelVisibleLimitsChanged
Example
//artificially expand the widget model limits
import {Rect} from '@int/geotoolkit/util/Rect';
const newLimits = new Rect(0,0,10,10);
widget.setCenterModelLimits(newLimits);| Name | Type | Description |
|---|---|---|
modellimits | Rect | model limits |
AnnotatedWidget.setCenterModelLimits
▸ setChild(index, node): CrossPlot
Replace child node by index
| Name | Type | Description |
|---|---|---|
index | number | index of the node |
node | Node | node |
this
▸ setClipStyle(style): CrossPlot
Sets a new clipping style
| Name | Type | Description |
|---|---|---|
style | GraphicsPath | ClipStyle | Options | a new clipping style |
this
▸ setColorProvider(cp?): CrossPlot
Sets color provider
| Name | Type | Description |
|---|---|---|
Optional cp | ColorProvider | Options & { type?: string } | color provider |
▸ setContentOrientation(orientation): CrossPlot
Set content orientation
| Name | Type | Description |
|---|---|---|
orientation | Orientation | content orientation |
this
AnnotatedWidget.setContentOrientation
▸ setCss(style, merge?): CrossPlot
Sets CSS style. This style will be applied for all inserted elements
| Name | Type | Description |
|---|---|---|
style | Type | CSS style to be applied to inserted elements |
Optional merge | boolean | merge flag |
this
▸ setCssClass(name): CrossPlot
Sets css class name of the node to be used to apply CSS style
| Name | Type | Description |
|---|---|---|
name | string | css class name of the node |
this
▸ setCssTransform(transform): CrossPlot
Set CSS transformation
| Name | Type | Description |
|---|---|---|
transform | string | Transformation | transformation css transformation instruction or Transformation instance |
this
AnnotatedWidget.setCssTransform
▸ setData(data?): CrossPlot
Sets data options (for non-data parameters use CrossPlot.prototype.setOptions)
Example
// To add colors according to the scale, specify necessary ranges and then provide an instance of the color provider like shown below.
import {RangeColorProvider} from '@int/geotoolkit/util/RangeColorProvider';
import {Range} from '@int/geotoolkit/util/Range';
const colorProvider = new RangeColorProvider({
'values': [
new Range(0, 50),
new Range(50, 100),
new Range(100, 150)
],
'colors': ['blue', 'red', 'green']
});
widget.setData({
...
'colorprovider': colorProvider
});| Name | Type | Description |
|---|---|---|
Optional data | DataOptions | options and data |
this
▸ setDesiredHeight(value, silent?): CrossPlot
Sets desired height of the group as a layoutable object
| Name | Type | Description |
|---|---|---|
value | string | number | desired height to set, use 'auto' for automatic desired height |
Optional silent | boolean | silent setting |
this
AnnotatedWidget.setDesiredHeight
▸ setDesiredWidth(value, silent?): CrossPlot
Sets desired width of the group as a layoutable object
| Name | Type | Description |
|---|---|---|
value | string | number | desired width to set |
Optional silent | boolean | silent setting |
this
AnnotatedWidget.setDesiredWidth
▸ setExportLimits(limits): CrossPlot
Sets export limits
| Name | Type | Description |
|---|---|---|
limits | Rect | export limits |
AnnotatedWidget.setExportLimits
▸ setExportScale(scale): CrossPlot
Sets export scale.
| Name | Type | Description |
|---|---|---|
scale | Object | scale |
scale.x | number | scale by x form model to device |
scale.y | number | scale by y form model to device |
AnnotatedWidget.setExportScale
▸ setFillStyle(fillStyle, merge?): CrossPlot
Sets fill style
| Name | Type | Description |
|---|---|---|
fillStyle | Type | a new fill style |
Optional merge | boolean | true if you want to merge fillStyle with existing attribute, false by default |
this
▸ setHeaderOptions(options?): CrossPlot
Set Options for Header
| Name | Type | Description |
|---|---|---|
Optional options | HeaderOptions | JSON which defines header area |
this
▸ setHorizontalFlip(enable): CrossPlot
Set horizontal flip of the representation
| Name | Type | Description |
|---|---|---|
enable | boolean | enable flip |
this
AnnotatedWidget.setHorizontalFlip
▸ setId(id): CrossPlot
Allows the user to associate any identifier
| Name | Type | Description |
|---|---|---|
id | string | number | object id |
this
▸ setInfiniteMode(infinityMode): CrossPlot
Set infinity mode flag to draw composite without collision check
| Name | Type | Description |
|---|---|---|
infinityMode | boolean | infinity mode flag |
this
AnnotatedWidget.setInfiniteMode
▸ setLayout(layout): CrossPlot
Associate layout with a group.
| Name | Type | Description |
|---|---|---|
layout | Record<string, any> | Layout | layout instance to be set or layout properties to apply |
this
▸ Protected setLayoutInvalidated(invalidated): void
Set invalidation status
| Name | Type | Description |
|---|---|---|
invalidated | boolean | invalidated layout |
void
AnnotatedWidget.setLayoutInvalidated
▸ setLayoutStyle(layoutStyle, silent?, merge?): CrossPlot
specify desired layout style
| Name | Type | Description |
|---|---|---|
layoutStyle | LayoutStyle<string | number> | Options<string | number> | desired layout style |
Optional silent | boolean | silent setting |
Optional merge | boolean | true if you want to merge layoutStyle with existing attribute, false by default |
this
AnnotatedWidget.setLayoutStyle
▸ setLineStyle(lineStyle, merge?): CrossPlot
Sets border color Returns this
| Name | Type | Description |
|---|---|---|
lineStyle | Type | line style or options |
Optional merge | boolean | true if you want to merge lineStyle with existing attribute, false by default |
this
▸ setLocalTransform(localTransform, force?): CrossPlot
Sets local transformation to be used to transform from local to parent coordinate
| Name | Type | Description |
|---|---|---|
localTransform | Transformation | local transformation for this node |
Optional force | boolean | boolean flag to force update event if transformations are equal, false by default |
this
AnnotatedWidget.setLocalTransform
▸ setMarginsStyle(margins, merge?): CrossPlot
Sets margins style
| Name | Type | Description |
|---|---|---|
margins | Type<string | number> | margins style |
Optional merge | boolean | true if you want to merge marginsStyle with existing attribute, false by default |
this
AnnotatedWidget.setMarginsStyle
▸ setMarkerOptions(data?): CrossPlot
Set marker Options
| Name | Type | Description |
|---|---|---|
Optional data | MarkerOptions | JSON which defines marker options |
this
▸ setModelLimits(limits): CrossPlot
Sets inner model limits
| Name | Type | Description |
|---|---|---|
limits | Type | inner limits |
this
AnnotatedWidget.setModelLimits
▸ setModelTransformation(transformation): CrossPlot
Attempts to set local transformation for the model. NOTE: the local transformation set may not be equal to transformation passed - it depends on current ScaleScrollStrategy set on the node.
| Name | Type | Description |
|---|---|---|
transformation | Transformation | transformation to set |
AnnotatedWidget.setModelTransformation
▸ setName(name): CrossPlot
Sets name of the node
| Name | Type | Description |
|---|---|---|
name | string | The node name |
this
▸ setNotification(notify, force?): CrossPlot
set notification state
| Name | Type | Description |
|---|---|---|
notify | boolean | flag set to invalidate parent or not |
Optional force | boolean | true if parent should be invalidated immediately |
this
AnnotatedWidget.setNotification
▸ setOpacity(opacity, blendMode?): CrossPlot
Sets node opacity
| Name | Type | Description |
|---|---|---|
opacity | number | node opacity from 0 to 1 |
Optional blendMode | BlendMode | opacity blend mode. If it is normal, opacity will be replaced. |
this
▸ setOptions(data?): CrossPlot
Sets specific non-data options for the visuals like header, marker color etc.
Example
import {DiscreteGradientColorProvider} from '@int/geotoolkit/util/DiscreteGradientColorProvider';
import {KnownScales} from '@int/geotoolkit/util/ColorProvider';
crossplotwidget.setOptions({
'colorprovider': new DiscreteGradientColorProvider({'bins': 255}).setScale(KnownScales.Winter, 1, 7)
});| Name | Type | Description |
|---|---|---|
Optional data | Options | options to apply see CrossPlot.setProperties |
this
▸ setPaddingStyle(paddingStyle, merge?): CrossPlot
Sets padding style
| Name | Type | Description |
|---|---|---|
paddingStyle | Type<string | number> | padding style |
Optional merge | boolean | true if you want to merge paddingStyle with existing attribute, false by default |
this
AnnotatedWidget.setPaddingStyle
▸ setProperties(properties?): CrossPlot
Sets specific non-data properties for the visuals like header, marker color etc.
| Name | Type | Description |
|---|---|---|
Optional properties | Options | properties to apply |
this
▸ setProperty(name, value): CrossPlot
Sets dynamic property by name
| Name | Type | Description |
|---|---|---|
name | string | property name |
value | any | property value |
this
▸ setRenderingFilter(filter): CrossPlot
Sets filter to be applied before rendering and picking
| Name | Type | Description |
|---|---|---|
filter | IFilter | filter to set |
this
AnnotatedWidget.setRenderingFilter
▸ setResponsiveStyle(style): CrossPlot
Sets responsive style.
| Name | Type | Description |
|---|---|---|
style | Options | ResponsiveStyle | responsive style |
this
AnnotatedWidget.setResponsiveStyle
▸ setScaleScrollStrategy(delegate): CrossPlot
set the scale scroll strategy to apply to the widget
| Name | Type | Description |
|---|---|---|
delegate | Delegate | scaleScrollStrategy to set |
this
AnnotatedWidget.setScaleScrollStrategy
▸ setSelectable(selectable): CrossPlot
Allows to select node. If node is not selectable then child node is not selectable.
| Name | Type | Description |
|---|---|---|
selectable | boolean | flag to allow node selection |
this
▸ setSilent(bool): CrossPlot
Set silent mode
| Name | Type | Description |
|---|---|---|
bool | boolean | flag to enable silent mode |
this
▸ setTag(tag): CrossPlot
Allows the user to associate any arbitrary object with the node.
| Name | Type | Description |
|---|---|---|
tag | any | The object to be associated with the node. |
this
▸ setTitleOptions(location, options): CrossPlot
set options for title
| Name | Type | Description |
|---|---|---|
location | AnnotationLocation | of the title |
options | Omit<TitleOptions, "location"> | title options |
AnnotatedWidget.setTitleOptions
▸ Protected setTool(tool): CrossPlot
Set root tool associated to this widget
| Name | Type | Description |
|---|---|---|
tool | CompositeTool | tool to be set |
▸ setToolsOptions(options): CrossPlot
Set Tools Options
Example
//To prevent the selection tool from deselecting the previously selected points, for example user can do the following:
annotatedWidget.setToolsOptions({
'selection': {
'resetselection': false
}
});| Name | Type | Description |
|---|---|---|
options | ToolsOptions | JSON which defines tools options |
this
AnnotatedWidget.setToolsOptions
▸ setVerticalFlip(flip): CrossPlot
Set vertical flip of the representation
| Name | Type | Description |
|---|---|---|
flip | boolean | flag to set the vertical flip of the representation |
this
AnnotatedWidget.setVerticalFlip
▸ setVisible(value): CrossPlot
Sets visibility of the node. Send event Events.VisibilityChanged
| Name | Type | Description |
|---|---|---|
value | boolean | flag specifying visibility of the node |
this
▸ setVisibleCenterModelLimits(newVisibleModelLimits): CrossPlot
Attempts to set model's visible limits to specified limits. NOTE: the limits set may not be equal to the limit passed - it depends on current ScaleScrollStrategy set on the node.
Fires
Events.ModelVisibleLimitsChanged
| Name | Type | Description |
|---|---|---|
newVisibleModelLimits | Rect | limits to set |
AnnotatedWidget.setVisibleCenterModelLimits
▸ setVisibleModelLimits(newVisibleModelLimits): CrossPlot
Attempts to set model's visible limits to specified limits. NOTE: the limits set may not be equal to the limit passed - it depends on current ScaleScrollStrategy set on the node.
| Name | Type | Description |
|---|---|---|
newVisibleModelLimits | Rect | limits to set |
AnnotatedWidget.setVisibleModelLimits
▸ setZIndex(value): CrossPlot
Sets z-index for node (set null for default)
| Name | Type | Description |
|---|---|---|
value | number | index determining node z-position |
this
▸ shear(shx, shy): CrossPlot
Shear this node's bounds
| Name | Type | Description |
|---|---|---|
shx | number | x-axis shear |
shy | number | y-axis shear |
this
▸ suspendUpdate(): CrossPlot
Suspend auto update
this
▸ switchOffCursorTool(): CrossPlot
Switch off ColorBarCursorTool ColorBarCursorTool
this
▸ switchOnCursorTool(symbolAlignment?, offset?, symbol?): CrossPlot
Switch on ColorBarCursorTool ColorBarCursorTool
| Name | Type | Description |
|---|---|---|
Optional symbolAlignment | SymbolAlignment | direction of symbol |
Optional offset | number | offset |
Optional symbol | SymbolShape | symbol for colorbar cursor |
this
▸ Protected synchronizeViewLimits(): CrossPlot
AnnotatedWidget.synchronizeViewLimits
▸ toString(): string
Returns a string representation of this object (generally the classname)
string
A string representation
▸ translate(tx, ty): CrossPlot
Translate bounds
| Name | Type | Description |
|---|---|---|
tx | number | x translation |
ty | number | y translation |
this
▸ translateModel(tx, ty): CrossPlot
Translates widget's contents.
Fires
Events.ModelVisibleLimitsChanged
| Name | Type | Description |
|---|---|---|
tx | number | x translation |
ty | number | y translation |
AnnotatedWidget.translateModel
▸ unregisterAnimationStyle(root): void
Unregister animation style.
| Name | Type | Description |
|---|---|---|
root | AnimatedNode | root node for node |
void
AnnotatedWidget.unregisterAnimationStyle
▸ updateLayout(targets?): CrossPlot
Updates layout(s)
Fires
| Name | Type | Description |
|---|---|---|
Optional targets | ILayoutable[] | optional parameter about which element to layout |
this
▸ updateSceneTransformation(): CrossPlot
Update scene transformation
this
AnnotatedWidget.updateSceneTransformation
▸ updateState(regions?, changes?): CrossPlot
Update state. These methods reset node state and update state for children. this method is useful to refresh a scene graph
| Name | Type | Description |
|---|---|---|
Optional regions | Rect[] | optional array to return invalid rectangles in the parent coordinates |
Optional changes | StateChanges | optional parameter to specify a reason of changes |
this
▸ updateSuspended(): boolean
Return state of suspend state
boolean
state of update
AnnotatedWidget.updateSuspended
▸ Protected updateTimeStamp(): CrossPlot
Update time stamp to indicate that Node or Children has been changed.
this
AnnotatedWidget.updateTimeStamp
▸ zoomIn(): CrossPlot
zoom in, with default factor = 5/4
this
▸ zoomOut(): CrossPlot
zoom out, with default factor = 5/4
this
▸ zoomToRect(limits?): void
Sets visible model limits
Fires
Events.ModelVisibleLimitsChanged
| Name | Type | Description |
|---|---|---|
Optional limits | Rect | the visible model limits |
void
▸ Static enableSceneGraphNotification(enabled): void
Enable / disable all notifications
| Name | Type | Description |
|---|---|---|
enabled | boolean | sets if this object sends notifications |
void
AnnotatedWidget.enableSceneGraphNotification
▸ Static findParent<T>(node, classType, filter?): InstanceType<T>
Find root of the node with specified type
| Name | Type |
|---|---|
T | extends Constructor<any> |
| Name | Type | Description |
|---|---|---|
node | Node | node to start search |
classType | T | type of the class to search for |
Optional filter | (node: Node) => boolean | additional filter to apply |
InstanceType<T>
▸ Static findParent(node, classType, filter?): Node
Find root of the node with specified type
| Name | Type | Description |
|---|---|---|
node | Node | node to start search |
classType | string | interface name to search for |
Optional filter | (node: Node) => boolean | additional filter to apply |
▸ Static getClassName(): string
string
▸ Static isSceneGraphNotificationEnabled(): boolean
Return status of the global notification for all nodes.
boolean