Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
Papyrus/Papyrus Developer Guide/Embedded Editors Developer Documentation
Contents
Embedded Editors
Papyrus uses embedded editors to provide specific functionalities (parsing, validation...) for UML elements.
External user can provide own editors through extension point:
org.eclipse.papyrus.extensionpoints.editors.DirectEditor
Direct Editor
The Direct Editor is defined by:
| Notion | Description |
|---|---|
| Language | This language used with the Direct Editor |
| Object To Edit | The UML element to edit(ex:org.eclipse.uml2.uml.Property) |
| Priority | The consideration of Direct Editor. |
| Icon | Image to display for the Direct Editor. |
| Contributor | It is the informations concerning the creator of le Direct Editor |
| Editor | The type of implementation used as Direct Editor |
| Constraint(optional) | If the Direct Editor is not applied for all instances of the UML Element |
Priority policy
There are 5 levels : Lowest, Low, Medium, High, Highest
- This priority policy has been defined so that:
- an external contribution is NOT the default editor with the classic configuration (LOW)
- an external contribution can be set to default editor(use High or Highest)
- To achieve that:
- the default priority is set to low
- Papyrus editors priority is set to medium
- Papyrus editors, defined to be the default ones, their priority is set at medium
Editor
Three kinds of Editor can be defined to edit an UML Element:
| Type | Extend | Implement |
|---|---|---|
| Simple Editor | org.eclipse.papyrus.extensionpoints.editors.configuration.IDirectEditorConfiguration
| |
| Advanced Editor | org.eclipse.jface.dialogs.Dialog
|
org.eclipse.papyrus.extensionpoints.editors.configuration.IAdvancedEditorConfiguration
|
| Popup Editor | org.eclipse.papyrus.extensionpoints.editors.configuration.IPopupEditorConfiguration
|
A basic implementation of Direct Editor is provided org.eclipse.papyrus.extensionpoints.editors.configuration.DefaultDirectEditorConfiguration
Constraint Editor
A constraint can be associated with an Editor. The constraint provides a simple way to filter the current selection which is an instance of UML element to edit. The Constraint must implement org.eclipse.papyrus.extensionpoints.editors.configuration.IDirectEditorConstraint and define both methods:
| Method | Description |
|---|---|
public boolean appliesTo(Object selection) |
Concrete implementation of filtering on selection |
public String getLabel() |
Name to describe the kind of constraint |
List of specific editors by UML elements
| UML Element | Direct Editor |
|---|---|
| org.eclipse.uml2.uml.Constraint | Essential OCL constraint editor |
| Textual editor for constraint edition with VSL | |
| JAVA Constraint | |
| org.eclipse.uml2.uml.OpaqueExpression | Essential OCL constraint editor |
| org.eclipse.uml2.uml.ValueSpecification | Value Specification Xtext editor |
| org.eclipse.uml2.uml.NamedElement | Textual Editor For NamedElement |