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

Difference between revisions of "Riena Migrating to 2.0 from 1.2"

(Incompatibilities)
(Incompatibilities)
Line 17: 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.
 +
 +
=== INavigationNodeView without controller as generic argument ===
 +
INavigationNodeView does not longer needs a controller as generic argument (but still a INavigationNode). The infomation about the controller was never used.
 +
 +
So all sub classes of INavigationNodeView (e.g. SubModuleView) are a little bit simpler.
 +
 +
Old implementation of INavigationNodeView (or SubModuleView) can simply remove the generic argument of the controller.
  
 
=== SubModuleController & IWindowRidget - Removed getDefaultButton() and setDefaultButton(...) methods ===
 
=== SubModuleController & IWindowRidget - Removed getDefaultButton() and setDefaultButton(...) methods ===

Revision as of 23:57, 7 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)

SimpleNavigationNodeProvider - Removed register methods

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.

INavigationNodeView without controller as generic argument

INavigationNodeView does not longer needs a controller as generic argument (but still a INavigationNode). The infomation about the controller was never used.

So all sub classes of INavigationNodeView (e.g. SubModuleView) are a little bit simpler.

Old implementation of INavigationNodeView (or SubModuleView) can simply remove the generic argument of the controller.

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

hash code of NavigationNode

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.

Back to the top