[API](/solutions/geotoolkit/geotoolkit_js/apis/readme) / [geotoolkit](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit) / [welllog](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.welllog) / [widgets](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.welllog#widgets) / [tools](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.welllog#tools) / [CurveEditor](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.welllog#curveeditor) / CurveEditor

# Class: CurveEditor

[tools](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.welllog#tools).[CurveEditor](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.welllog#curveeditor).CurveEditor

<p>
Implements a tool capable of editing log curve sample points.
</p>
<p>
When given a curve, this tool will create a set of manipulatable handles corresponding with each data sample point.
If the curve is step interpolated, then the tool will build a set of lines covering the entire curve.
Curve editing tool does not edit the actual curve which it is corresponded with, instead, each manipulation
results in an event describing the action and changes. The tool can work in three modes: Edit, Insert, and Delete.
</p>
<h4>
Edit Mode:
</h4>
<p>
Provides a set of handles which become activated when clicked, and deactivated when released, and dragged with the mouse when the mouse pointer is moved.
</p>
<ul>
<li>When a mouse down occurs, "dragstart" event is fired with parameters:
<ul>
<li>depth: The depth (y) in curve model which belongs to the point where mouse down occurred</li>
<li>value: The value (x) in curve model which belongs to the point where mouse down occurred</li>
</ul>
</li>
<li>When a mouse up occurs, "dragend" event is fired with parameters:
<ul>
<li>depth: The depth (y) in curve model which belongs to the point where mouse up occurred </li>
<li>value: The value (x) in curve model which belongs to the point where mouse up occurred </li>
<li>index: The index of manipulated data point in the original data set </li>
</ul>
</li>
<li>If a mouse move occurs, "dragging" event is fired with parameters:
<ul>
<li>oldDepth: the depth (y) of the handle before the dragging occurred</li>
<li>oldValue: the value (x) of the handle before the dragging occurred</li>
<li>depth: the new depth (y) of the handle, resultant from the dragging action</li>
<li>value: the new value (x) of the handle, resultant from the dragging action</li>
<li>index: the index of the data sample (in the array of all data samples of the curve corresponding to this tool), which is being manipulated</li>
</ul>
</li>
</ul>
<h4>Insert Mode:</h4>
<p>
Fires an "insert" event when a mouse down on the track occurs, also fires "move" event when the mouse pointer moves across the curve.
</p>
<ul>
<li>If a mouse move occurs, "move" event is fired with following arguments:
<ul>
<li>depth: The depth (y) of the mouse pointer in the curve model</li>
<li>value: The value (x) of the mouse pointer in the curve model</li>
<li>handleDepth: The depth of the handle which moves along the curve as the projection of the mouse pointer position</li>
<li>handleValue: The value of the handle which moves along the curve as the projection of the mouse pointer position</li>
</ul>
</li>
<li>When a mouse down occurs, "insert" event is fired with following arguments:
<ul>
<li>depth: The depth (y) of the mouse pointer in the curve model</li>
<li>value: The value (x) of the mouse pointer in the curve model</li>
<li>handleDepth: The depth of the handle which moves along the curve as the projection of the mouse pointer position</li>
<li>handleValue: The value of the handle which moves along the curve as the projection of the mouse pointer position</li>
</ul>
</li>
</ul>
<h4>Delete Mode:</h4>
<p>
Fires a "delete" event with handle info every time a mouse down occurs on a handle.
</p>
<ul>
<li>When a mouse down occurs on top of a handle, a "delete" event is fired with parameters:
<ul>
<li>depth: The depth of the data point corresponding to the handle</li>
<li>value: The value of the data point corresponding to the handle</li>
<li>index: The index of the data point in the original data set</li>
</ul>
</li>
</ul>
</br>
<p>
<strong>NOTE</strong>: If the curve is interpolated with StartStep, MiddleStep, or EndStep, the tool will draw lines between each
point, </br>
and the events will be fired with the information about the point which the tool edits. However, in case of Middle
Step, the point divides some lines in two, and some lines do not have any original data set points to manipulate: </br>
p1----------p2 (p1 and p2 are not registered in curve data set) </br>
| </br>
| </br>
p3 (this is the only point which actually existed in the data set) </br>
| </br>
| </br>
p5----------p4 (p4 and p4 are not registered in curve data set) </br>
</p>

## Hierarchy

- [`AbstractLogVisualEditingTool`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.abstractlogvisualeditingtool.abstractlogvisualeditingtool)
↳ **`CurveEditor`**


## Table of contents

Constructors
| [new CurveEditor()](/solutions/geotoolkit/GeoToolkit_JS/apis/classes/geotoolkit.welllog.widgets-4.tools-5.curveeditor.curveeditor.md#new curveeditor()) | [new CurveEditor(layer, cachedManipulatorLayer)](/solutions/geotoolkit/GeoToolkit_JS/apis/classes/geotoolkit.welllog.widgets-4.tools-5.curveeditor.curveeditor.md#new curveeditor(layer, cachedmanipulatorlayer)) | [new CurveEditor(options)](/solutions/geotoolkit/GeoToolkit_JS/apis/classes/geotoolkit.welllog.widgets-4.tools-5.curveeditor.curveeditor.md#new curveeditor(options)) |
|  --- | --- | --- |


Methods
| [addHandle](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.curveeditor.curveeditor#addhandle) | [addListener](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.curveeditor.curveeditor#addlistener) | [captureMouseUp](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.curveeditor.curveeditor#capturemouseup) |
|  --- | --- | --- |
| [checkHandleCollision](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.curveeditor.curveeditor#checkhandlecollision) | [createHandles](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.curveeditor.curveeditor#createhandles) | [dispose](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.curveeditor.curveeditor#dispose) |
| [findSampleIndex](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.curveeditor.curveeditor#findsampleindex) | [fireEvent](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.curveeditor.curveeditor#fireevent) | [getActiveHandle](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.curveeditor.curveeditor#getactivehandle) |
| [getCachedManipulatorLayer](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.curveeditor.curveeditor#getcachedmanipulatorlayer) | [getClassName](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.curveeditor.curveeditor#getclassname) | [getDeviceXY](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.curveeditor.curveeditor#getdevicexy) |
| [getEventRadius](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.curveeditor.curveeditor#geteventradius) | [getHandle](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.curveeditor.curveeditor#gethandle) | [getHandleInsideTrack](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.curveeditor.curveeditor#gethandleinsidetrack) |
| [getHandlePainter](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.curveeditor.curveeditor#gethandlepainter) | [getHandleSize](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.curveeditor.curveeditor#gethandlesize) | [getHandleStyles](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.curveeditor.curveeditor#gethandlestyles) |
| [getHandlesCount](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.curveeditor.curveeditor#gethandlescount) | [getHandlesType](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.curveeditor.curveeditor#gethandlestype) | [getHideGhostOnDrop](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.curveeditor.curveeditor#gethideghostondrop) |
| [getHideInactiveHandles](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.curveeditor.curveeditor#gethideinactivehandles) | [getHideSpillingHandles](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.curveeditor.curveeditor#gethidespillinghandles) | [getManipulatorLayer](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.curveeditor.curveeditor#getmanipulatorlayer) |
| [getMode](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.curveeditor.curveeditor#getmode) | [getMouseRadius](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.curveeditor.curveeditor#getmouseradius) | [getName](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.curveeditor.curveeditor#getname) |
| [getParentTool](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.curveeditor.curveeditor#getparenttool) | [getPosition](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.curveeditor.curveeditor#getposition) | [getProperties](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.curveeditor.curveeditor#getproperties) |
| [getProperty](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.curveeditor.curveeditor#getproperty) | [getPropertyKeys](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.curveeditor.curveeditor#getpropertykeys) | [getRoot](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.curveeditor.curveeditor#getroot) |
| [getShape](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.curveeditor.curveeditor#getshape) | [getShowGhost](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.curveeditor.curveeditor#getshowghost) | [getTouchRadius](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.curveeditor.curveeditor#gettouchradius) |
| [getVerticalEditAllowed](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.curveeditor.curveeditor#getverticaleditallowed) | [hasEventListener](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.curveeditor.curveeditor#haseventlistener) | [hideHandles](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.curveeditor.curveeditor#hidehandles) |
| [isActive](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.curveeditor.curveeditor#isactive) | [isDisposed](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.curveeditor.curveeditor#isdisposed) | [isDoubleClick](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.curveeditor.curveeditor#isdoubleclick) |
| [isEnabled](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.curveeditor.curveeditor#isenabled) | [isSilent](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.curveeditor.curveeditor#issilent) | [isTouchEvent](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.curveeditor.curveeditor#istouchevent) |
| [makeSelection](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.curveeditor.curveeditor#makeselection) | [notify](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.curveeditor.curveeditor#notify) | [off](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.curveeditor.curveeditor#off) |
| [on](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.curveeditor.curveeditor#on) | [onActiveStateChanged](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.curveeditor.curveeditor#onactivestatechanged) | [onEnabledStateChanged](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.curveeditor.curveeditor#onenabledstatechanged) |
| [onMouseDown](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.curveeditor.curveeditor#onmousedown) | [onMouseMove](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.curveeditor.curveeditor#onmousemove) | [onMouseUp](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.curveeditor.curveeditor#onmouseup) |
| [pageToCanvas](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.curveeditor.curveeditor#pagetocanvas) | [pointToModel](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.curveeditor.curveeditor#pointtomodel) | [removeHandle](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.curveeditor.curveeditor#removehandle) |
| [removeHandles](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.curveeditor.curveeditor#removehandles) | [removeListener](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.curveeditor.curveeditor#removelistener) | [setActive](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.curveeditor.curveeditor#setactive) |
| [setActiveHandle](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.curveeditor.curveeditor#setactivehandle) | [setEnabled](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.curveeditor.curveeditor#setenabled) | [setHandleInsideTrack](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.curveeditor.curveeditor#sethandleinsidetrack) |
| [setHandlePainter](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.curveeditor.curveeditor#sethandlepainter) | [setHandleSize](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.curveeditor.curveeditor#sethandlesize) | [setHandleStyles](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.curveeditor.curveeditor#sethandlestyles) |
| [setHandlesType](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.curveeditor.curveeditor#sethandlestype) | [setHandlesVisible](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.curveeditor.curveeditor#sethandlesvisible) | [setHideGhostOnDrop](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.curveeditor.curveeditor#sethideghostondrop) |
| [setHideInactiveHandles](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.curveeditor.curveeditor#sethideinactivehandles) | [setHideSpillingHandles](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.curveeditor.curveeditor#sethidespillinghandles) | [setMode](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.curveeditor.curveeditor#setmode) |
| [setMouseRadius](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.curveeditor.curveeditor#setmouseradius) | [setName](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.curveeditor.curveeditor#setname) | [setPosition](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.curveeditor.curveeditor#setposition) |
| [setProperties](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.curveeditor.curveeditor#setproperties) | [setProperty](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.curveeditor.curveeditor#setproperty) | [setShape](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.curveeditor.curveeditor#setshape) |
| [setShowGhost](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.curveeditor.curveeditor#setshowghost) | [setSilent](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.curveeditor.curveeditor#setsilent) | [setSlotEnabled](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.curveeditor.curveeditor#setslotenabled) |
| [setSlots](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.curveeditor.curveeditor#setslots) | [setTouchRadius](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.curveeditor.curveeditor#settouchradius) | [setVerticalEditAllowed](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.curveeditor.curveeditor#setverticaleditallowed) |
| [showHandles](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.curveeditor.curveeditor#showhandles) | [start](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.curveeditor.curveeditor#start) | [stop](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.curveeditor.curveeditor#stop) |
| [toggle](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.curveeditor.curveeditor#toggle) | [update](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.curveeditor.curveeditor#update) | [canvasToClient](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.curveeditor.curveeditor#canvastoclient) |
| [clientToCanvas](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.curveeditor.curveeditor#clienttocanvas) | [getClassName](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.curveeditor.curveeditor#getclassname-1) | [getExclusiveTool](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.curveeditor.curveeditor#getexclusivetool) |
| [getNativeEventName](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.curveeditor.curveeditor#getnativeeventname) | [isTouchEvent](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.curveeditor.curveeditor#istouchevent-1) | [lock](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.curveeditor.curveeditor#lock) |
| [setDefaultMouseRadius](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.curveeditor.curveeditor#setdefaultmouseradius) | [setDefaultTouchRadius](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.curveeditor.curveeditor#setdefaulttouchradius) | [unlock](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.curveeditor.curveeditor#unlock) |


Css Properties
| Name  | Type  | Description |
|  --- | --- | --- |
| `cachedlayer` | [`Group`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.group.group#css-props) | Layer to which handles will be added. Cache enabled |
| `cachedlayer-automodellimitsmode` | `boolean` | Auto model limits mode |
| `cachedlayer-bounds` | [`Rect`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.util.rect.rect#css-props) | Define position of the group in the parent |
| `cachedlayer-bounds-height` | `number` | Height |
| `cachedlayer-bounds-readonly` | `boolean` | Readonly |
| `cachedlayer-bounds-width` | `number` | Width |
| `cachedlayer-bounds-x` | `number` | Left |
| `cachedlayer-bounds-y` | `number` | Top |
| `cachedlayer-clipping` | `boolean` | Enable clipping, this does not consider the clipstyle, it is related to bounds-clipping |
| `cachedlayer-clipstyle` | [`ClipStyle`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.attributes.clipstyle.clipstyle#css-props) | Clipping style |
| `cachedlayer-clipstyle-evenodd` | `boolean` | True if evenodd mode is on (&#x27;nonzero&#x27; mode otherwise) |
| `cachedlayer-clipstyle-geometry` | [`GraphicsPath`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.renderer.graphicspath.graphicspath#css-props) | Clipping geometry |
| `cachedlayer-clipstyle-geometry-bounds` | [`Rect`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.util.rect.rect#css-props) | Bounds |
| `cachedlayer-clipstyle` | [`GraphicsPath`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.renderer.graphicspath.graphicspath#css-props) | Clipping style |
| `cachedlayer-contentorientation` | [`Orientation`](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.util#orientation#orientation) | Content orientation |
| `cachedlayer-cssclass` | `string` | The css class name of this node |
| `cachedlayer-csscursor` | `string` | CSS cursor associated with node |
| `cachedlayer-cssstyle` | `string` | CSS style to be applied to inserted elements |
| `cachedlayer-fillstyle` | `string` | Fill style |
| `cachedlayer-fillstyle` | [`FillStyle`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.attributes.fillstyle.fillstyle#css-props) | Fill style |
| `cachedlayer-fillstyle-color` | `string` | Color in CSS form |
| `cachedlayer-fillstyle-evenoddmode` | `boolean` | Even-odd fill mode |
| `cachedlayer-fillstyle-fillpattern` | [`Pattern`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.attributes.pattern.pattern#css-props) | Pattern |
| `cachedlayer-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 |
| `cachedlayer-fillstyle-fillpattern-patternname` | `string` | Name of this pattern for indexing |
| `cachedlayer-fillstyle-fillpattern-scalable` | `boolean` | Flag that sets scalability of the pattern
coordinates, or relative to the shape it is filling (It is not supported) |
| `cachedlayer-fillstyle-foreground` | `string` | Foreground color |
| `cachedlayer-fillstyle-pattern` | [`Pattern`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.attributes.pattern.pattern#css-props) | Pattern |
| `cachedlayer-horizontalflip` | `boolean` | Horizontal axis goes from right to left |
| `cachedlayer-id` | `string | number` | Id of the node, its a unique identifier |
| `cachedlayer-infinity` | `boolean` | Mode to render outside the model limits |
| `cachedlayer-layoutstyle` | [`LayoutStyle`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.layout.layoutstyle.layoutstyle#css-props) | Layout style to be used for parent layout |
| `cachedlayer-layoutstyle-constraint` | [`SizeConstraint`](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.layout#sizeconstraint#sizeconstraint) | Layout constrains |
| `cachedlayer-layoutstyle-flexgrow` | `number` | Number specifying how much the item will grow relative to the rest of the items inside the same container |
| `cachedlayer-layoutstyle-flexshrink` | `number` | Number specifying how much the item will shrink relative to the rest of the items inside the same container |
| `cachedlayer-layoutstyle-float` | `string` | Float position |
| `cachedlayer-layoutstyle-position` | `string` | Layout position |
| `cachedlayer-layoutstyle-size` | `number | string` | Layout size |
| `cachedlayer-linestyle` | `string` | Line style |
| `cachedlayer-linestyle` | [`LineStyle`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.attributes.linestyle.linestyle#css-props) | Line style |
| `cachedlayer-linestyle-color` | `string` | Color in CSS form |
| `cachedlayer-linestyle-fill` | `string` | Optional fill style to be used to fill lines generated with this style |
| `cachedlayer-linestyle-fill` | [`FillStyle`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.attributes.fillstyle.fillstyle#css-props) | Optional fill style to be used to fill lines generated with this style |
| `cachedlayer-linestyle-linecap` | [`CapStyle`](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.attributes.linestyle#capstyle) | The line cap style |
| `cachedlayer-linestyle-linedashoffset` | `number` | Line dash offset of dashed line |
| `cachedlayer-linestyle-linejoin` | [`JoinStyle`](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.attributes.linestyle#joinstyle) | The line join style |
| `cachedlayer-linestyle-pixelsnapmode` | `boolean` | Pixel Snap Mode, default( |
| `cachedlayer-linestyle-scalable` | `boolean` | True if width should depend on transformation |
| `cachedlayer-linestyle-unit` | `string` | Optional unit for the width |
| `cachedlayer-linestyle-width` | `number | string` | The line thickness |
| `cachedlayer-localtransform` | [`Transformation`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.util.transformation.transformation#css-props) | Local transformation |
| `cachedlayer-localtransform-dx` | `number` | X axis translation |
| `cachedlayer-localtransform-dy` | `number` | Y axis translation |
| `cachedlayer-localtransform-xx` | `number` | X scale |
| `cachedlayer-localtransform-xy` | `number` | Xy skew |
| `cachedlayer-localtransform-yx` | `number` | Yx skew |
| `cachedlayer-localtransform-yy` | `number` | Y scale |
| `cachedlayer-margins` | `number | string` | It has properties for specifying the margins for each side |
| `cachedlayer-modellimits` | [`Rect`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.util.rect.rect#css-props) | Define inner model coordinates of the group |
| `cachedlayer-name` | `string` | Name of the node. It is often used for debugging purposes or to simplify queries |
| `cachedlayer-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 |
| `cachedlayer-opacityblendmode` | [`BlendMode`](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.util#blendmode#blendmode) | Node opacity mode to blend it |
| `cachedlayer-padding` | `number | string` | It has properties for specifying the padding for each side |
| `cachedlayer-pickingchildren` | `boolean` | Enable picking children |
| `cachedlayer-scalescrollstrategy` | [`ScaleScrollStrategy`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.scalescrollstrategy.scalescrollstrategy#css-props) | Scale scroll strategy |
| `cachedlayer-scalescrollstrategy-enabled` | `boolean` | Enable flag |
| `cachedlayer-selectable` | `boolean` | Selectable node, a boolean to determine if selection should consider this node |
| `cachedlayer-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 |
| `cachedlayer-transform` | `string` | Additional CSS transformation applied to node or &#x27;none&#x27; |
| `cachedlayer-transform` | [`Transformation`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.util.transformation.transformation#css-props) | Additional CSS transformation applied to node or &#x27;none&#x27; |
| `cachedlayer-verticalflip` | `boolean` | Vertical axis goes from bottom to top |
| `cachedlayer-viewcache` | `boolean` | View cache to cache child nodes |
| `cachedlayer-visible` | `boolean` | Visibility of the node, a boolean to determine if the node should be rendered or not |
| `cachedlayer-z-index` | `number` | Define node z-index |
| `cachedlayer` | [`Layer`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.layer.layer#css-props) | Layer to which handles will be added. Cache enabled |
| `cachedlayer-clipping` | `boolean` | Enable clipping, this does not consider the clipstyle, it is related to bounds-clipping |
| `cachedlayer-clipstyle` | [`ClipStyle`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.attributes.clipstyle.clipstyle#css-props) | Clipping style |
| `cachedlayer-clipstyle` | [`GraphicsPath`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.renderer.graphicspath.graphicspath#css-props) | Clipping style |
| `cachedlayer-cssclass` | `string` | The css class name of this node |
| `cachedlayer-csscursor` | `string` | CSS cursor associated with node |
| `cachedlayer-cssstyle` | `string` | CSS style to be applied to inserted elements |
| `cachedlayer-id` | `string | number` | Id of the node, its a unique identifier |
| `cachedlayer-infinity` | `boolean` | Mode to render outside the model limits |
| `cachedlayer-localtransform` | [`Transformation`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.util.transformation.transformation#css-props) | Local transformation |
| `cachedlayer-margins` | `number | string` | It has properties for specifying the margins for each side |
| `cachedlayer-name` | `string` | Name of the node. It is often used for debugging purposes or to simplify queries |
| `cachedlayer-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 |
| `cachedlayer-opacityblendmode` | [`BlendMode`](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.util#blendmode#blendmode) | Node opacity mode to blend it |
| `cachedlayer-scalescrollstrategy` | [`ScaleScrollStrategy`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.scalescrollstrategy.scalescrollstrategy#css-props) | Scale scroll strategy |
| `cachedlayer-selectable` | `boolean` | Selectable node, a boolean to determine if selection should consider this node |
| `cachedlayer-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 |
| `cachedlayer-transform` | `string` | Additional CSS transformation applied to node or &#x27;none&#x27; |
| `cachedlayer-transform` | [`Transformation`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.util.transformation.transformation#css-props) | Additional CSS transformation applied to node or &#x27;none&#x27; |
| `cachedlayer-visible` | `boolean` | Visibility of the node, a boolean to determine if the node should be rendered or not |
| `cachedlayer-z-index` | `number` | Define node z-index |
| `enabled` | `boolean` | Enabled state |
| `handlesize` | `number` | Handle size |
| `handlestyles` | [`HandleStyles`](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.welllog#widgets-4#tools-5#abstractlogvisualeditingtool#abstractlogvisualeditingtool#handlestyles) | Object containing stylings for different types of handle states |
| `handlestyles-activefillstyle` | `string` | Fill Style of the handle when it is selected and active |
| `handlestyles-activefillstyle` | [`FillStyle`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.attributes.fillstyle.fillstyle#css-props) | Fill Style of the handle when it is selected and active |
| `handlestyles-activelinestyle` | `string` | Line Style of the handle when it is active |
| `handlestyles-activelinestyle` | [`LineStyle`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.attributes.linestyle.linestyle#css-props) | Line Style of the handle when it is active |
| `handlestyles-ghostfillstyle` | `string` | Fill Style of the handle when it is in ghost state |
| `handlestyles-ghostfillstyle` | [`FillStyle`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.attributes.fillstyle.fillstyle#css-props) | Fill Style of the handle when it is in ghost state |
| `handlestyles-ghostlinestyle` | `string` | Line Style of the handle when it is in ghost state |
| `handlestyles-ghostlinestyle` | [`LineStyle`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.attributes.linestyle.linestyle#css-props) | Line Style of the handle when it is in ghost state |
| `handlestyles-inactivefillstyle` | `string` | Fill Style of the handle when it is selected and inactive |
| `handlestyles-inactivefillstyle` | [`FillStyle`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.attributes.fillstyle.fillstyle#css-props) | Fill Style of the handle when it is selected and inactive |
| `handlestyles-inactivelinestyle` | `string` | Line Style of the handle when it is inactive |
| `handlestyles-inactivelinestyle` | [`LineStyle`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.attributes.linestyle.linestyle#css-props) | Line Style of the handle when it is inactive |
| `handlestype` | [`HandlesType`](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.welllog#widgets-4#tools-5#curveeditor#handlestype) | Handles display type |
| `layer` | [`CompositeNode`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode#css-props) | Manipulator layer |
| `layer-clipping` | `boolean` | Enable clipping, this does not consider the clipstyle, it is related to bounds-clipping |
| `layer-clipstyle` | [`ClipStyle`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.attributes.clipstyle.clipstyle#css-props) | Clipping style |
| `layer-clipstyle` | [`GraphicsPath`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.renderer.graphicspath.graphicspath#css-props) | Clipping style |
| `layer-cssclass` | `string` | The css class name of this node |
| `layer-csscursor` | `string` | CSS cursor associated with node |
| `layer-cssstyle` | `string` | CSS style to be applied to inserted elements |
| `layer-id` | `string | number` | Id of the node, its a unique identifier |
| `layer-infinity` | `boolean` | Mode to render outside the model limits |
| `layer-localtransform` | [`Transformation`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.util.transformation.transformation#css-props) | Local transformation |
| `layer-margins` | `number | string` | It has properties for specifying the margins for each side |
| `layer-name` | `string` | Name of the node. It is often used for debugging purposes or to simplify queries |
| `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 |
| `layer-opacityblendmode` | [`BlendMode`](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.util#blendmode#blendmode) | Node opacity mode to blend it |
| `layer-scalescrollstrategy` | [`ScaleScrollStrategy`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.scalescrollstrategy.scalescrollstrategy#css-props) | Scale scroll strategy |
| `layer-selectable` | `boolean` | Selectable node, a boolean to determine if selection should consider this node |
| `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 |
| `layer-transform` | `string` | Additional CSS transformation applied to node or &#x27;none&#x27; |
| `layer-transform` | [`Transformation`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.util.transformation.transformation#css-props) | Additional CSS transformation applied to node or &#x27;none&#x27; |
| `layer-visible` | `boolean` | Visibility of the node, a boolean to determine if the node should be rendered or not |
| `layer-z-index` | `number` | Define node z-index |
| `mode` | [`Modes`](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.welllog#widgets-4#tools-5#curveeditor#modes) | Mode in which this tool will work |
| `mouseradius` | `number` | Device radius for mouse events |
| `name` | `string` | Name of the tool used like cross-hair etc |
| `touchradius` | `number` | Device radius for touch events |


## Contents

Constructors
#### new CurveEditor()

• **new CurveEditor**()

Creates a new instance of [CurveEditor](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.curveeditor.curveeditor) class

#### Overrides

AbstractLogVisualEditingTool.constructor

#### new CurveEditor(layer, cachedManipulatorLayer)

• **new CurveEditor**(`layer`, `cachedManipulatorLayer`)

Creates a new instance of [CurveEditor](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.curveeditor.curveeditor) class

**`Deprecated`**

since 4.0. Use constructor with a single parameter instead

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `layer` | [`Group`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.group.group)<[`Node`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.node.node)&gt; | [`CompositeNode`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode)<[`Node`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.node.node)&gt; | [`Layer`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.layer.layer)<[`Node`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.node.node)&gt; | [`Options`](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.welllog#curveeditor#options) | layer to which handles will be added or tool options. Cache disabled |
| `cachedManipulatorLayer` | [`Group`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.group.group)<[`Node`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.node.node)&gt; | [`Layer`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.layer.layer)<[`Node`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.node.node)&gt; | layer to which handles will be added. Cache enabled |


#### Overrides

AbstractLogVisualEditingTool.constructor

#### new CurveEditor(options)

• **new CurveEditor**(`options`)

Creates a new instance of [CurveEditor](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.curveeditor.curveeditor) class

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `options` | [`Group`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.group.group)<[`Node`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.node.node)&gt; | [`CompositeNode`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode)<[`Node`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.node.node)&gt; | [`Layer`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.layer.layer)<[`Node`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.node.node)&gt; | [`Options`](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.welllog#curveeditor#options) | layer to which handles will be added or tool options. Cache disabled |


#### Overrides

AbstractLogVisualEditingTool.constructor

Methods
#### addHandle

▸ `Protected` **addHandle**(`handle`): [`CurveEditor`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.curveeditor.curveeditor)

Add editor handle

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `handle` | [`GhostBearingHandle`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.controls.editing.ghostbearinghandle.ghostbearinghandle) | editor handle |


#### Returns

[`CurveEditor`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.curveeditor.curveeditor)

this

#### Inherited from

[AbstractLogVisualEditingTool](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.abstractlogvisualeditingtool.abstractlogvisualeditingtool).[addHandle](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.abstractlogvisualeditingtool.abstractlogvisualeditingtool#addhandle)

#### addListener

▸ **addListener**(`eventName`, `listener`): [`CurveEditor`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.curveeditor.curveeditor)

add event listener. The listener receives the message when the system event happens.

**`Deprecated`**

since 4.0 use .on() instead. Note that 3 args callback should be used in subscription via .on(): (eventType, source, args)

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `eventName` | `string` | event name or unique event identifier |
| `listener` | `Function` | the event listener |


#### Returns

[`CurveEditor`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.curveeditor.curveeditor)

#### Inherited from

[AbstractLogVisualEditingTool](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.abstractlogvisualeditingtool.abstractlogvisualeditingtool).[addListener](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.abstractlogvisualeditingtool.abstractlogvisualeditingtool#addlistener)

#### captureMouseUp

▸ **captureMouseUp**(): `void`

listen to window mouse events in order to catch a mouse up action outside of the tool container DOM element.
useful for example when you pan and release click outside of DOM element.

#### Returns

`void`

#### Inherited from

[AbstractLogVisualEditingTool](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.abstractlogvisualeditingtool.abstractlogvisualeditingtool).[captureMouseUp](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.abstractlogvisualeditingtool.abstractlogvisualeditingtool#capturemouseup)

#### checkHandleCollision

▸ **checkHandleCollision**(`sample1`, `sample2?`, `activeHandle?`): `boolean`

Checks if a sample or a value falls within the visible limits of the parent track.

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `sample1` | `number` | [`LogDataSample`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.data-4.logdatasample.logdatasample) | The sample or value to test. If a line segment is tested, this is the first point of the tested line |
| `Optional` `sample2` | `number` | [`LogDataSample`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.data-4.logdatasample.logdatasample) | When a line segment is tested, this is the second point constructing the line |
| `Optional` `activeHandle` | `boolean` | True if the test is done for the active handle. Used in cases of handle manipulation. |


#### Returns

`boolean`

True if the handle or the value falls within the visible limits of the track, false otherwise

#### createHandles

▸ `Protected` **createHandles**(): [`CurveEditor`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.curveeditor.curveeditor)

Creates the handles for every point that curve has visible on the screen if in linear interpolation mode.
In step interpolation creates a line handle between each visible point

#### Returns

[`CurveEditor`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.curveeditor.curveeditor)

#### dispose

▸ **dispose**(): `void`

Dispose tool.

#### Returns

`void`

#### Inherited from

[AbstractLogVisualEditingTool](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.abstractlogvisualeditingtool.abstractlogvisualeditingtool).[dispose](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.abstractlogvisualeditingtool.abstractlogvisualeditingtool#dispose)

#### findSampleIndex

▸ **findSampleIndex**(`depth`, `value`): `number`

Searches the original sample index for the associated log curve

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `depth` | `number` | the search depth |
| `value` | `number` | the search value |


#### Returns

`number`

the original sample index if exact sample is found, otherwise returns a bitwise complement of the closest sample index

#### fireEvent

▸ **fireEvent**(`eventName`, `eventArgs?`): `void`

This method is Protected. Fire an Event.

**`Deprecated`**

since 4.0 use .notify() instead. Note that 3 args callback should be used in subscription via .on()

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `eventName` | `string` | event name |
| `Optional` `eventArgs` | `any` | contains info of the event |


#### Returns

`void`

#### Inherited from

[AbstractLogVisualEditingTool](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.abstractlogvisualeditingtool.abstractlogvisualeditingtool).[fireEvent](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.abstractlogvisualeditingtool.abstractlogvisualeditingtool#fireevent)

#### getActiveHandle

▸ **getActiveHandle**(): [`GhostBearingHandle`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.controls.editing.ghostbearinghandle.ghostbearinghandle)

Returns currently active handle,if exists, otherwise null

#### Returns

[`GhostBearingHandle`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.controls.editing.ghostbearinghandle.ghostbearinghandle)

#### Inherited from

[AbstractLogVisualEditingTool](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.abstractlogvisualeditingtool.abstractlogvisualeditingtool).[getActiveHandle](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.abstractlogvisualeditingtool.abstractlogvisualeditingtool#getactivehandle)

#### getCachedManipulatorLayer

▸ **getCachedManipulatorLayer**(): [`CompositeNode`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode)<[`Node`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.node.node)&gt;

Gets the manipulator layer with contains handles

**`Deprecated`**

since 4.0. Use [AbstractLogVisualEditingTool#getManipulatorLayer](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.abstractlogvisualeditingtool.abstractlogvisualeditingtool#getmanipulatorlayer) instead

#### Returns

[`CompositeNode`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode)<[`Node`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.node.node)&gt;

#### Inherited from

[AbstractLogVisualEditingTool](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.abstractlogvisualeditingtool.abstractlogvisualeditingtool).[getCachedManipulatorLayer](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.abstractlogvisualeditingtool.abstractlogvisualeditingtool#getcachedmanipulatorlayer)

#### getClassName

▸ **getClassName**(): `string`

#### Returns

`string`

#### Inherited from

[AbstractLogVisualEditingTool](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.abstractlogvisualeditingtool.abstractlogvisualeditingtool).[getClassName](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.abstractlogvisualeditingtool.abstractlogvisualeditingtool#getclassname)

#### getDeviceXY

▸ `Protected` **getDeviceXY**(`args`): [`Point`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.util.point.point)

Returns a point in model coordinates, edits one of the util points

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `args` | [`EventArgs`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.controls.tools.eventargs.eventargs) | Event arguments |


#### Returns

[`Point`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.util.point.point)

#### Inherited from

[AbstractLogVisualEditingTool](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.abstractlogvisualeditingtool.abstractlogvisualeditingtool).[getDeviceXY](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.abstractlogvisualeditingtool.abstractlogvisualeditingtool#getdevicexy)

#### getEventRadius

▸ `Protected` **getEventRadius**(`eventArgs`): `number`

Returns device radius for the provided event

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `eventArgs` | [`EventArgs`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.controls.tools.eventargs.eventargs) | contains info of the event |


#### Returns

`number`

#### Inherited from

[AbstractLogVisualEditingTool](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.abstractlogvisualeditingtool.abstractlogvisualeditingtool).[getEventRadius](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.abstractlogvisualeditingtool.abstractlogvisualeditingtool#geteventradius)

#### getHandle

▸ `Protected` **getHandle**(`index`): [`GhostBearingHandle`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.controls.editing.ghostbearinghandle.ghostbearinghandle)

#### Parameters

| Name  | Type  |
|  --- | --- |
| `index` | `number` |


#### Returns

[`GhostBearingHandle`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.controls.editing.ghostbearinghandle.ghostbearinghandle)

#### Inherited from

[AbstractLogVisualEditingTool](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.abstractlogvisualeditingtool.abstractlogvisualeditingtool).[getHandle](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.abstractlogvisualeditingtool.abstractlogvisualeditingtool#gethandle)

#### getHandleInsideTrack

▸ **getHandleInsideTrack**(): `boolean`

Gets the value of flag defining if the active handles can only move inside the track

#### Returns

`boolean`

#### getHandlePainter

▸ **getHandlePainter**(): [`Painter`](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.scene#symbolshape#painter)

Gets the shape painter with which is used to render handles. Format is the same as in [SymbolShape](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.shapes.symbolshape.symbolshape)
Redraws all handles

#### Returns

[`Painter`](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.scene#symbolshape#painter)

painter

#### Inherited from

[AbstractLogVisualEditingTool](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.abstractlogvisualeditingtool.abstractlogvisualeditingtool).[getHandlePainter](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.abstractlogvisualeditingtool.abstractlogvisualeditingtool#gethandlepainter)

#### getHandleSize

▸ **getHandleSize**(): `number`

Get the size of the handles

#### Returns

`number`

#### Inherited from

[AbstractLogVisualEditingTool](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.abstractlogvisualeditingtool.abstractlogvisualeditingtool).[getHandleSize](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.abstractlogvisualeditingtool.abstractlogvisualeditingtool#gethandlesize)

#### getHandleStyles

▸ **getHandleStyles**(): [`HandleStylesOut`](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.welllog#abstractlogvisualeditingtool#handlestylesout)

Returns registered styles for active, inactive, and ghost states of all handles

#### Returns

[`HandleStylesOut`](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.welllog#abstractlogvisualeditingtool#handlestylesout)

object containing stylings for different types of handle states

#### Inherited from

[AbstractLogVisualEditingTool](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.abstractlogvisualeditingtool.abstractlogvisualeditingtool).[getHandleStyles](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.abstractlogvisualeditingtool.abstractlogvisualeditingtool#gethandlestyles)

#### getHandlesCount

▸ `Protected` **getHandlesCount**(): `number`

Return number of handles

#### Returns

`number`

number of handles

#### Inherited from

[AbstractLogVisualEditingTool](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.abstractlogvisualeditingtool.abstractlogvisualeditingtool).[getHandlesCount](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.abstractlogvisualeditingtool.abstractlogvisualeditingtool#gethandlescount)

#### getHandlesType

▸ **getHandlesType**(): [`HandlesType`](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.welllog#handlestype)

Gets handles display type

#### Returns

[`HandlesType`](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.welllog#handlestype)

handles display type

#### getHideGhostOnDrop

▸ **getHideGhostOnDrop**(): `boolean`

Gets a flag defining if the ghost should be reset after it has been dropped

#### Returns

`boolean`

#### Inherited from

[AbstractLogVisualEditingTool](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.abstractlogvisualeditingtool.abstractlogvisualeditingtool).[getHideGhostOnDrop](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.abstractlogvisualeditingtool.abstractlogvisualeditingtool#gethideghostondrop)

#### getHideInactiveHandles

▸ **getHideInactiveHandles**(): `boolean`

Returns a flag which defines if inactive handles have to be hidden when dragging.

#### Returns

`boolean`

hide True when inactive handles hidden on dragging

#### getHideSpillingHandles

▸ **getHideSpillingHandles**(): `boolean`

Gets the value of the flag defining if the handles which overflow the track boundaries
should be hidden

#### Returns

`boolean`

#### getManipulatorLayer

▸ **getManipulatorLayer**(): [`CompositeNode`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode)<[`Node`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.node.node)&gt;

return manipulator layer

#### Returns

[`CompositeNode`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.compositenode.compositenode)<[`Node`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.node.node)&gt;

layer

#### Inherited from

[AbstractLogVisualEditingTool](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.abstractlogvisualeditingtool.abstractlogvisualeditingtool).[getManipulatorLayer](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.abstractlogvisualeditingtool.abstractlogvisualeditingtool#getmanipulatorlayer)

#### getMode

▸ **getMode**(): [`Modes`](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.welllog#modes)

Retrieves the type of editing that this adapter is doing

#### Returns

[`Modes`](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.welllog#modes)

#### getMouseRadius

▸ **getMouseRadius**(): `number`

Returns current device radius for mouse events

#### Returns

`number`

#### Inherited from

[AbstractLogVisualEditingTool](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.abstractlogvisualeditingtool.abstractlogvisualeditingtool).[getMouseRadius](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.abstractlogvisualeditingtool.abstractlogvisualeditingtool#getmouseradius)

#### getName

▸ **getName**(): `string`

return tool name if any

#### Returns

`string`

name of the tool

#### Inherited from

[AbstractLogVisualEditingTool](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.abstractlogvisualeditingtool.abstractlogvisualeditingtool).[getName](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.abstractlogvisualeditingtool.abstractlogvisualeditingtool#getname)

#### getParentTool

▸ **getParentTool**(): [`AbstractCompositeTool`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.controls.tools.abstractcompositetool.abstractcompositetool)

Gets parent tool

#### Returns

[`AbstractCompositeTool`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.controls.tools.abstractcompositetool.abstractcompositetool)

parent tool

#### Inherited from

[AbstractLogVisualEditingTool](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.abstractlogvisualeditingtool.abstractlogvisualeditingtool).[getParentTool](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.abstractlogvisualeditingtool.abstractlogvisualeditingtool#getparenttool)

#### getPosition

▸ **getPosition**(): [`Point`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.util.point.point)

Returns the last registered position of the mouse in device space

#### Returns

[`Point`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.util.point.point)

#### Inherited from

[AbstractLogVisualEditingTool](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.abstractlogvisualeditingtool.abstractlogvisualeditingtool).[getPosition](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.abstractlogvisualeditingtool.abstractlogvisualeditingtool#getposition)

#### getProperties

▸ **getProperties**(): [`OptionsOut`](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.welllog#curveeditor#optionsout)

Returns all the properties pertaining to this object

#### Returns

[`OptionsOut`](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.welllog#curveeditor#optionsout)

An object containing the properties

#### Overrides

[AbstractLogVisualEditingTool](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.abstractlogvisualeditingtool.abstractlogvisualeditingtool).[getProperties](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.abstractlogvisualeditingtool.abstractlogvisualeditingtool#getproperties)

#### getProperty

▸ **getProperty**(`name`): `any`

Gets dynamic property by name. These properties can be
used as a property bags

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `name` | `string` | property name |


#### Returns

`any`

#### Inherited from

[AbstractLogVisualEditingTool](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.abstractlogvisualeditingtool.abstractlogvisualeditingtool).[getProperty](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.abstractlogvisualeditingtool.abstractlogvisualeditingtool#getproperty)

#### getPropertyKeys

▸ **getPropertyKeys**(): `string`[]

Returns known properties keys

#### Returns

`string`[]

#### Inherited from

[AbstractLogVisualEditingTool](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.abstractlogvisualeditingtool.abstractlogvisualeditingtool).[getPropertyKeys](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.abstractlogvisualeditingtool.abstractlogvisualeditingtool#getpropertykeys)

#### getRoot

▸ **getRoot**(): [`AbstractCompositeTool`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.controls.tools.abstractcompositetool.abstractcompositetool)

Gets root tool

#### Returns

[`AbstractCompositeTool`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.controls.tools.abstractcompositetool.abstractcompositetool)

parent tool

#### Inherited from

[AbstractLogVisualEditingTool](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.abstractlogvisualeditingtool.abstractlogvisualeditingtool).[getRoot](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.abstractlogvisualeditingtool.abstractlogvisualeditingtool#getroot)

#### getShape

▸ **getShape**(): [`LogCurve`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.logcurve.logcurve)

Returns the shape which this tool is manipulating

#### Returns

[`LogCurve`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.logcurve.logcurve)

#### Overrides

[AbstractLogVisualEditingTool](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.abstractlogvisualeditingtool.abstractlogvisualeditingtool).[getShape](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.abstractlogvisualeditingtool.abstractlogvisualeditingtool#getshape)

#### getShowGhost

▸ **getShowGhost**(): `boolean`

Returns the flag defining if a ghost should be moved instead of the actual object

#### Returns

`boolean`

showGhost Show ghost flag

#### Inherited from

[AbstractLogVisualEditingTool](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.abstractlogvisualeditingtool.abstractlogvisualeditingtool).[getShowGhost](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.abstractlogvisualeditingtool.abstractlogvisualeditingtool#getshowghost)

#### getTouchRadius

▸ **getTouchRadius**(): `number`

Returns current device radius for touch events

#### Returns

`number`

#### Inherited from

[AbstractLogVisualEditingTool](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.abstractlogvisualeditingtool.abstractlogvisualeditingtool).[getTouchRadius](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.abstractlogvisualeditingtool.abstractlogvisualeditingtool#gettouchradius)

#### getVerticalEditAllowed

▸ **getVerticalEditAllowed**(): `boolean`

Gets a flag defining if the data points can change their depths

#### Returns

`boolean`

True if depth change allowed

#### hasEventListener

▸ **hasEventListener**(`type`, `callback?`): `boolean`

Check if a list of event listeners for this type contains this listener

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `type` | `string` | type of event or property |
| `Optional` `callback` | `Function` | to be called, if null, check if any callback is registered |


#### Returns

`boolean`

#### Inherited from

[AbstractLogVisualEditingTool](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.abstractlogvisualeditingtool.abstractlogvisualeditingtool).[hasEventListener](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.abstractlogvisualeditingtool.abstractlogvisualeditingtool#haseventlistener)

#### hideHandles

▸ **hideHandles**(`skipActive`): [`CurveEditor`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.curveeditor.curveeditor)

Hides all the handles. Has an option to hide everything except the active handle

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `skipActive` | `boolean` | If true, active handle will not be hidden |


#### Returns

[`CurveEditor`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.curveeditor.curveeditor)

#### isActive

▸ **isActive**(): `boolean`

return active state

#### Returns

`boolean`

#### Inherited from

[AbstractLogVisualEditingTool](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.abstractlogvisualeditingtool.abstractlogvisualeditingtool).[isActive](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.abstractlogvisualeditingtool.abstractlogvisualeditingtool#isactive)

#### isDisposed

▸ **isDisposed**(): `boolean`

Returns whether this object has been disposed

#### Returns

`boolean`

#### Inherited from

[AbstractLogVisualEditingTool](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.abstractlogvisualeditingtool.abstractlogvisualeditingtool).[isDisposed](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.abstractlogvisualeditingtool.abstractlogvisualeditingtool#isdisposed)

#### isDoubleClick

▸ `Protected` **isDoubleClick**(`point`, `eventArgs?`): `boolean`

returns true if double clicked

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `point` | [`Point`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.util.point.point) | Click point |
| `Optional` `eventArgs` | [`EventArgs`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.controls.tools.eventargs.eventargs) | optional event args to verify double click |


#### Returns

`boolean`

#### Inherited from

[AbstractLogVisualEditingTool](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.abstractlogvisualeditingtool.abstractlogvisualeditingtool).[isDoubleClick](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.abstractlogvisualeditingtool.abstractlogvisualeditingtool#isdoubleclick)

#### isEnabled

▸ **isEnabled**(): `boolean`

returns enable state

#### Returns

`boolean`

state

#### Inherited from

[AbstractLogVisualEditingTool](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.abstractlogvisualeditingtool.abstractlogvisualeditingtool).[isEnabled](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.abstractlogvisualeditingtool.abstractlogvisualeditingtool#isenabled)

#### isSilent

▸ **isSilent**(): `boolean`

Return true if the event dispatcher doesn't notify any events

#### Returns

`boolean`

#### Inherited from

[AbstractLogVisualEditingTool](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.abstractlogvisualeditingtool.abstractlogvisualeditingtool).[isSilent](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.abstractlogvisualeditingtool.abstractlogvisualeditingtool#issilent)

#### isTouchEvent

▸ **isTouchEvent**(`eventArgs`): `boolean`

return true if the event is a touch event and false otherwise.

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `eventArgs` | `Event` | [`EventArgs`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.controls.tools.eventargs.eventargs) | contains info of the event |


#### Returns

`boolean`

#### Inherited from

[AbstractLogVisualEditingTool](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.abstractlogvisualeditingtool.abstractlogvisualeditingtool).[isTouchEvent](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.abstractlogvisualeditingtool.abstractlogvisualeditingtool#istouchevent)

#### makeSelection

▸ `Protected` **makeSelection**(`x`, `y`): [`Node`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.node.node)[]

Makes a selection according to current position of the pointer

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `x` | `number` | X coordinate of the pointer |
| `y` | `number` | Y coordinate of the pointer |


#### Returns

[`Node`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.node.node)[]

#### Inherited from

[AbstractLogVisualEditingTool](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.abstractlogvisualeditingtool.abstractlogvisualeditingtool).[makeSelection](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.abstractlogvisualeditingtool.abstractlogvisualeditingtool#makeselection)

#### notify

▸ **notify**<`E`&gt;(`type`, `source`, `args?`): [`CurveEditor`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.curveeditor.curveeditor)

Notify listeners

#### Type parameters

| Name | Type |
|  --- | --- |
| `E` | extends `string` |


#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `type` | `E` | event types |
| `source` | [`CurveEditor`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.curveeditor.curveeditor) | of the event |
| `Optional` `args` | [`EventMap`](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.welllog#curveeditor#eventmap)[`E`] | arguments of the event |


#### Returns

[`CurveEditor`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.curveeditor.curveeditor)

this

#### Overrides

[AbstractLogVisualEditingTool](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.abstractlogvisualeditingtool.abstractlogvisualeditingtool).[notify](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.abstractlogvisualeditingtool.abstractlogvisualeditingtool#notify)

#### off

▸ **off**<`E`&gt;(`type?`, `callback?`): [`CurveEditor`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.curveeditor.curveeditor)

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.

#### Type parameters

| Name | Type |
|  --- | --- |
| `E` | extends `string` |


#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `Optional` `type` | `E` | type of the event |
| `Optional` `callback` | (`eventType`: `E`, `sender`: [`CurveEditor`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.curveeditor.curveeditor), `args`: [`EventMap`](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.welllog#curveeditor#eventmap)[`E`]) => `void` | function to be called |


#### Returns

[`CurveEditor`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.curveeditor.curveeditor)

this

#### Overrides

[AbstractLogVisualEditingTool](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.abstractlogvisualeditingtool.abstractlogvisualeditingtool).[off](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.abstractlogvisualeditingtool.abstractlogvisualeditingtool#off)

#### on

▸ **on**<`E`&gt;(`type`, `callback`): [`CurveEditor`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.curveeditor.curveeditor)

Attach listener on event that will be called whenever the specified event is delivered to the target
<p>
If the callback function is already in the list of event listeners for this target, the function is not added a second time.
</p>
<p>
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.
</p>
TypeScript hint: in case of creating derived tool with own events, EventMap should be extended and .on() and .notify() methods redeclared, see sample.

**`Example`**

```ts
// Using in derived tool
import type {EventMap as EventMapBase} from '@int/geotoolkit/controls/tools/AbstractTool';
export type EventMap = EventMapBase &amp; {
&#91;MyToolEvents.onValueChanged&#93;: MyToolEventArgs
}
export enum MyToolEvents {
onValueChanged = 'onValueChanged'
}
export class MyTool extends AbstractTool {
public declare on: &lt;E extends keyof EventMap&gt;(type: E, callback: (eventType: E, sender: this, args: EventMap&#91;E&#93;) =&gt; void) =&gt; this;
protected declare notify: &lt;E extends keyof EventMap&gt;(type: E, source: AbstractTool, args?: EventMap&#91;E&#93;) =&gt; this;
public declare off: &lt;E extends keyof EventMap&gt;(type: E, callback?: (eventType: E, sender: this, args: EventMap&#91;E&#93;) =&gt; void) =&gt; this;
// ...
}
```

#### Type parameters

| Name | Type |
|  --- | --- |
| `E` | extends `string` |


#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `type` | `E` | type of event or property |
| `callback` | (`eventType`: `E`, `sender`: [`CurveEditor`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.curveeditor.curveeditor), `args`: [`EventMap`](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.welllog#curveeditor#eventmap)[`E`]) => `void` | to be called |


#### Returns

[`CurveEditor`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.curveeditor.curveeditor)

#### Overrides

[AbstractLogVisualEditingTool](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.abstractlogvisualeditingtool.abstractlogvisualeditingtool).[on](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.abstractlogvisualeditingtool.abstractlogvisualeditingtool#on)

#### onActiveStateChanged

▸ `Protected` **onActiveStateChanged**(): `void`

**`Fires`**

[Events.onStateChanged](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.controls#tools#abstracttool#events#onstatechanged)

#### Returns

`void`

#### Inherited from

[AbstractLogVisualEditingTool](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.abstractlogvisualeditingtool.abstractlogvisualeditingtool).[onActiveStateChanged](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.abstractlogvisualeditingtool.abstractlogvisualeditingtool#onactivestatechanged)

#### onEnabledStateChanged

▸ `Protected` **onEnabledStateChanged**(): `void`

Called when the tool is enabled or disabled

#### Returns

`void`

#### Inherited from

[AbstractLogVisualEditingTool](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.abstractlogvisualeditingtool.abstractlogvisualeditingtool).[onEnabledStateChanged](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.abstractlogvisualeditingtool.abstractlogvisualeditingtool#onenabledstatechanged)

#### onMouseDown

▸ **onMouseDown**(`eventArgs`): [`CurveEditor`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.curveeditor.curveeditor)

Handles the event caused by user pressing the mouse button

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `eventArgs` | [`EventArgs`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.controls.tools.eventargs.eventargs) | Native event arguments received from EventDispatcher |


#### Returns

[`CurveEditor`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.curveeditor.curveeditor)

#### Overrides

[AbstractLogVisualEditingTool](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.abstractlogvisualeditingtool.abstractlogvisualeditingtool).[onMouseDown](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.abstractlogvisualeditingtool.abstractlogvisualeditingtool#onmousedown)

#### onMouseMove

▸ **onMouseMove**(`eventArgs`): [`CurveEditor`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.curveeditor.curveeditor)

Handles the event caused by user moving the mouse

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `eventArgs` | [`EventArgs`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.controls.tools.eventargs.eventargs) | Native event arguments received from EventDispatcher |


#### Returns

[`CurveEditor`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.curveeditor.curveeditor)

#### Overrides

[AbstractLogVisualEditingTool](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.abstractlogvisualeditingtool.abstractlogvisualeditingtool).[onMouseMove](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.abstractlogvisualeditingtool.abstractlogvisualeditingtool#onmousemove)

#### onMouseUp

▸ **onMouseUp**(`eventArgs`): [`CurveEditor`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.curveeditor.curveeditor)

Handles the event caused by user releasing the mouse button

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `eventArgs` | [`EventArgs`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.controls.tools.eventargs.eventargs) | Native event arguments received from EventDispatcher |


#### Returns

[`CurveEditor`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.curveeditor.curveeditor)

#### Overrides

[AbstractLogVisualEditingTool](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.abstractlogvisualeditingtool.abstractlogvisualeditingtool).[onMouseUp](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.abstractlogvisualeditingtool.abstractlogvisualeditingtool#onmouseup)

#### pageToCanvas

▸ **pageToCanvas**(`eventArgs`, `externalPlot?`): `Object`

return position relative to the canvas

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `eventArgs` | `Event` | [`EventArgs`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.controls.tools.eventargs.eventargs) | parentElement the parent HTML element |
| `Optional` `externalPlot` | [`Plot`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.plot.plot.plot) | plot |


#### Returns

`Object`

| Name | Type |
|  --- | --- |
| `x` | `number` |
| `y` | `number` |


#### Inherited from

[AbstractLogVisualEditingTool](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.abstractlogvisualeditingtool.abstractlogvisualeditingtool).[pageToCanvas](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.abstractlogvisualeditingtool.abstractlogvisualeditingtool#pagetocanvas)

#### pointToModel

▸ **pointToModel**(`model`, `eventArgs`): [`Point`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.util.point.point)

converts device coordinates to inner coordinates of node

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `model` | [`Node`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.node.node) | the model |
| `eventArgs` | [`Point`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.util.point.point) | [`EventArgs`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.controls.tools.eventargs.eventargs) | arguments of the event OR point in device (plot) coordinates. |


#### Returns

[`Point`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.util.point.point)

#### Inherited from

[AbstractLogVisualEditingTool](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.abstractlogvisualeditingtool.abstractlogvisualeditingtool).[pointToModel](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.abstractlogvisualeditingtool.abstractlogvisualeditingtool#pointtomodel)

#### removeHandle

▸ `Protected` **removeHandle**(`handle`, `disposeHandles?`): [`CurveEditor`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.curveeditor.curveeditor)

Remove handles

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `handle` | [`GhostBearingHandle`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.controls.editing.ghostbearinghandle.ghostbearinghandle) | [`GhostBearingHandle`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.controls.editing.ghostbearinghandle.ghostbearinghandle)[] | handle or array of handles to be removed |
| `Optional` `disposeHandles` | `boolean` | - 
 |


#### Returns

[`CurveEditor`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.curveeditor.curveeditor)

this

#### Inherited from

[AbstractLogVisualEditingTool](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.abstractlogvisualeditingtool.abstractlogvisualeditingtool).[removeHandle](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.abstractlogvisualeditingtool.abstractlogvisualeditingtool#removehandle)

#### removeHandles

▸ **removeHandles**(): [`CurveEditor`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.curveeditor.curveeditor)

Clears all the handles from the adapter and manipulator layer

#### Returns

[`CurveEditor`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.curveeditor.curveeditor)

#### removeListener

▸ **removeListener**(`eventName`, `listener?`): [`CurveEditor`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.curveeditor.curveeditor)

remove event listener. The listener reveives the message when the system event happens.

**`Deprecated`**

since 4.0 use .off() instead.

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `eventName` | `string` | event name |
| `Optional` `listener` | `Function` | `Function`[] | the event listener, if null, remove all listeners for the event |


#### Returns

[`CurveEditor`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.curveeditor.curveeditor)

#### Inherited from

[AbstractLogVisualEditingTool](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.abstractlogvisualeditingtool.abstractlogvisualeditingtool).[removeListener](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.abstractlogvisualeditingtool.abstractlogvisualeditingtool#removelistener)

#### setActive

▸ **setActive**(`active`): [`CurveEditor`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.curveeditor.curveeditor)

set active state

**`Fires`**

[Events.onStateChanged](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.controls#tools#abstracttool#events#onstatechanged)

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `active` | `boolean` | set active state |


#### Returns

[`CurveEditor`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.curveeditor.curveeditor)

#### Inherited from

[AbstractLogVisualEditingTool](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.abstractlogvisualeditingtool.abstractlogvisualeditingtool).[setActive](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.abstractlogvisualeditingtool.abstractlogvisualeditingtool#setactive)

#### setActiveHandle

▸ **setActiveHandle**(`handle`): [`CurveEditor`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.curveeditor.curveeditor)

Sets the handle currently active

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `handle` | [`GhostBearingHandle`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.controls.editing.ghostbearinghandle.ghostbearinghandle) | The handle to be active |


#### Returns

[`CurveEditor`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.curveeditor.curveeditor)

#### Inherited from

[AbstractLogVisualEditingTool](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.abstractlogvisualeditingtool.abstractlogvisualeditingtool).[setActiveHandle](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.abstractlogvisualeditingtool.abstractlogvisualeditingtool#setactivehandle)

#### setEnabled

▸ **setEnabled**(`enabled`): [`CurveEditor`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.curveeditor.curveeditor)

set enable state

**`Fires`**

[Events.onEnabledStateChanged](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.controls#tools#abstracttool#events#onenabledstatechanged)

**`Fires`**

[Events.onStateChanged](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.controls#tools#abstracttool#events#onstatechanged)

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `enabled` | `boolean` | sets the enabled state |


#### Returns

[`CurveEditor`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.curveeditor.curveeditor)

this

#### Inherited from

[AbstractLogVisualEditingTool](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.abstractlogvisualeditingtool.abstractlogvisualeditingtool).[setEnabled](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.abstractlogvisualeditingtool.abstractlogvisualeditingtool#setenabled)

#### setHandleInsideTrack

▸ **setHandleInsideTrack**(`inside`): [`CurveEditor`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.curveeditor.curveeditor)

Sets a flag which defines if the active handle can only move within the track area

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `inside` | `boolean` | True to restrict the position of active handle in the track |


#### Returns

[`CurveEditor`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.curveeditor.curveeditor)

#### setHandlePainter

▸ **setHandlePainter**(`painter`): [`CurveEditor`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.curveeditor.curveeditor)

Sets the shape painter with which the handles will be drawn. Format is the same as in
geotoolkit.scene.shapes.SymbolShape
Redraws all handles

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `painter` | [`Painter`](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.scene#symbolshape#painter) | The painter which will be used to draw the handles for linearly interpolated curves |


#### Returns

[`CurveEditor`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.curveeditor.curveeditor)

#### Inherited from

[AbstractLogVisualEditingTool](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.abstractlogvisualeditingtool.abstractlogvisualeditingtool).[setHandlePainter](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.abstractlogvisualeditingtool.abstractlogvisualeditingtool#sethandlepainter)

#### setHandleSize

▸ **setHandleSize**(`size`): [`CurveEditor`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.curveeditor.curveeditor)

Sets the pixel side of the handles to which a size is applicable (anchored handles)

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `size` | `number` | The size of the handles in device coordinates (pixels) |


#### Returns

[`CurveEditor`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.curveeditor.curveeditor)

#### Inherited from

[AbstractLogVisualEditingTool](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.abstractlogvisualeditingtool.abstractlogvisualeditingtool).[setHandleSize](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.abstractlogvisualeditingtool.abstractlogvisualeditingtool#sethandlesize)

#### setHandleStyles

▸ **setHandleStyles**(`styles`): [`CurveEditor`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.curveeditor.curveeditor)

Sets styles for active, inactive, and ghost states of all handles, and redraws each handle (this will lose edited handles position)

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `styles` | [`HandleStyles`](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.welllog#abstractlogvisualeditingtool#handlestyles) | object containing stylings for different types of handle states |


#### Returns

[`CurveEditor`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.curveeditor.curveeditor)

#### Inherited from

[AbstractLogVisualEditingTool](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.abstractlogvisualeditingtool.abstractlogvisualeditingtool).[setHandleStyles](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.abstractlogvisualeditingtool.abstractlogvisualeditingtool#sethandlestyles)

#### setHandlesType

▸ **setHandlesType**(`handlesType`): [`CurveEditor`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.curveeditor.curveeditor)

Sets handles display type

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `handlesType` | [`HandlesType`](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.welllog#handlestype) | handles display type |


#### Returns

[`CurveEditor`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.curveeditor.curveeditor)

this

#### setHandlesVisible

▸ `Protected` **setHandlesVisible**(`visible`): [`CurveEditor`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.curveeditor.curveeditor)

Iterates through handles and sets the provided visibility.
If the visibility is to hide, hides the ghosts as well

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `visible` | `boolean` | Visibility flag for handles |


#### Returns

[`CurveEditor`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.curveeditor.curveeditor)

#### Inherited from

[AbstractLogVisualEditingTool](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.abstractlogvisualeditingtool.abstractlogvisualeditingtool).[setHandlesVisible](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.abstractlogvisualeditingtool.abstractlogvisualeditingtool#sethandlesvisible)

#### setHideGhostOnDrop

▸ **setHideGhostOnDrop**(`hide`): [`CurveEditor`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.curveeditor.curveeditor)

Gets a flag defining if the ghost should be reset after it has been dropped

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `hide` | `boolean` | True to hide ghosts when dropped |


#### Returns

[`CurveEditor`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.curveeditor.curveeditor)

#### Inherited from

[AbstractLogVisualEditingTool](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.abstractlogvisualeditingtool.abstractlogvisualeditingtool).[setHideGhostOnDrop](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.abstractlogvisualeditingtool.abstractlogvisualeditingtool#sethideghostondrop)

#### setHideInactiveHandles

▸ **setHideInactiveHandles**(`hide`): [`CurveEditor`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.curveeditor.curveeditor)

Sets a flag which defines if inactive handles have to be hidden when a move with an existing active handle
occurs. Once you grab a handle and start dragging it around, every other handle will be hidden to aid a better
view of the curve you are editing.

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `hide` | `boolean` | True to hide inactive handles on dragging |


#### Returns

[`CurveEditor`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.curveeditor.curveeditor)

#### setHideSpillingHandles

▸ **setHideSpillingHandles**(`hide`): [`CurveEditor`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.curveeditor.curveeditor)

Sets the value of the flag defining if the handles which overflow the track boundaries
should be hidden

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `hide` | `boolean` | If true, overflowing handles will not display |


#### Returns

[`CurveEditor`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.curveeditor.curveeditor)

#### setMode

▸ **setMode**(`mode`): [`CurveEditor`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.curveeditor.curveeditor)

Sets what kind of edition this adapter has to do for the curve

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `mode` | [`Modes`](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.welllog#modes) | The new mode in which this tool will work |


#### Returns

[`CurveEditor`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.curveeditor.curveeditor)

#### setMouseRadius

▸ **setMouseRadius**(`radius`): [`CurveEditor`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.curveeditor.curveeditor)

Sets device radius for mouse events

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `radius` | `number` | radius for mouse events |


#### Returns

[`CurveEditor`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.curveeditor.curveeditor)

this

#### Inherited from

[AbstractLogVisualEditingTool](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.abstractlogvisualeditingtool.abstractlogvisualeditingtool).[setMouseRadius](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.abstractlogvisualeditingtool.abstractlogvisualeditingtool#setmouseradius)

#### setName

▸ **setName**(`name`): [`CurveEditor`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.curveeditor.curveeditor)

set tool name

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `name` | `string` | the tool name |


#### Returns

[`CurveEditor`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.curveeditor.curveeditor)

#### Inherited from

[AbstractLogVisualEditingTool](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.abstractlogvisualeditingtool.abstractlogvisualeditingtool).[setName](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.abstractlogvisualeditingtool.abstractlogvisualeditingtool#setname)

#### setPosition

▸ **setPosition**(`x`, `y`): [`CurveEditor`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.curveeditor.curveeditor)

Sets the last registered position of the mouse in device space

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `x` | `number` | The new X position |
| `y` | `number` | The new Y position |


#### Returns

[`CurveEditor`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.curveeditor.curveeditor)

#### Inherited from

[AbstractLogVisualEditingTool](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.abstractlogvisualeditingtool.abstractlogvisualeditingtool).[setPosition](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.abstractlogvisualeditingtool.abstractlogvisualeditingtool#setposition)

#### setProperties

▸ **setProperties**(`properties?`): [`CurveEditor`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.curveeditor.curveeditor)

Sets all the properties pertaining to this object

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `Optional` `properties` | [`Options`](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.welllog#curveeditor#options) | An object containing the properties to set |


#### Returns

[`CurveEditor`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.curveeditor.curveeditor)

this

#### Overrides

[AbstractLogVisualEditingTool](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.abstractlogvisualeditingtool.abstractlogvisualeditingtool).[setProperties](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.abstractlogvisualeditingtool.abstractlogvisualeditingtool#setproperties)

#### setProperty

▸ **setProperty**(`name`, `value`): [`CurveEditor`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.curveeditor.curveeditor)

Sets dynamic property by name

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `name` | `string` | property name |
| `value` | `any` | property value |


#### Returns

[`CurveEditor`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.curveeditor.curveeditor)

this

#### Inherited from

[AbstractLogVisualEditingTool](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.abstractlogvisualeditingtool.abstractlogvisualeditingtool).[setProperty](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.abstractlogvisualeditingtool.abstractlogvisualeditingtool#setproperty)

#### setShape

▸ **setShape**(`shape`): [`CurveEditor`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.curveeditor.curveeditor)

Sets the shape which this tool has to manipulate and calculate its handles from.

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `shape` | [`Node`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.scene.node.node) | The new shape to set for manipulation |


#### Returns

[`CurveEditor`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.curveeditor.curveeditor)

#### Inherited from

[AbstractLogVisualEditingTool](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.abstractlogvisualeditingtool.abstractlogvisualeditingtool).[setShape](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.abstractlogvisualeditingtool.abstractlogvisualeditingtool#setshape)

#### setShowGhost

▸ **setShowGhost**(`showGhost`): [`CurveEditor`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.curveeditor.curveeditor)

Sets the flag defining if a ghost should be moved instead of the actual handle

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `showGhost` | `boolean` | Show ghost flag |


#### Returns

[`CurveEditor`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.curveeditor.curveeditor)

#### Inherited from

[AbstractLogVisualEditingTool](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.abstractlogvisualeditingtool.abstractlogvisualeditingtool).[setShowGhost](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.abstractlogvisualeditingtool.abstractlogvisualeditingtool#setshowghost)

#### setSilent

▸ **setSilent**(`bool`): [`CurveEditor`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.curveeditor.curveeditor)

Set silent mode

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `bool` | `boolean` | flag to enable silent mode |


#### Returns

[`CurveEditor`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.curveeditor.curveeditor)

this

#### Inherited from

[AbstractLogVisualEditingTool](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.abstractlogvisualeditingtool.abstractlogvisualeditingtool).[setSilent](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.abstractlogvisualeditingtool.abstractlogvisualeditingtool#setsilent)

#### setSlotEnabled

▸ **setSlotEnabled**(`eventName`, `value`, `target?`): [`CurveEditor`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.curveeditor.curveeditor)

Sets slot enabled

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `eventName` | `string` | eventName |
| `value` | `boolean` | value |
| `Optional` `target` | `EventTarget` | target |


#### Returns

[`CurveEditor`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.curveeditor.curveeditor)

#### Inherited from

[AbstractLogVisualEditingTool](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.abstractlogvisualeditingtool.abstractlogvisualeditingtool).[setSlotEnabled](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.abstractlogvisualeditingtool.abstractlogvisualeditingtool#setslotenabled)

#### setSlots

▸ **setSlots**(`slots?`, `merge?`): [`CurveEditor`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.curveeditor.curveeditor)

Sets new slots.

**`Example`**

```ts
const slots = {
'pointerdown': (event: EventArgs) =&gt; {
// event is an instance of @int/geotoolkit/controls/tools/EventArgs
...
}
};
tool.setSlots(slots);
```

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `Optional` `slots` | `Record`<`string`, [`Slot`](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.controls#abstracttool#slot) | [`Slot`](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.controls#abstracttool#slot)[] | (`eventArgs`: [`EventArgs`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.controls.tools.eventargs.eventargs)) => `void`&gt; | type of system events |
| `Optional` `merge` | `boolean` | set to true if you want to merge with existing slots |


#### Returns

[`CurveEditor`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.curveeditor.curveeditor)

this

#### Inherited from

[AbstractLogVisualEditingTool](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.abstractlogvisualeditingtool.abstractlogvisualeditingtool).[setSlots](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.abstractlogvisualeditingtool.abstractlogvisualeditingtool#setslots)

#### setTouchRadius

▸ **setTouchRadius**(`radius`): [`CurveEditor`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.curveeditor.curveeditor)

Sets device radius for touch events

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `radius` | `number` | radius for touch events |


#### Returns

[`CurveEditor`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.curveeditor.curveeditor)

this

#### Inherited from

[AbstractLogVisualEditingTool](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.abstractlogvisualeditingtool.abstractlogvisualeditingtool).[setTouchRadius](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.abstractlogvisualeditingtool.abstractlogvisualeditingtool#settouchradius)

#### setVerticalEditAllowed

▸ **setVerticalEditAllowed**(`allow`): [`CurveEditor`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.curveeditor.curveeditor)

Sets a flag defining if the data points can change their depths

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `allow` | `boolean` | True to allow depth change |


#### Returns

[`CurveEditor`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.curveeditor.curveeditor)

#### showHandles

▸ **showHandles**(): [`CurveEditor`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.curveeditor.curveeditor)

Shows all existing handles on the screen.

#### Returns

[`CurveEditor`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.curveeditor.curveeditor)

#### start

▸ `Protected` **start**(`eventArgs?`): [`CurveEditor`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.curveeditor.curveeditor)

start

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `Optional` `eventArgs` | [`EventArgs`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.controls.tools.eventargs.eventargs) | event args |


#### Returns

[`CurveEditor`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.curveeditor.curveeditor)

#### Inherited from

[AbstractLogVisualEditingTool](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.abstractlogvisualeditingtool.abstractlogvisualeditingtool).[start](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.abstractlogvisualeditingtool.abstractlogvisualeditingtool#start)

#### stop

▸ `Protected` **stop**(): [`CurveEditor`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.curveeditor.curveeditor)

stop

#### Returns

[`CurveEditor`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.curveeditor.curveeditor)

#### Inherited from

[AbstractLogVisualEditingTool](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.abstractlogvisualeditingtool.abstractlogvisualeditingtool).[stop](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.abstractlogvisualeditingtool.abstractlogvisualeditingtool#stop)

#### toggle

▸ **toggle**(): [`CurveEditor`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.curveeditor.curveeditor)

switch enable state to opposite state

#### Returns

[`CurveEditor`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.curveeditor.curveeditor)

#### Inherited from

[AbstractLogVisualEditingTool](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.abstractlogvisualeditingtool.abstractlogvisualeditingtool).[toggle](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.abstractlogvisualeditingtool.abstractlogvisualeditingtool#toggle)

#### update

▸ **update**(): `void`

Updates the state of the tool, recalculated and redraws the handles and curve limits (for spilling handles)

#### Returns

`void`

#### Overrides

[AbstractLogVisualEditingTool](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.abstractlogvisualeditingtool.abstractlogvisualeditingtool).[update](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.abstractlogvisualeditingtool.abstractlogvisualeditingtool#update)

#### canvasToClient

▸ `Static` **canvasToClient**(`plotPoint`, `plot`): [`Point`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.util.point.point)

Convert plot coordinates to global coordinates

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `plotPoint` | [`Point`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.util.point.point) | point in plot coordinates |
| `plot` | [`Plot`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.plot.plot.plot) | plot with canvas |


#### Returns

[`Point`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.util.point.point)

#### Inherited from

[AbstractLogVisualEditingTool](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.abstractlogvisualeditingtool.abstractlogvisualeditingtool).[canvasToClient](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.abstractlogvisualeditingtool.abstractlogvisualeditingtool#canvastoclient)

#### clientToCanvas

▸ `Static` **clientToCanvas**(`nativeEvent`, `plot`): [`Point`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.util.point.point)

Convert global coordinates to plot coordinates

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `nativeEvent` | `Event` | native browser event |
| `plot` | [`Plot`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.plot.plot.plot) | plot with canvas |


#### Returns

[`Point`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.util.point.point)

#### Inherited from

[AbstractLogVisualEditingTool](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.abstractlogvisualeditingtool.abstractlogvisualeditingtool).[clientToCanvas](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.abstractlogvisualeditingtool.abstractlogvisualeditingtool#clienttocanvas)

#### getClassName

▸ `Static` **getClassName**(): `string`

#### Returns

`string`

#### Inherited from

[AbstractLogVisualEditingTool](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.abstractlogvisualeditingtool.abstractlogvisualeditingtool).[getClassName](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.abstractlogvisualeditingtool.abstractlogvisualeditingtool#getclassname-1)

#### getExclusiveTool

▸ `Static` **getExclusiveTool**(`plot`): [`AbstractTool`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.controls.tools.abstracttool.abstracttool)

return exclusive tool associated with plot

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `plot` | [`Plot`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.plot.plot.plot) | plot |


#### Returns

[`AbstractTool`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.controls.tools.abstracttool.abstracttool)

tool

#### Inherited from

[AbstractLogVisualEditingTool](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.abstractlogvisualeditingtool.abstractlogvisualeditingtool).[getExclusiveTool](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.abstractlogvisualeditingtool.abstractlogvisualeditingtool#getexclusivetool)

#### getNativeEventName

▸ `Static` **getNativeEventName**(`eventName`): `string`[]

Returns native event name

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `eventName` | `string` | W3C Pointer Events Recommendation name |


#### Returns

`string`[]

#### Inherited from

[AbstractLogVisualEditingTool](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.abstractlogvisualeditingtool.abstractlogvisualeditingtool).[getNativeEventName](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.abstractlogvisualeditingtool.abstractlogvisualeditingtool#getnativeeventname)

#### isTouchEvent

▸ `Static` **isTouchEvent**(`eventArgs`): eventArgs is TouchEvent

return true if the event is a touch event and false otherwise.

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `eventArgs` | `Event` | [`EventArgs`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.controls.tools.eventargs.eventargs) | contains info of the event |


#### Returns

eventArgs is TouchEvent

#### Inherited from

[AbstractLogVisualEditingTool](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.abstractlogvisualeditingtool.abstractlogvisualeditingtool).[isTouchEvent](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.abstractlogvisualeditingtool.abstractlogvisualeditingtool#istouchevent-1)

#### lock

▸ `Static` **lock**(`plot`, `tool`): `void`

Set exclusive tool for plot

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `plot` | [`Plot`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.plot.plot.plot) | plot |
| `tool` | [`AbstractTool`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.controls.tools.abstracttool.abstracttool) | tool |


#### Returns

`void`

#### Inherited from

[AbstractLogVisualEditingTool](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.abstractlogvisualeditingtool.abstractlogvisualeditingtool).[lock](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.abstractlogvisualeditingtool.abstractlogvisualeditingtool#lock)

#### setDefaultMouseRadius

▸ `Static` **setDefaultMouseRadius**(`radius`): `void`

Sets default device radius for mouse events

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `radius` | `number` | radius for mouse events |


#### Returns

`void`

#### Inherited from

[AbstractLogVisualEditingTool](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.abstractlogvisualeditingtool.abstractlogvisualeditingtool).[setDefaultMouseRadius](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.abstractlogvisualeditingtool.abstractlogvisualeditingtool#setdefaultmouseradius)

#### setDefaultTouchRadius

▸ `Static` **setDefaultTouchRadius**(`radius`): `void`

Sets default device radius for touch events

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `radius` | `number` | radius for touch events |


#### Returns

`void`

#### Inherited from

[AbstractLogVisualEditingTool](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.abstractlogvisualeditingtool.abstractlogvisualeditingtool).[setDefaultTouchRadius](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.abstractlogvisualeditingtool.abstractlogvisualeditingtool#setdefaulttouchradius)

#### unlock

▸ `Static` **unlock**(`value`): `void`

Remove exclusive tool from plot

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `value` | [`AbstractTool`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.controls.tools.abstracttool.abstracttool) | [`Plot`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.plot.plot.plot) | value |


#### Returns

`void`

#### Inherited from

[AbstractLogVisualEditingTool](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.abstractlogvisualeditingtool.abstractlogvisualeditingtool).[unlock](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.widgets-4.tools-5.abstractlogvisualeditingtool.abstractlogvisualeditingtool#unlock)