Skip to main content
Jump to: navigation, search

JWT MultipleViews

This site gives some information about the current developments in the multiple views branch. Please feel free to try everything out. The current status should still be considered alpha, therefore if something seems to do not quite what you expect it's most probably a bug ;)


What is needed?

  • jwt-we (view_multiple branch)
  • jwt-meta (in meta directory on CVS)
  • Dependency on GEF Zest (for graph layouting)

Support for Multiple View Data


  • Dimension & Location have been replaced by LayoutData
  • One GraphicalElement can have multiple LayoutDatas (one for each view)
  • LayoutData can be imported from another view or created using a layouting algorithm (from GEF Zest project)
  • Configurable behavior (in preferences) if viewdata is missing
  • LayoutData Wizard (button in toolbar next to view dropdown)
  • View data is stored in separate *.workflow_view file


  • Syncronization of LayoutDatas between views (location in one view changes the location in other views)
  • Additional layout algorithms better suited for workflows ([1]), maybe replace Zest to remove dependence

Sourcing out Meta-Model


  • Core Meta Model sourced out in own plugin (jwt-meta)
  • Refactored View elements so that they reference the core elements but not the other way around
  • Adjusted templates/code, regenerated model(s), transferred manually adjusted code into new providers
  • ProviderRegistry allows to inject editor-specific properties (images, visibility, commands, model children) into the model
  • Commands split into core and view commands
  • Garbage collection executed on saving for removing unnecessary view data (References, ReferenceEdges, LayoutData)
  • Included new ATL based converter
  • Both models have been regenerated successfully


  • Adjust other Plugins
  • Write transformation for old 0.5.0 files
  • Remove GEF dependency from jwt-meta (affects CommandStack/Commands)
  • Find nice icon for wizard in toolbar
  • Adjust
  • Import changes from head


The changes above had some serious impact (much more than I initially expected) on almost every aspect of GEF. Therefore, before integrating the new version into the HEAD, the following functions (the usual suspects when something can go wrong) should be confirmed to work in different circumstances.

Things to test

  • Handling of reference edges (creating, deleting, copying, reconnecting, ...)
  • Copy/Cut/Paste and Undo/Redo in different circumstances
  • Deleting (is everything deleted, do errors occur?)
  • LayoutData Wizard and multiple view data in general
  • Drag'n'Drop (Outline -> Outline, Outline -> Editor)
  • Insert Scope from Outline
  • Template import/export
  • Does everything work with multiple open editors (Singleton issues?)
  • Save viewdata in own file .workflow_view

Known Problems

Back to the top