Community
Participate
Working Groups
If a ISubModuleNode is declared as selectable false in the NodeBuilder and it is the first node in a Module that gets selected at startup. The first child of the not selectable SubModuleNode can only be selected once. I will provide a Patch for the Riena SWT-Demo to demonstrate this behavior. To reproduce the bug follow these steps: - start the Riena SWT-Demoapplication - In the Navigationexample the SubModule 1.1.1.1 is declared as selectable(false) - Select the second child SubModule 1.1.2.1 - If you try to select the first child SubModule 1.1.1.1 the associated SubModuleView will not be shown in the workarea. One can select the first child in the Navigationtree but nothing will happen at all! Best regards, Steffen
Created attachment 149723 [details] Patch for the SWT- Exampleclient to show the Bug
Hi Steffen, I've briefly looked at this. A couple of comments: - the first strange thing is that all 6 nodes in NavigationSubApplicationNodeAssembler have the same id (org.eclipse.riena.example.customerDetail1 x6). As far as I know, this is not supported. They should be unique. I think we should consider logging a warning. - after changing the id, I noticed that when moving from submodule 1.1.1.1 to subModule 1.1.2.1 the wrong node is deactivated (the non-selectable parent SubModule 1.1.1.1). See toDeactivateList. Not sure why. This causes the selected node to remain in the "active" state. When it is selected again, we have an optimization there that does not activate nodes that are already active. That's why the view does not show. - what is also interesting is that it only happens once. I.e. it is possible to "fix" the problem by selecting "SubModule 1.1.1.2" and then either node. What would be interesting is to find out why getNodesToDeactivateOnActivation(...) returns the 'wrong' node initially, but then the correct node (after SubModule 1.1.1.2 has been selected)...
Created attachment 149934 [details] Patch adding a bit of tracing to NavigationProcessor
fixed in HEAD. ability to trace added to NavigationProcessor