Feedback
Did this article resolve your question/issue?

   

Article

Unable to add any trigger to widgets.

« Go Back

Information

 
TitleUnable to add any trigger to widgets.
URL NameUnable-to-add-any-trigger-to-widgets
Article Number000141513
EnvironmentProduct: OpenEdge
Version: 11.6
OS: Windows
Other: Progress Developer Studio for OpenEdge (PDS for OE)
Question/Problem Description
Clicking on Add Trigger in the pull-down menu for an ABL widget fails to open the Add Trigger dialog.

Developer Studio switches from UI to source editor but the Add Trigger dialog is not shown.

Using the AppBuilder perspective in Progress Developer Studio for OpenEdge.
Steps to Reproduce
Clarifying Information
Example where clicking on Add Trigger in the pull-down menu for an ABL browse widget, jumps directly to the source editor, instead of displaying the Add Trigger pop-up window.

1)  Open Progress Developer Studio for OpenEdge (PDS for OE).
2)  Create an OpenEdge project.
3)  Click File->New->Other->Progress OpenEdge->AppBuilder->ABL UI Design.
4)  Select Window from the UI Design options.
5)  Click Finish.
6)  Connect a database to the project.
7)  From the palette (right side of PDS for OE, select Browse from the list of Widgets.

ABL UI Design with Browse widget selected

8)  Select a table from the database connected to the project.
9)  Add one or more fields from the table.
10) Right click on the browse widget.
11) Select Add Trigger from the pull-down menu.

Select Add Trigger from the pull-down menu for the browse widget

If successful, the Add Trigger pop-up menu appears.

On success the Add Trigger pop-up menu appears

If this problem occurs, the Add Trigger pop-up menu does not appear. The source editor appears instead.

on error source editor menu appears

When the problem occurs, a NullPointerException is seen in the .log file in the .metadata directory of the PDS for OE project.
Error Message!ENTRY com.openedge.pdt.oestudio 4 20001 2016-03-17 14:00:57.791
!MESSAGE An internal error occurred
!STACK 0
java.lang.NullPointerException
at com.openedge.pdt.text.wizards.WidgetDataProvider.updateViewOption(WidgetDataProvider.java:228)
at com.openedge.pdt.text.wizards.WidgetDataProvider.updateViewOptions(WidgetDataProvider.java:221)
at com.openedge.pdt.text.wizards.WidgetDataProvider.addFrameWidgets(WidgetDataProvider.java:166)
at com.openedge.pdt.text.wizards.WidgetDataProvider.getWidgets(WidgetDataProvider.java:110)
at com.openedge.pdt.text.actions.editor.AddTrigger.doActualWork(AddTrigger.java:54)
at com.openedge.pdt.text.actions.editor.InsertIntoEditorAction.run(InsertIntoEditorAction.java:290)
at com.openedge.pdt.oestudio.input.handler.AddTriggerInputHandler.doProcessRequest(AddTriggerInputHandler.java:81)
at com.openedge.pdt.oestudio.input.handler.AbstractABLInputCommand$1.run(AbstractABLInputCommand.java:178)
at org.eclipse.ui.internal.UILockListener.doPendingWork(UILockListener.java:164)
at org.eclipse.ui.internal.UISynchronizer$3.run(UISynchronizer.java:158)
at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:135)
at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:4145)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3762)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$9.run(PartRenderingEngine.java:1113)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:997)
at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:138)
at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:610)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:567)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:150)
at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:124)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
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:354)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:181)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:636)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:591)
at org.eclipse.equinox.launcher.Main.run(Main.java:1450)
at org.eclipse.equinox.launcher.Main.main(Main.java:1426)
Defect/Enhancement NumberDefect PSC00346128
Cause
The problem occurs if a Text widget is present in the window. Removing the Text widget(s) avoids the problem. Why the Text widget causes this behaviour is currently unknown.
Resolution
Upgrade to 11.7.
If the project needs to be built with OpenEdge 11.6.x, upgrade to 11.6.4.

After upgrading, a new project should be created and sources should be moved from the original project to the new project. The Add Trigger pop-up will appear when selected.
Workaround
Option #1
Remove any Text widgets from the affected window.
Replace them with FILL-IN widgets configured with:
- No-Label,
- VIEW-AS TEXT,
- and an Initial Value set to the desired text.

Option #2
Create a new dummy window, use the wizard to generate the required code and copy that to the failing window, including the preprocessor directives (&...).

Option #3
Use the classic Appbuilder to create the trigger and re-open the file in the PDSOE.
Notes
Last Modified Date11/21/2017 2:33 PM
Attachment 
Files
Disclaimer The origins of the information on this site may be internal or external to Progress Software Corporation (“Progress”). Progress Software Corporation makes all reasonable efforts to verify this information. However, the information provided is for your information only. Progress Software Corporation makes no explicit or implied claims to the validity of this information.

Any sample code provided on this site is not supported under any Progress support program or service. The sample code is provided on an "AS IS" basis. Progress makes no warranties, express or implied, and disclaims all implied warranties including, without limitation, the implied warranties of merchantability or of fitness for a particular purpose. The entire risk arising out of the use or performance of the sample code is borne by the user. In no event shall Progress, its employees, or anyone else involved in the creation, production, or delivery of the code be liable for any damages whatsoever (including, without limitation, damages for loss of business profits, business interruption, loss of business information, or other pecuniary loss) arising out of the use of or inability to use the sample code, even if Progress has been advised of the possibility of such damages.