Ecore Tools/New and Noteworthy
Filtering capabilities in Outline
You can now quickly filter outline contents using a regular expression. As an example, you could find all the diagrams of your model by typing "Diagram" :
For further details see: Bugzilla 272891
Reordering of list layout elements
You can control the ordering of elements such as EAttributes, EOperations, EEnumLiterals or Detail Entries. Reordering can be done on creation (when using the corresponding tool from the palette) or after by simply drag'n'drop the element to move. Note that reordering is done both at the domain level and the notational one.
For further details see: Bugzilla 224585
Improve Diagram navigation
Now, each time you open a new diagram in a given editor (by double clicking in the editor area or through the outline view), the new diagram is opened in the same editor. It is then possible to navigate between diagrams using the "previous", "parent" or "next" buttons :
Currently, if you try to change the active diagram from the Project Explorer, the old mechanism is used (each diagram is opened in a separate editor) : this still ensure a way to compare two diagrams visually.
For further details see: Bugzilla 242201
Collapse elements in the outline view
For further details see: Bugzilla 242190
Improve support for multi-model diagrams
It is possible to run the "Restore Elements" action from a shortcut element.
Ecore Tools editor become sexy ! Gradients and shadow borders are available in order to make "shiny" diagrams !
You can manage these through Preferences in the Appearance page of the Ecore Tools diagram section :
- one preference used to activate/deactivate shadow borders
- one preference used to activate/deactivate gradients when figures are filled
A change on these preferences are reflected only after changing the active diagram.
For further details see: Bugzilla 235303
EMF Actions available in the outline view
Basic EMF actions are now available in the outline tree viewer :
- New Child ...
- New Siblings ...
- Undo / Redo
- Copy / Cut / Paste
- Control / Uncontrol
These actions only affect the domain model, but may involve some refresh at the diagram level.
For further details see: Bugzilla 215692
You often spend some time to move, resize, align, ... your graphical elements so that your diagram looks pretty nice. And then, you would like to provide a new view with different arrangements (for example one diagram showing only Inheritance links, and another showing only References links) and you need to perform this again... Now, this waste of time is over ! From the outline view, you can duplicate/clone a given diagram, so that you can quickly create new diagrams with the same graphical elements and properties.
"Load Resource..." action have been added in the contextual menu of the outline view so that you can reference easily external resources and create quickly some shortcuts in your diagram by simply DND the element from the outline. All those resources will be added under the "Additional Resources" item in the tree.
Share same Editing Domain
All the diagrams associated with a same diagram file that can be open into separate editors are sharing the same editing domain : this means that they will be synchronized and when you will save an diagram, it will then save all other diagrams that may be open into separate editors.
For further details see: Bugzilla 215017
Delete from diagram
Delete a view from the diagram is now possible. We are using a custom synchronization policy that manages only removal of orphaned views. This policy is installed on the diagram part using a custom key.
For further details see: Bugzilla 211852
There are a few filters already defined :
- Hide selection : hide all the selected elements
- Hide VisualType : hide all the elements selected and those associated with the same visual ID. For example, if you select only one EDataType, this will hide all the other EDataType elements in the current diagram.
- Hide SemanticModel : hide all the selected elements and those associated with the same semantic element. For example, if you have several graphical representation of the same semantic model in your diagram, this will hide all the graphical occurences, but not only the selected one.
- Show All Hidden Parts : used to show again all the hidden elements in the current diagram
- Hide Inheritance Relations : hide all the Inheritance links in the current diagram
- Hide Reference Relations : hide all the References (containment or not, eopposite or not) links in the current diagram
For further details see: Bugzilla 210772
Diagram management through outline
New actions are available in the outline so that you can manage easily the diagrams associated with your domain model :
- Create diagram : you can add new diagrams when selecting an EPackage and then give it a name
- Delete diagram : you can delete an existing diagram except the active diagram (in this case, the action will not be present)
- Rename diagram : you can also rename an existing diagram
Validation markers shown in the outline
Documentation tab in the Properties View
A new tab appears in the Properties View : this is mainly used to edit an already defined EAnnotation and might probably give you some ideas about new utilities sections we could add in this view !
For further details see: Bugzilla 215696
EOpposite references display
When two references are set each other as EOpposite, there is only one graphical connection with two labels, as if the two connections were merged. You can still select each of the two references by selecting the corresponding label, but selecting the link will only select one of the two references.
For further details see: Bugzilla 210774
Ecore Tools Perspective
Ecore Tools Perspective could be used to activate useful views and arrange them in a default way. You can activate it through "Window > Open Perspective > Other..." and then select the corresponding perspective.
Here is an example of screenshot you can get using the Ecore Tools perspective :
For further details see: Bugzilla 212407
Ecore project nature
You can create a new Ecore project (this is simply a Project with an Ecore nature). This is not yet currently needed to create such projects for handling ecore model/diagrams, but this might be a basis for implementing further refactoring capabilities ... TBC
For further details see: Bugzilla 212407
Ecore Tools new Creation wizard
You have the possibility to create a new Ecore diagram from scratch or from an existing Ecore model. In both cases, you can start using the creation wizard that will help you to create and initialize your diagram contents. To start the wizard, select the project where you want to create your model, "Right Click > New > Other..." and then select the corresponding kind of diagram : "Ecore Tools > Ecore Diagram"
Once you have selected the corresponding wizard, click on the "Next" button to open the wizard :
All the informations are grouped into that single wizard page. You have the possibility between
- creating a new Ecore diagram from scratch : in this case, select the "Create a new Model" option. You have then to select the output directory and specify the name for the domain model. The diagram model will be named using the same name, but using *.ecorediag as the file extension.
- create a new Ecore diagram from an existing domain file : in this case, select the "Create from an existing model" option. You have then to select the domain model (Note that if you have initially selected the domain model before opening the creation wizard, it is correctly initialized), and then select the EPackage (the root EPackage generally) to be associated with your diagram. Finally you can choose to initialize or not the diagram : it aims at populated or not initial contents into your diagram depending on the existing domain model structure.
For further details see: Bugzilla 210796
The Properties View have been improved to propose a "Model" category used to simplify the way of editing properties. You can also modify several features at the same time.
EClass Hierarchy View
The view is activated by default using the Ecore Tools perspective, but you can activate it using the magic "Ctrl+3" shortcut and then starting to type "EClass" :
The EClass Hierarchy View helps to better understand your ecore model hierarchy from the ESuperType features. You can synchronize that view with the current selection or refresh it explicitly . You also have the possibility to show the hierarchy into a descending way or ascending way :
For further details see: Bugzilla 212405
EClass References View
This view is useful to show all the EReference elements that are referencing the EClass currently selected. You can synchronize that view with the current selection or refresh it explicitly . Those references are categorized depending on their parent EClass. This view is also available from the Ecore Tree structure editor or from any other editor which can provide a selection from an EClass :
For further details see: Bugzilla 212406
The Outline View is composed of two parts :
- an Overview : birdview of the diagram canvas
- a Navigator : model-oriented tree view of the model which is currently edited.
The Outline Navigator can be synchronized with the editor : when selecting one or several element in the outline, all the graphical occurences are also selected in the current diagram, and while the diagram selction changes, associated domain elements are selected in the outline navigator.
DND capabilities from outline
Drag and drop from the outline view is enabled with restoration of connections for elements not yet displayed in the current diagram canvas.
An additional label is displayed inside the EPackage, EClass, EDataType, EEnum or EAnnotation figure when the corresponding semantic element is represented in another diagram canvas, ie when the graphical occurence is considered as an external element : the label (from package_name) appears under the element name.
For further details see : Bugzilla 211850