Your SlideShare is downloading. ×
Model my PDE!
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Model my PDE!

510

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
510
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
2
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Benjamin CabéBCabe@sierrawireless.com
  • 2. Agenda
    PDE origins
    EMF+ Forms + other cool stuff
     EMF Forms!
    Examplary project: Declarative Services tooling
  • 3. PDE as of 3.6, it is
    Java model
    +
    Text-editingframework
    +
    OSGi integration
    +
    Forms
    March 25th, 2010
    © Sierra Wireless
  • 4. Fair enough…
    March 25th, 2010
    © Sierra Wireless
  • 5. Bummer! A new OSGi header!
    March 25th, 2010
    © Sierra Wireless
  • 6. What do you expect from an editor?
    March 25th, 2010
    © Sierra Wireless
  • 7. And from an editingframework?
    March 25th, 2010
    © Sierra Wireless
  • 8. March 25th, 2010
    © Sierra Wireless
    EMF
  • 9. EMF Forms
    A generic & tiny framework
    To build advanced editors on top of models
    Lives in PDE incubator
    /cvsroot/eclipse
    pde-incubator/modeling component
    March 25th, 2010
    © Sierra Wireless
  • 10. EMF Forms: the Editor
    EmfFormEditor<? extends EObject>
    Generic editor
    Configurable
    Custom Forms toolkit
    Outline?
    Rich error tooltips?
    Source page?
    March 25th, 2010
    © Sierra Wireless
  • 11. EMF Forms: the Page
    AbstractEmfFormPage
    createContents()
    bind()
    March 25th, 2010
    © Sierra Wireless
  • 12. EMF Forms: Master/Details blocks
    EmfMasterDetailBlock /EmfDetailsPart
    Ease the process of registering details pages
    Hierarchical databinding (DetailsObservable)
    March 25th, 2010
    © Sierra Wireless
  • 13. March 25th, 2010
    © Sierra Wireless
    What? You’re not usingdatabinding?!?
  • 14. Databinding
    Linking objects with each other
    in a declarative
    and simple way
    Allows to specify
    Conversion rules
    Validation policies
    March 25th, 2010
    © Sierra Wireless
    Controller
    Model
    View
  • 15. EMF Databinding
    On top of the Edit layer
    Compact syntax
    Default behavior easily customizable
    March 25th, 2010
    © Sierra Wireless
  • 16. Databinding examples
    bindingContext.bindValue( ViewerProperties. input(). observe(_propertiesMasterDetail. getTreeViewer() ) , getEditor().getInputObservable());
    March 25th, 2010
    © Sierra Wireless
  • 17. Databinding examples (MasterDetails)
    bindingContext.bindValue( WidgetProperties. text(SWT.FocusOut). observe(propertyComposite.getTextName()) , EMFEditProperties. value(getEditingDomain(), ScrPackage.Literals.COMPONENT__NAME). observeDetail(getCurrentSelection()));
    March 25th, 2010
    © Sierra Wireless
  • 18. EditingDomain?
    Every operation on the model is a Command
    This command beingstacked on a CommandStack
    March 25th, 2010
    © Sierra Wireless
  • 19. Undo/redo
    CommandStack
    Period.
    March 25th, 2010
    © Sierra Wireless
  • 20. Model validation
    « Simple » validation rules
    Directly in the model
    Code mostly generated if you use the http://www.eclipse.org/emf/2002/Ecore#constraints annotation
    On-demand
    March 25th, 2010
    © Sierra Wireless
  • 21. Model validation
    More complex rules
    Contributed from the outside
    Declaration
    Fine-grained
    March 25th, 2010
    © Sierra Wireless
  • 22. March 25th, 2010
    © Sierra Wireless
    EMF Validation yousaid?!?
  • 23. EMF Validation
    Constraints defined in extension points
    Bound to specific feature(s) and operation(s)
    They can be written in Java, OCL… or any language
    March 25th, 2010
    © Sierra Wireless
  • 24. Validation builder
    ModelIncrementalBuilder
    Genericbuilder
    Detects modification on model files
    Creates markers
    EMFFormEditorimplementsIGotoMarker
    Makethingsfasterfiltering on a content-type
    March 25th, 2010
    © Sierra Wireless
  • 25. Architecture of the DS tooling
    org.eclipse.pde.emfforms
    March 25th, 2010
    © Sierra Wireless
    org.eclipse.pde.ds.ui
    org.eclipse.pde.ds.edit
    org.eclipse.pde.ds.builder
    org.eclipse.pde.ds
  • 26. DS Tooling: the model
    March 25th, 2010
    © Sierra Wireless
  • 27. DS Tooling: the model
    March 25th, 2010
    © Sierra Wireless
  • 28. March 25th, 2010
    © Sierra Wireless
    Demo!
  • 29. Roadmap (?)
    Better text/modelsynchronization
    Improve the API
    Xtext integration
    Exemplaryproject:OSGi bundle editor
    Documentation
    March 25th, 2010
    © Sierra Wireless
  • 30. Feedback
    PDE/UI bugzilla
    [modeling]
    March 25th, 2010
    © Sierra Wireless
  • 31. Thanks!
    Benjamin Cabé
    BCabe@sierrawireless.com
    March 25th, 2010
    © Sierra Wireless

×