EclipseCon France 2016 - Sirius 4.0: Let me Sirius that for you!

60
EclipseCon France, June 2016 Sirius 4.0: Let me Sirius that for you!

Transcript of EclipseCon France 2016 - Sirius 4.0: Let me Sirius that for you!

EclipseCon France, June 2016

Sirius 4.0:

Let me Sirius that for you!

EclipseCon France, June 2016

Sirius

EclipseCon France, June 2016

Statistics

EclipseCon France, June 2016

Statistics

10 active committers

EclipseCon France, June 2016

Statistics10 active committers

84 fixed bugs

EclipseCon France, June 2016

Statistics10 active committers

84 fixed bugs

~900 commits

EclipseCon France, June 2016

Statistics10 active committers

84 fixed bugs

~900 commits

+1100 forum messages

EclipseCon France, June 2016

What’s new ?

EclipseCon France, June 2016

Compartments 3.1

EclipseCon France, June 2016

Compartments3.1

https://www.eclipse.org/sirius/getstarted.html#compartments

EclipseCon France, June 2016

I18N 4.0

plugin_xx.properties

%key

Translated Labels

EclipseCon France, June 2016

Prefered side for border nodes

Sirius 4.04.0

EclipseCon France, June 2016

Better SVG rendering 4.0

EclipseCon France, June 2016

API to control the tabbar 4.0

EclipseCon France, June 2016

And even more...

EclipseCon France, June 2016

● Edges labels stability

3.1

EclipseCon France, June 2016

● Edges labels stability● Bi-directional link with editor

3.1

EclipseCon France, June 2016

● Edges labels stability● Bi-directional link with editor● Selection after tool execution

3.1

EclipseCon France, June 2016

● Edges labels stability● Bi-directional link with editor● Selection after tool execution● Customizable border style

3.1

EclipseCon France, June 2016

● Edges labels stability● Bi-directional link with editor● Selection after tool execution● Customizable border style● Better integration with EMF

Edit

4.0

EclipseCon France, June 2016

● Edges labels stability● Bi-directional link with editor● Selection after tool execution● Customizable border style● Better integration with EMF

Edit

General EditingDomain related ServicesgetEditingDomain, getAdapterFactory, getAdapter..

4.0

EclipseCon France, June 2016

● Edges labels stability● Bi-directional link with editor● Selection after tool execution● Customizable border style● Better integration with EMF

Edit

General EditingDomain related ServicesgetEditingDomain, getAdapterFactory, getAdapter..

4.0

Item Providers ServicesgetLabelProviderText, getLabelProviderImage,

getColorProviderBackground...

EclipseCon France, June 2016

● Edges labels stability● Bi-directional link with editor● Selection after tool execution● Customizable border style● Better integration with EMF

Edit

General EditingDomain related ServicesgetEditingDomain, getAdapterFactory, getAdapter..

4.0

Item Providers ServicesgetLabelProviderText, getLabelProviderImage,

getColorProviderBackground...

Item Property related ServicesgetPropertyDescriptorDisplayName, getPropertyDescriptorChoiceOfValues, isPropertyDescriptorMany...

EclipseCon France, June 2016

● Edges labels stability● Bi-directional link with editor● Selection after tool execution● Customizable border style● Better integration with EMF

Edit

General EditingDomain related ServicesgetEditingDomain, getAdapterFactory, getAdapter..

4.0

Item Providers ServicesgetLabelProviderText, getLabelProviderImage,

getColorProviderBackground...

Item Property related ServicesgetPropertyDescriptorDisplayName, getPropertyDescriptorChoiceOfValues, isPropertyDescriptorMany...

Command related ServicesperformSetCommand, performAddCommand,

performUnsetCommand...

EclipseCon France, June 2016

● Edges labels stability● Bi-directional link with editor● Selection after tool execution● Customizable border style● Better integration with EMF Edit● Metamodel warning

4.0

EclipseCon France, June 2016

● Edges labels stability● Bi-directional link with editor● Selection after tool execution● Customizable border style● Better integration with EMF Edit● Metamodel warning● Contribute SVG shapes :

stencil pack

4.0

EclipseCon France, June 2016

● Edges labels stability● Bi-directional link with editor● Selection after tool execution● Customizable border style● Better integration with EMF Edit● Metamodel warning● Contribute SVG shapes : stencil

pack● Improve performance of

session unload

4.0

Sirius 3.0

Sirius 4.0

Close Project (Time in sec)

55 ~0

EclipseCon France, June 2016

EclipseCon France, June 2016

EclipseCon France, June 2016

Properties

View

EclipseCon France, June 2016

Sirius

EclipseCon France, June 2016

Things we ♡ in Sirius● Define your properties in the .odesign file

EclipseCon France, June 2016

Things we ♡ in Sirius● Define your properties in the .odesign file● Dynamic, no code generation involved

EclipseCon France, June 2016

Things we ♡ in Sirius● Define your properties in the .odesign file● Dynamic, no code generation involved● Flexible even for complex Ecore models

EclipseCon France, June 2016

Things we ♡ in Sirius● Define your properties in the .odesign file● Dynamic, no code generation involved● Flexible even for complex Ecore models

... APPLIED FOR THE PROPERTY VIEWS

EclipseCon France, June 2016

Structure

Properties View

Properties View

EclipseCon France, June 2016

Structure

Page

Page

EclipseCon France, June 2016

Structure

Group

Group

EclipseCon France, June 2016

Structure

Widget

Widget

EclipseCon France, June 2016

Text widget

Label Expression

Label Expression:"Name:"

EclipseCon France, June 2016

Text widget

Value Expression

Value Expression:"aql:self.name"

Variable

AttributeInterpreter

EclipseCon France, June 2016

Text widgetHelp Expression

Help Expression:"Title of the talk"

EclipseCon France, June 2016

Text widget

Initial Operation: Begin

Initial Operation

Set → Value Expression: "aql:newValue"

Set → Feature Name:"name"Model Operations

Attribute

Variable

EclipseCon France, June 2016

Demo

EclipseCon France, June 2016

How can we help supporting complex meta-models?

EclipseCon France, June 2016

How can we create a text widget for each “String” property?

without defining tons of text widgets...

EclipseCon France, June 2016

How can we create multiple widgets from a singledefinition?

EclipseCon France, June 2016

Dynamic mappings

iteration

EclipseCon France, June 2016

Dynamic mappings

iteration condition

If property.eType = EString

EclipseCon France, June 2016

Dynamic mappings

iteration condition widget

If property.eType = EString

EclipseCon France, June 2016

Dynamic mappings

iteration condition

If property.eType = EString

If property.eType = EBoolean

widget

EclipseCon France, June 2016

Dynamic mappings

iteration condition

If property.eType = EEnum

widget

If property.eType = EString

If property.eType = EBoolean

EclipseCon France, June 2016

Demo

EclipseCon France, June 2016

Default rulesBased on the dynamic mapping mechanism

EclipseCon France, June 2016

Demo

EclipseCon France, June 2016

Try it !

1. Install - Neon Update Site:

http://download.eclipse.org/releases/neon

2. Documentation:

https://www.eclipse.org/sirius/doc/specifier/Properties_View_Description.

html

Experimental

EclipseCon France, June 2016

Paris

15th November, 2016

siriuscon.org

EclipseCon France, June 2016

Thanks!

Questions?

@mbats@sbegaudeau

EclipseCon France, June 2016