Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Efxclipse/Runtime/e4

< Efxclipse
Revision as of 16:25, 20 August 2013 by Tom.schindl.bestsolution.at (Talk | contribs) (No standard Services)

General

Rendering Tags

Some of the model elements can be enhanced with special kind of values to influence the renderers to provide behavior very specific zu JavaFX

MWindow

Title Slot Value Description
efx.window.scene.3d persistedState boolean If you want to enable depthBuffering in your the windows scene you should pass true here
efx.window.decoration.fxml persistedState url In case you want to show a custom window decoration you should pass an URL to a fxml-File to be used
efx.window.undecorated persistedState boolean If you want the stage representing the window created with out any StageStyle.UNDECORATED you should pass true for it

MPartSashContainer

Title Slot Value Description
fx_fixedLayout tags - If you add this tag to a MPartSashContainer it will be rendered using a fixed layout (it isn't a Sash anymore but uses a LayoutPane)

MPartSashContainerElement

Title Slot Value Description
fx_layout_width persistedState double The value is an absolute width this widget will use in the parent (MPartSashContainer tagged with "fx_fixedLayout")
fx_layout_height persistedState double The value is an absolute height this widget will use in the parent (MPartSashContainer tagged with "fx_fixedLayout")
fx_layout_grab_horizontal persistedState boolean If set to true the element grabs all free horizontal space (MPartSashContainer tagged with "fx_fixedLayout")
fx_layout_grab_vertical persistedState boolean If set to true the element grabs all free vertical space (MPartSashContainer tagged with "fx_fixedLayout")

MPart

Title Slot Value Description
Part-Toolbar-FullSpan tags - If this tag is added to the MPart the toolbar is spanning the complete width of the part
Part-ToolBarMenu-Floating tags - If this tag is added to the MPart the toolbar is floating above the parts content and can be collapsed
Part-ToolBarMenu-Bottom tags - If this tag is added to the MPart the toolbar is rendered at the bottom instead of the top
Lifecycle URL tags EFX_LC:$URL$ If you add a tag starting with EFX_LC: and an URL like e.g. bundleclass://my.bundle/my.lifecycle.Handler the methods @PreShow and @PreClose will be called at the appropriate time

MTrimElement

Title Slot Value Description
fillspace tags - If this tag is added to the MTrimElement it will fill the remaining space in the trim

MPartStack

Title Slot Value Description
fx_pagination tags - If this tag is added to the MPartStack it will be rendered using a pagination control instead of a TabFolder

MPerspective

Title Slot Value Description
Lifecycle URL tags EFX_LC:$URL$ If you add a tag starting with EFX_LC: and an URL like e.g. bundleclass://my.bundle/my.lifecycle.Handler the methods @PreShow and @PreClose will be called at the appropriate time

MMenu

Title Slot Value Description
Lifecycle URL tags EFX_LC:$URL$ If you add a tag starting with EFX_LC: and an URL like e.g. bundleclass://my.bundle/my.lifecycle.Handler the methods @PreShow and @PreClose will be called at the appropriate time

Lifecycle

Certain renderers based on the efxclipse generic ones support the idea of a lifecycle (Show/Hide/...). We decided no to introduce a new mixin ourselves to support the lifecycle for now but abuse the tags for it because we expect to work with the upstream project on a general solution. Currently the following renderers support lifecycle:

  • MMenu
  • MPerspective
  • MPart

There are 2 ways to register a lifecycle:

  • declartive via e4xmi: by adding a tag to the element which starts with EFX_LC: followed by a URL to the lifecycle class
  • programmaticall via ELifecycleService: Grab the service and register an lifecylce class using the same URL you'd have used for the tag

None standard Services

PopupMenuService

The has the same feature as the EMenuService from e4 on SWT but because the service definition is found in a bundle which has a dependency on SWT we had to invent our own one

ELifecycleService

Allows to register/unregister lifecycle handlers on model elements

PerspectiveTransitionService / WindowTransitionService

Those 2 services allow you to control how perspective transitions and window open/close transition are done. The renderes will look up the service from the MApplications IEclipseContext and if one available use it.

Back to the top