Package com.luciad.view.lightspeed.editor
package com.luciad.view.lightspeed.editor
Provides support for interactive editing of domain objects in a model. The main interface
in this package is
ILspEditor
. Editors
are used by TLspEditController
to define different editing behavior for different types of domain objects.
The default TLspShapeEditor
supports all available ILcdShape
implementations by aggregating the
individual editors that are available for each type of shape. These individual editors are also available in the API
for customization purposes. When writing a custom editor for an entirely new type of shape, most users will want to
extend the abstract base class ALspEditor
.
The working of an editor is as follows:
- The edit controller asks the editor to provide a set of
edit handles
for a given domain object. - An
edit handle
is a widget that is associated with some part or property of a domain object. A polygon, for instance, would typically have an edit handle on each of its vertices, each of which is visualized as a small dot and which can be dragged around by the user to move the corresponding vertex to another location. - While the object is in an editable state, the controller forwards input events (e.g. mouse events) to the
edit handles by invoking their
handleAWTEvent()
method. The handle produces aTLspEditHandleResult
, which describes at a higher level the action that the user performed. If the handle was able to meaningfully interpret the user's input, the edit handle result will contain one or moreTLspEditOperations
. - The editor is asked to apply the given edit operations to the domain object being edited, via a call to
edit()
.
edit operation
does not refer back to its
originating handle directly. Editors can, however,
assign properties
to
their handles, which the handle
copies back
into its edit
operations. These properties are key/value pairs that the editor is completely free to choose. This allows editors to
inject semantic information into handles without having to override handle implementations. The editors available in
the LuciadLightspeed API employ the following convention for these
properties:
- Each editor defines an internal enumeration type called
PropertyKeys
which lists the values that the editor uses as keys for its handle properties; - The documentation of each element in this enumeration lists the type of the property value.
com.luciad.view.lightspeed.editor.operation
describes edit handle results and edit operations;com.luciad.view.lightspeed.editor.handle
contains the various available edit handle implementations;com.luciad.view.lightspeed.editor.label
contains specific support for label editing;com.luciad.view.lightspeed.editor.snapping
defines a snapping mechanism for use with editors.
- Since:
- 2012.0
-
ClassDescriptionALspCreateEditorModel<T extends ILcdShape>An abstract class that can be used by editors to create a new (sub-)shape.Abstract base class for implementations of
ILspEditor
.Enumeration of the different creation behaviors of point lists.An editor is responsible for creating edit handles, and applying edit operations created by those handles on domain objects.Enables visual editing ofILcd2DEditableShape
objects in anILspView
.Enables visual editing ofILcd2DEditablePointList
objects in anILspView
.Defines keys used by the enclosing editor implementation to store properties in its edit handles.Enables visual editing ofILcd3DEditableArcBand
objects in anILspView
.Identifies a handle used by the enclosing editor implementation.Defines keys used by the enclosing editor implementation to store properties in its edit handles.Enables visual editing ofILcd3DEditablePointList
objects in anILspView
.Defines keys used by the enclosing editor implementation to store properties in its edit handles.Enables visual editing ofILcd2DEditableArcBand
objects in anILspView
.Describes a control point of an arc-by-3-points shape.Defines keys used by the enclosing editor implementation to store properties in its edit handles.Enables visual editing ofILcd2DEditableCircularArcBy3Points
objects in anILspView
.Describes a control point of an arc-by-3-points shape.Defines keys used by the enclosing editor implementation to store properties in its edit handles.Enables visual editing ofILcd2DEditableCircularArcByBulge
objects in anILspView
.Describes a control point of an arc-by-bulge shape.Defines keys used by the enclosing editor implementation to store properties in its edit handles.Enables visual editing ofILcd2DEditableCircularArcByCenterPoint
objects in anILspView
.Describes a control point of an arc-by-center shape.Defines keys used by the enclosing editor implementation to store properties in its edit handles.Enables visual editing ofILcd2DEditableArc
objects in anILspView
.Describes a control point of an arc.Defines keys used by the enclosing editor implementation to store properties in its edit handles.Describes a control point of a bounds.Defines keys used by the enclosing editor implementation to properties in its edit handles.Enables visual editing ofILcd2DEditableCircleBy3Points
objects in anILspView
.Describes a control point of a circle-by-3-points shape.Defines keys used by the enclosing editor implementation to store user properties in its edit handles.Enables visual editing ofILcd2DEditableCircle
objects in anILspView
.Describes a control point of a circle.Defines keys used by the enclosing editor implementation to store properties in its edit handles.Enables visual editing ofILcdEditableComplexPolygon
objects in anILspView
.Defines keys used by the enclosing editor implementation to store properties in its edit handles.Enables visual editing ofILcdEditableCompositeCurve
objects in anILspView
.Defines the various values used by theCURVE_CONNECT
property key.Defines keys used by the enclosing editor implementation to store properties in its edit handles.Composite editor forILspEditor
objects.DefaultALspCreateEditorModel
implementation that has support for creating circular arcs by bulge, circular arc by 3 points, and polylines.Type that defines which curve is created next.Enables visual editing ofILcd3DEditableDome
objects in anILspView
.Describes the type of an edit handle created by the enclosing editor implementation.Defines keys used by the enclosing editor implementation to store properties in its edit handles.Provides context information to editors, such as the object being edited, its paint representation or its layer.Enables visual editing ofILcd2DEditableEllipse
objects in anILspView
.Describes a control point of an ellipse.Defines keys used by the enclosing editor implementation to store properties in its edit handles.Adds editing capabilities for extruded versions of objects.Describes the type of an edit handle created by the enclosing editor implementation.Defines keys used by the enclosing editor implementation to store properties in its edit handles.Defines keys used by the enclosing editor implementation to store properties in its edit handles.Enumerates types of visual feedback that can be given during the editing process.Enables visual editing ofTLcdLonLatHeightBuffer
objects in anILspView
.Describes the type of an edit handle created by the enclosing editor implementation.Defines keys used by the enclosing editor implementation to store properties in its edit handles.Enumeration listing possible locations for the buffer's resize handles.Provides context information about multiple objects, such as the objects being edited, its paint representations and its layers.This editor is a composite editor that delegates to all other editors in this package.Editor wrapper for editing shapes that are contained in a shape list.Defines keys used by the enclosing editor implementation to store properties in its edit handles.Enables visual editing ofILcd3DEditableSphere
objects in anILspView
.Describes the type of an edit handle created by the enclosing editor implementation.Defines keys used by the enclosing editor implementation to store properties in its edit handles.Enables visual editing ofILcdEditableSurface
objects in anILspView
.Enables visual editing ofILcd2DEditableText
objects in anILspView
.Enables visual editing ofILcd3DEditableVariableGeoBuffer
objects in anILspView
.Defines keys used by the enclosing editor implementation to store properties in its edit handles.