emf.edit the force unleashed!
DESCRIPTION
TRANSCRIPT
EMF.EditThe Force Unleashed!
cloudchaser32000 (cc) http://www.flickr.com/photos/22566089@N03/5983182747/
Mikaël BarberoObeo
Did you ever code a rich client application:
- without EMF?
- with EMF?
What is EM F ?
FromModels...
(cc) Alan Dean http://www.flickr.com/photos/60041018@N00/3513723662
...to Java Beans
(cc) The Wanderer's Eye http://www.flickr.com/photos/8997331@N04/5237447939
OnSteroïds
(cc) Tama Leaver http://www.flickr.com/photos/75815807@N00/2409717875
(cc) Яick Harris http://www.flickr.com/photos/37153080@N00/430890004
More about the
Steroïds
(cc) Sterlic http://www.flickr.com/photos/27482959@N08/5559534294
EMF.Edit
(cc) alexliivet http://www.flickr.com/photos/23108377@N07/7018977935
NotifyFramework
CommandFramework
ChangeRecorder
(cc)
sha
nkar
, shi
v ht
tp://
ww
w.fl
ickr
.com
/pho
tos/
1472
2496
@N
04/2
3683
4620
2
(cc)
Cra
zy D
iam
ond
http
://w
ww
.flic
kr.c
om/p
hoto
s/48
4464
24@
N00
/450
5142
495
NotifyFramework
CommandFramework
ChangeRecorder
(cc)
sha
nkar
, shi
v ht
tp://
ww
w.fl
ickr
.com
/pho
tos/
1472
2496
@N
04/2
3683
4620
2
Observer—
Adapter
Observable—
Notifier
notifies
registers
Notification Message from the Observable to the Observer
5
Notification
EventType
Add
RemoveAdapter
Set
Unset Remove
AddMany
RemoveMany
Resolve
Stop Delivering Notifications
(cc)
chu
bsto
ck h
ttp:
//ww
w.fl
ickr
.com
/pho
tos/
2149
7715
@N
08/2
0798
8500
2
{{
For all model elements
In Genmodel
Set «Model / Suppress Notification» to false
For one model elements
On EObject instance
call #eSetDeliver(false)
EContent AdapterListener of Containment Tree
EContent AdapterListener of Containment Tree
eAdapters().add(EContentAdapter)
EContent AdapterListener of Containment Tree
eAdapters().add(EContentAdapter)
3... 2... 1... Action!
https://gist.github.com/mbarbero/18e16fe13da40ba825ce
https://gist.github.com/mbarbero/e8aa2c0754dccdd45b
Code available
NotifyFramework
CommandFramework
ChangeRecorder
(cc)
Cra
zy D
iam
ond
http
://w
ww
.flic
kr.c
om/p
hoto
s/48
4464
24@
N00
/450
5142
495
What is a?
(cc) jDevaun http://www.flickr.com/photos/34316967@N04/3838807132
Executability
Executability
Undoability
Executability
Undoability
Redo
Result
Result
Aected Objects
Result
Aected Objects
Label / Description
GenericCommands
Set
Replace
Add
Remove
Move
Copy
High-levelCommands
CreateChild
Paste from Clipboard
Delete
Cut To Clipboard
Copy to Clipboard
Drag & Drop
(c) Simon Cox, Sept 2012
(c) Simon Cox, Sept 2012
Stack
Command
3... 2... 1... Action!
https://gist.github.com/mbarbero/77c81a93b5f63c441207
Code available
NotifyFramework
CommandFramework
ChangeRecorder
Change ModelBird view
ChangeDescription
apply() applyAndReverse()
Map<EObject, Changes>
EObject(from ecore)
FeatureChange
dataValue : String
EStructuralFeature(from ecore)
referenceValue
key
objectChanges [*]
value [*]
feature
Change RecorderListener of Containment Tree
ChangeRecorder
Change RecorderListener of Containment Tree
ChangeRecorder
Listen to
Change RecorderListener of Containment Tree
ChangeRecorder
Listen to Creates
Change model
Change Command
(cc) fdecomite http://www.flickr.com/photos/21649179@N00/6478685035
Change Command
Execute
Change Command
Execute
Change recorder
Change Command
Execute Undo Redo
Change recorder
Change Command
Execute Undo Redo
applyAndReverseChange recorder
3... 2... 1... Action!
https://gist.github.com/mbarbero/6e6b88ee61ce7e2e57
Code available
What you should remember
(cc) debaird™ http://www.flickr.com/photos/48889107219@N01/239460739
What you should remember
Adapter + ChangeModel
What you should remember
ChangeRecorder=
Adapter + ChangeModel
Command + ChangeRecorder
What you should remember
ChangeRecorder ChangeCommand= =
Adapter + ChangeModel
Command + ChangeRecorder
Steroïds for Your App
What you should remember
ChangeRecorder ChangeCommand+
Q & A
(cc) Instant Vantage http://www.flickr.com/photos/44312356@N04/6023508805
Mikaël [email protected]+Mikaël Barbero@mikbarbero
Obeohttp://www.obeo.fr
(cc) TheAlieness GiselaGiardino²³ http://www.flickr.com/photos/36613169@N00/304120801/
Give Feedback
1} Sign in www.eclipsecon.org
2} Select Session Evaluate
3} Vote +1, 0 or -1
(cc)
Den
is D
ervi
sevi
c ht
tp://
ww
w.fl
ickr
.com
/pho
tos/
2397
9265
@N
07/4
7455
2050
1/