Community
Participate
Working Groups
In trying to use formtoolkit in my moduleviews I get into the following problematic. Example code with riena System property riena.lnf.update.view set to true. Problem only occurs when the system property riena.lnf.update.view is set to true. protected void basicCreatePartControl(Composite parent) { toolkit = new FormToolkit(parent.getDisplay()); toolkit.adapt(parent); form = toolkit.createForm(parent); } stacktrace: Fri May 14 13:57:22 CEST 2010 ERROR [main] org.eclipse.riena.ui.swt.lnf.LnFUpdater Cannot get the value of the property "menuManager" of the class "org.eclipse.ui.internal.forms.widgets.TitleRegion". org.eclipse.riena.core.util.InvocationTargetFailure: Calling #getMenuManager on TitleRegion {} failed. at org.eclipse.riena.core.util.ReflectionUtils.invoke(ReflectionUtils.java:315) at org.eclipse.riena.core.util.ReflectionUtils.invokeHidden(ReflectionUtils.java:210) at org.eclipse.riena.ui.swt.lnf.LnFUpdater.getPropertyValue(LnFUpdater.java:619) at org.eclipse.riena.ui.swt.lnf.LnFUpdater.getDefaultPropertyValue(LnFUpdater.java:548) at org.eclipse.riena.ui.swt.lnf.LnFUpdater.hasNoDefaultValue(LnFUpdater.java:447) at org.eclipse.riena.ui.swt.lnf.LnFUpdater.updateUIControl(LnFUpdater.java:288) at org.eclipse.riena.ui.swt.lnf.LnFUpdater.updateUIControlsRecursive(LnFUpdater.java:150) at org.eclipse.riena.ui.swt.lnf.LnFUpdater.updateUIControlsRecursive(LnFUpdater.java:153) at org.eclipse.riena.ui.swt.lnf.LnFUpdater.updateUIControlsRecursive(LnFUpdater.java:153) at org.eclipse.riena.ui.swt.lnf.LnFUpdater.updateUIControlsRecursive(LnFUpdater.java:153) at org.eclipse.riena.ui.swt.lnf.LnFUpdater.updateUIControls(LnFUpdater.java:115) at org.eclipse.riena.navigation.ui.swt.views.SubModuleView.bind(SubModuleView.java:144) at org.eclipse.riena.navigation.ui.swt.views.SubModuleView.doBinding(SubModuleView.java:499) at org.eclipse.riena.navigation.ui.swt.views.SubModuleView.createPartControl(SubModuleView.java:173) at org.eclipse.ui.internal.ViewReference.createPartHelper(ViewReference.java:367) at org.eclipse.ui.internal.ViewReference.createPart(ViewReference.java:226) at org.eclipse.ui.internal.WorkbenchPartReference.getPart(WorkbenchPartReference.java:595) at org.eclipse.ui.internal.Perspective.showView(Perspective.java:2229) at org.eclipse.ui.internal.WorkbenchPage.busyShowView(WorkbenchPage.java:1067) at org.eclipse.ui.internal.WorkbenchPage$20.run(WorkbenchPage.java:3816) at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70) at org.eclipse.ui.internal.WorkbenchPage.showView(WorkbenchPage.java:3813) at org.eclipse.riena.navigation.ui.swt.views.SubApplicationView$MySubModuleNodeListener.prepareView(SubApplicationView.java:639) at org.eclipse.riena.navigation.ui.swt.views.SubApplicationView$MySubModuleNodeListener.prepareView(SubApplicationView.java:622) at org.eclipse.riena.navigation.ui.swt.views.SubApplicationView$MySubModuleNodeListener.activated(SubApplicationView.java:521) at org.eclipse.riena.navigation.ui.swt.views.SubApplicationView$MySubModuleNodeListener.activated(SubApplicationView.java:1) at org.eclipse.riena.navigation.listener.NavigationTreeObserver$MySubModuleNodeListener.activated(NavigationTreeObserver.java:1228) at org.eclipse.riena.navigation.listener.NavigationTreeObserver$MySubModuleNodeListener.activated(NavigationTreeObserver.java:1) at org.eclipse.riena.navigation.model.NavigationNode.notifyActivated(NavigationNode.java:192) at org.eclipse.riena.navigation.model.NavigationNode.activate(NavigationNode.java:867) at org.eclipse.riena.navigation.model.NavigationProcessor.activate(NavigationProcessor.java:861) at org.eclipse.riena.navigation.model.NavigationProcessor.activate(NavigationProcessor.java:113) at org.eclipse.riena.navigation.model.NavigationNode.activate(NavigationNode.java:416) at org.kribi.core.client.application.Application$1.run(Application.java:71) at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35) at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:134) at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3468) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3115) at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2405) at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2369) at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2221) at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:500) at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332) at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:493) at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149) at org.eclipse.riena.navigation.ui.swt.application.SwtApplication.createView(SwtApplication.java:62) at org.eclipse.riena.navigation.ui.application.AbstractApplication.start(AbstractApplication.java:64) at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:194) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:368) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:559) at org.eclipse.equinox.launcher.Main.basicRun(Main.java:514) at org.eclipse.equinox.launcher.Main.run(Main.java:1311) at org.eclipse.equinox.launcher.Main.main(Main.java:1287) Caused by: java.lang.ClassCastException: org.eclipse.swt.widgets.Composite cannot be cast to org.eclipse.ui.internal.forms.widgets.FormHeading at org.eclipse.ui.internal.forms.widgets.TitleRegion.getColor(TitleRegion.java:253) at org.eclipse.ui.internal.forms.widgets.TitleRegion.createMenuHyperlink(TitleRegion.java:410) at org.eclipse.ui.internal.forms.widgets.TitleRegion.getMenuManager(TitleRegion.java:486) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.eclipse.riena.core.util.ReflectionUtils.invoke(ReflectionUtils.java:313) ... 59 more
Hi Ngwa, this works just fine for me (Riena 2.0.RC2). I tried it with both setting of the preference (true / false). See attached screenshot and sample code. One does also need org.eclipse.ui.forms in the MANIFEST.MF / target.false). Feel free to reopen with an example of your own that replicates shows the crash.
Created attachment 169577 [details] Form Example Screenshot
Created attachment 169578 [details] View with Forms
Created attachment 169579 [details] Controller with Forms