emf.edit: a story of adapters
Post on 14-Jan-2015
405 Views
Preview:
DESCRIPTION
TRANSCRIPT
EMF.EditA Story of Adapters
Mikaël BarberoObeo
Eclipse Con North America 2014March 20, 2014
© John W
ilhelm http://500px.com
/photo/59208448
Today’s Workout Routine
Connecting the Viewer
Changing the Labels
Changing the Content
Connecting the viewers
Exercise 1
Model View
Controller
Listening for Reacting to
CHANGES
notifies
adapts
Notifier Adapter
Listener pattern Notifier is the observable and Adapter is the observer
5
Notification Message from the Observable to the Observer
TreeViewer
Chain of notifications Explains the importance of calling dispose()
Adapter Factory Content
& Label Provider
Item Provider Adapter Factory
Item ProviderEObject
Update or Refresh Or how to be smart when notifying the viewer
TreeViewerAdapter
Factory Content & Label Provider
Item Provider Adapter Factory
Item ProviderEObject
#notifyChanged
Update or Refresh Or how to be smart when notifying the viewer
Provider type Singleton
Book Item
Provider
Book
Book Book
Provider type Stateful
Book Item
ProviderBook
Book
Book
Book Item
Provider
Book Item
Provider
TreeViewer
Composed Adapter Factory Look for the proper adapter factory for each type of object
Item Provider Adapter Factory
Item Provider Adapter Factory
Item Provider Adapter Factory
Adapter Factory Content
& Label Provider
Item Provider Adapter Factory
Item ProviderEObject
Code is Available
https://github.com/mbarbero/econ-na-2014-emf-edit
Tags demo1 and demo2
Changing the Labels
Exercise 2
XXXItemProvider#getText(Object) Easy
src
src-gen
Generation gap pattern Treat generated code as byte code
Item
Book Periodical BookOnTape
Video Cassette
TreeViewerAdapter
Factory Content & Label Provider
Item Provider Adapter Factory
Item ProviderEObject
Decorators of AdapterFactory and ItemProvider
TreeViewer
Decorators of AdapterFactory and ItemProvider
ItemAdapter
Factory Content & Label Provider
Item Provider Adapter Factory
ItemItem ProviderEObject
Code is Available
https://github.com/mbarbero/econ-na-2014-emf-edit
Tag demo3
Changing the Contents
Exercise 3
XXXItemProvider#getChildren(Object) Easy
TreeNode
Tree Model Wrap EObjects
EObjectdata
TreeViewer
Tree Model Wrap EObjects
ItemAdapter
Factory Content & Label Provider
Item Provider Adapter Factory
Item ItemItem ProviderEObject
Beware of too many notifications Make your item providers stateful
EObjectEObject
EObject
Beware of too many notifications Make your item providers stateful
Tree Node
Tree Node
Tree Node
Beware of too many notifications Make your item providers stateful
Tree NodeItem Provider
Tree NodeItem Provider
Tree NodeItem Provider
Beware of too many notifications Make your item providers stateful
EObject ItemProvider
Beware of too many notifications Make your item providers stateful
EObject ItemProvider
Beware of too many notifications Make your item providers stateful
Code is Available
https://github.com/mbarbero/econ-na-2014-emf-edit
Tag demo4
Connecting the Viewer
Changing the Labels
Changing the Content
Recap
Q & A
Mikaël Barbero mikael.barbero@obeo.fr +Mikaël Barbero @mikbarbero
Obeo http://www.obeo.fr
top related