Difference between revisions of "Efxclipse/Runtime/e4"
(→Lifecycle) |
(→No standard Services) |
||
Line 172: | Line 172: | ||
* programmaticall via ELifecycleService: Grab the service and register an lifecylce class using the same URL you'd have used for the tag | * 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 == | == PopupMenuService == |
Revision as of 16:25, 20 August 2013
Contents
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.