Bug #3106
Bug #2677: fix drawing and functional differences between P2J GUI and 4GL GUI
Various GUI COMBO-BOX issues
0%
History
#1 Updated by Hynek Cihlar almost 8 years ago
combo_box/combo_box10_1.p shows blank rectangle instead of the SIMPLE list.
Clicking on an item in the combo simple list selects the item one below. The click must be targeted to the lower part of the item.
Switching focus with Alt+Shift+Tab in a frame gets confused when the next widget is a disabled combo-box. There are draw artifacts and the focus cannot be switched to another widget.
Selecting an item in a combo box with a keyboard sometimes causes an abend. Move focus to the combo box, activate drop-down with Alt-Down, select an item with arrow keys and hit Enter.
Caused by: java.lang.IllegalStateException: Widget sellstframe0##com.goldencode.testcases.ui.combo_box.ComboBox127Sellstframe0$ComboBox127Sellstframe0Def 25 is not attached to a Window instance. at com.goldencode.p2j.ui.client.widget.AbstractWidget.window(AbstractWidget.java:289) at com.goldencode.p2j.ui.client.gui.FrameGuiImpl.getCustomMousePointer(FrameGuiImpl.java:853) at com.goldencode.p2j.ui.client.widget.AbstractWidget.getEffectiveMousePointer(AbstractWidget.java:2287) at com.goldencode.p2j.ui.client.gui.driver.MouseHoverAction.updateCursor(MouseHoverAction.java:97) at com.goldencode.p2j.ui.chui.ThinClient.refreshHover(ThinClient.java:3176) at com.goldencode.p2j.ui.client.ComboBox.exitDropDown(ComboBox.java:1033) at com.goldencode.p2j.ui.client.gui.ComboBoxGuiImpl.exitDropDown(ComboBoxGuiImpl.java:946) at com.goldencode.p2j.ui.client.ComboBox.lambda$1(ComboBox.java:1165) at com.goldencode.p2j.ui.chui.ThinClient.eventBracket(ThinClient.java:14335) at com.goldencode.p2j.ui.chui.ThinClient.eventDrawingBracket(ThinClient.java:14276) at com.goldencode.p2j.ui.chui.ThinClient.independentEventDrawingBracket(ThinClient.java:14149) at com.goldencode.p2j.ui.client.ComboBox.activate(ComboBox.java:1137) at com.goldencode.p2j.ui.client.gui.ComboBoxGuiImpl.processSystemKey(ComboBoxGuiImpl.java:559) at com.goldencode.p2j.ui.chui.ThinClient.checkForSystemEvent(ThinClient.java:13513) at com.goldencode.p2j.ui.chui.ThinClient.waitForEvent(ThinClient.java:13402) at com.goldencode.p2j.ui.chui.ThinClient.waitForWorker(ThinClient.java:11243) at com.goldencode.p2j.ui.chui.ThinClient.waitForWorker(ThinClient.java:10822) at com.goldencode.p2j.ui.chui.ThinClient.waitFor(ThinClient.java:10770) at com.goldencode.p2j.ui.chui.ThinClient.waitFor(ThinClient.java:10724)
Cycling focus sometime causes an abend below. Can be reproduced in combo_box/combo_box2.p, populate the combo and cycle the focus with Alt-Tab until the exception occurs.
java.lang.IllegalStateException: Could not resolve frame from widget ScrollBarGuiButton [id=-43] at com.goldencode.p2j.ui.client.FocusManager.focusChange(FocusManager.java:1232) at com.goldencode.p2j.ui.chui.ThinClient.nextTabStop(ThinClient.java:18402) at com.goldencode.p2j.ui.client.AbstractButton.nextTabStop(AbstractButton.java:481) at com.goldencode.p2j.ui.client.AbstractButton.handleCursorKeys(AbstractButton.java:352) at com.goldencode.p2j.ui.client.AbstractButton.processKeyEventCommon(AbstractButton.java:312) at com.goldencode.p2j.ui.client.Button.processKeyEvent(Button.java:479) at com.goldencode.p2j.ui.client.widget.TitledWindow.processKeyEvent(TitledWindow.java:226) at com.goldencode.p2j.ui.client.widget.AbstractWidget.processEvent(AbstractWidget.java:1235) at com.goldencode.p2j.ui.client.Button.processEvent(Button.java:441) at com.goldencode.p2j.ui.client.widget.TitledWindow.processEvent(TitledWindow.java:195) at com.goldencode.p2j.ui.client.TopLevelWindow.processEvent(TopLevelWindow.java:962) at com.goldencode.p2j.ui.client.gui.WindowGuiImpl.processEvent(WindowGuiImpl.java:1300) at com.goldencode.p2j.ui.chui.ThinClient.processEventsWorker(ThinClient.java:15554) at com.goldencode.p2j.ui.chui.ThinClient.pop(ThinClient.java:14375) at com.goldencode.p2j.ui.chui.ThinClient.eventBracket(ThinClient.java:14358) at com.goldencode.p2j.ui.chui.ThinClient.eventDrawingBracket(ThinClient.java:14276) at com.goldencode.p2j.ui.chui.ThinClient.applyWorker(ThinClient.java:14032) at com.goldencode.p2j.ui.chui.ThinClient.waitForWorker(ThinClient.java:11317) at com.goldencode.p2j.ui.chui.ThinClient.waitForWorker(ThinClient.java:10822) at com.goldencode.p2j.ui.chui.ThinClient.waitFor(ThinClient.java:10770) at com.goldencode.p2j.ui.chui.ThinClient.waitFor(ThinClient.java:10724) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
#2 Updated by Hynek Cihlar almost 8 years ago
All the issues above can be reproduced in current trunk, in GUI mode.
#3 Updated by Hynek Cihlar almost 8 years ago
Another issue, in combo_box/combo_box11.p
the combo drop-down won't activate on Alt+Down.
#4 Updated by Hynek Cihlar almost 8 years ago
Another issue. When VALUE-CHANGED event handler disables the combo's parent frame, the combo's active drop-down must be deactivated.
define var combo as character format "x(15)" view-as combo-box inner-lines 9 list-items "item1", "item2", "item3". define var fi1 as char view-as fill-in. define frame ComboBoxFrame combo fi1 with side-labels. display combo with frame ComboBoxFrame. enable all with frame ComboBoxFrame. def var ed as char. def frame f2 ed. ON 'value-changed':U OF combo DO: /* active drop-down should be closed and focus moved to fi1 */ disable all with frame ComboBoxFrame. enable all with frame f2. RETURN. END. wait-for close of frame ComboBoxFrame.
#5 Updated by Hynek Cihlar almost 8 years ago
Another issue. Combo-box drop-down won't close on ESC key.
EDIT: In ChUI.
#6 Updated by Greg Shah almost 8 years ago
- Project changed from Liberty to User Interface
#7 Updated by Greg Shah almost 8 years ago
- Parent task set to #2677
#8 Updated by Hynek Cihlar almost 6 years ago
Another issue, when an item selected in the combo drop-down, ENTER key doesn't have any effect. ENTER should close the drop-down and select the selected item.