Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
Difference between revisions of "Riena Migrating to 2.0 from 1.2"
(→SimpleNavigationNodeProvider - register methods removed) |
(→Incompatibilities) |
||
Line 8: | Line 8: | ||
=== ITextRidget - Removed getAlignment() and setAlignment(int) methods === | === ITextRidget - Removed getAlignment() and setAlignment(int) methods === | ||
− | + | SWT does not support changing the alignment after creating a Text widget. In 1.2 all occurrences of these methods have intentionally thrown an UnsupportedOperationException. These methods have been removed in 2.0. ({{bug|239979}}) | |
− | SWT does not support changing the alignment after creating a Text widget. In 1.2 all occurrences of these methods have intentionally thrown an UnsupportedOperationException. These methods have been removed in 2.0. | + | |
=== SimpleNavigationNodeProvider - Removed register methods === | === SimpleNavigationNodeProvider - Removed register methods === | ||
− | + | The following methods have been removed: | |
− | The following methods | + | |
* register(ISubApplicationNodeExtension, INavigationAssembler assembler) | * register(ISubApplicationNodeExtension, INavigationAssembler assembler) | ||
* register(IModuleGroupNodeExtension, INavigationAssembler assembler) | * register(IModuleGroupNodeExtension, INavigationAssembler assembler) | ||
Line 19: | Line 17: | ||
* register(ISubModuleNodeExtension, INavigationAssembler assembler) | * register(ISubModuleNodeExtension, INavigationAssembler assembler) | ||
In the old implementation of SimpleNavigationNodeProvider these methods do nothing. | In the old implementation of SimpleNavigationNodeProvider these methods do nothing. | ||
+ | |||
+ | === SubModuleController & IWindowRidget - Removed getDefaultButton() and setDefaultButton(...) methods === | ||
+ | |||
+ | The above methods have been removed. They did not work consistently and did support only a single default button. Use <tt>SubModuleController.addDefaultAction(IRidget focusRidget, IActionRidget action)</tt> instead. For an example showing how to use this new API refer to DefaultButtonSubModule{View,Controller}. ({{bug|291708}}) | ||
== Adopting 2.0 mechanisms and API == | == Adopting 2.0 mechanisms and API == |
Revision as of 14:35, 3 February 2010
Introduction
Explains how to migrate to Riena 2.0 from 1.2.
While every effort was made to avoid breakage, there are a few areas of incompatibility or new APIs that should be adopted by clients. This page describes those areas and provides migration instructions.
Incompatibilities
ITextRidget - Removed getAlignment() and setAlignment(int) methods
SWT does not support changing the alignment after creating a Text widget. In 1.2 all occurrences of these methods have intentionally thrown an UnsupportedOperationException. These methods have been removed in 2.0. (bug 239979)
The following methods have been removed:
- register(ISubApplicationNodeExtension, INavigationAssembler assembler)
- register(IModuleGroupNodeExtension, INavigationAssembler assembler)
- register(IModuleNodeExtension, INavigationAssembler assembler)
- register(ISubModuleNodeExtension, INavigationAssembler assembler)
In the old implementation of SimpleNavigationNodeProvider these methods do nothing.
SubModuleController & IWindowRidget - Removed getDefaultButton() and setDefaultButton(...) methods
The above methods have been removed. They did not work consistently and did support only a single default button. Use SubModuleController.addDefaultAction(IRidget focusRidget, IActionRidget action) instead. For an example showing how to use this new API refer to DefaultButtonSubModule{View,Controller}. (bug 291708)
Adopting 2.0 mechanisms and API
TBD
None-API Changes
The generating of the hash code of the class NavigationNode has changed. The property label is not longer used for the generation. So the only important property is the nodeId.
Corresponding to this the equals method also ignores the property label.
Because of that ensure that every node has a NavigationNodeId.