Editor Model Semantics

EditorDefinition

The EditorDefinition defines the configurable behavior of the editor.

name : String[1]

The name of the language for which this editor model applies.
This name is not currently used.
It should be the same as the IMP language name.

extends : EditorDefinition[*]

Editor definitions can be re-used by specifying that an editor definition extends other editor definitions.
The first defining node discovered during a depth-first search occludes all other definitions. So definition in this model overrides all others and definitions in a first extends override a second extend.
This should be persisted as a platform:/... reference to ensure that it is resolvable when used.

node : AbstractNode[*]

The AST or CST node classes for which editing behavior is defined.

AbstractNode

An AbstractNode defines the configurable behavior of a particular class of AST or CST node. Derived AbstractNodes support identification of that class by its Ecore classifier (EcoreNode) or Java class name (JavaNode).

base : AbstractNode[*]

Node definitions can be re-used by specifying that a node definition extends other node definitions.
The first defining node discovered during a depth-first search occludes all other definitions. So definition in this node overrides all others and definitions in a first base overrides a second base.

behavior : Behavior[*]

The editing behaviors defined for the node.

EcoreNode extends AbstractNode

An JavaNode defines the behavior of an AST or CST node according to the its Ecore EClassifier.

element : EClassifier[1]

The Ecore classifier.

JavaNode extends AbstractNode

A JavaNode defines the behavior of an AST or CST node according to its Java class name. This is necessary for non-Ecore modelled nodes such as IFile, Resource and ResourceSet.

name : String[1]

The Java class name.

Example: org.eclipse.emf.ecore.resource.ResourceSet

Behavior

Derived behaviors configure an editing behavior of a particular class of AST or CST node.

FoldingBehavior extends Behavior

A paragraph folding icon is shown at the top line of every CST node for which the most derived AbstractNode exists and has a FoldingBehavior.

LabelBehavior extends Behavior

The Label icon and text of an AST or CST node within an Outline display is configured by the most derived AbstractNode for the AST or CST node class.
The text LabelBehavior may be used recursively.

image : String[?]

The workspace-relative name of a file to be accompany the label.
This should usually be the name of an icon in the associated model edit plug-in to ensure that icons are re-used between standard and custom Ecore editors.

Example: /org.eclipse.emf.edit/icons/full/obj16/ResourceSet.gif

This attribute is ignored if the imageProvider is non-null and provides a non-null image.

imageProvider : ImageProvider[?]

A provider for the workspace-relative name of a file to be accompany the label.
A custom class can be provided to make a data-dependent image selection.

format : String[1]

The java.text.MessageFormat format string.
Braces surround the 0-based index of the value of an associated elements.

Example: {0} = {1}

elements : AbstractLabelElement[*]

Each element provides the text for one format argument.

OutlineBehavior extends Behavior

The immediate children within an Outline display may be configured by the most derived AbstractNode for the AST or CST node class.