Project

General

Profile

Bug #3175

Bug #2677: fix drawing and functional differences between P2J GUI and 4GL GUI

a created dynamic widget is not always added to its parent's field group

Added by Sergey Ivanovskiy over 7 years ago. Updated over 7 years ago.

Status:
New
Priority:
Normal
Assignee:
-
Target version:
-
Start date:
Due date:
% Done:

0%

billable:
No
vendor_id:
GCD
case_num:

History

#1 Updated by Sergey Ivanovskiy over 7 years ago

If a dynamic widget is created and the parent frame handle is assigned to it, then its parent frame doesn't update its field group. Please read the notes 24 to 35 of the task #3110 for the source of this issue.

#2 Updated by Greg Shah over 7 years ago

  • Start date deleted (08/30/2016)
  • Subject changed from A created dynamic widget is not added to its parent's field group to a created dynamic widget is not always added to its parent's field group

#3 Updated by Sergey Ivanovskiy over 7 years ago

This program is failed for P2J due to the dynamic buttons are not added to the field group of its parent frame.

DEF VAR bt_ok AS HANDLE.
DEF VAR bt_c AS HANDLE.
DEF VAR bt_e AS HANDLE.

DEF FRAME f WITH SIZE 80 BY 60 KEEP-TAB-ORDER.

CREATE BUTTON bt_ok ASSIGN
   X                 = 4
   Y                 = 0
   FRAME = FRAME f:HANDLE
   LABEL = "HIDE".

CREATE BUTTON bt_c ASSIGN
   X                 = 44
   Y                 = 0
   FRAME = FRAME f:HANDLE
   LABEL = "HOME".

DEFINE VARIABLE h AS WIDGET-HANDLE.

DEF TEMP-TABLE tt FIELD f1 AS  INTEGER 
                  FIELD f2 AS  CHARACTER.

CREATE  tt. tt.f1 = 1. tt.f2 = "test 1".
CREATE  tt. tt.f1 = 2. tt.f2 = "test 2".
CREATE  tt. tt.f1 = 3. tt.f2 = "test 3".

DEFINE QUERY q1 FOR tt SCROLLING.

CREATE BROWSE h 
ASSIGN
    FRAME             = FRAME f:HANDLE
    X                 = 0
    Y                 = 276
    WIDTH             = 40
    HEIGHT            = 4
    QUERY             = QUERY q1:HANDLE
    ROW-MARKERS       = FALSE
    SENSITIVE         = TRUE
    HIDDEN            = FALSE
    READ-ONLY         = FALSE
    SEPARATORS        = TRUE
    COLUMN-MOVABLE    = TRUE
    COLUMN-RESIZABLE  = TRUE
    EXPANDABLE        = TRUE
    ALLOW-COLUMN-SEARCHING = TRUE.             

/* before MOVE-BEFORE-TAB-ITEM TAB-POSITION == 3 */
h:MOVE-BEFORE-TAB-ITEM(bt_c).
/* after MOVE-BEFORE-TAB-ITEM TAB-POSITION == 2 */

CREATE BUTTON bt_e ASSIGN
   X                 = 94
   Y                 = 0
   FRAME = FRAME f:HANDLE
   LABEL = "HIDDEN".

h:ADD-LIKE-COLUMN("tt.f1").           
h:ADD-LIKE-COLUMN("tt.f2").           

ON 'choose':U OF bt_ok 
DO:
   h:VISIBLE = NOT h:VISIBLE.
   RETURN.
END.

ON 'choose':U OF bt_e 
DO:
   h:HIDDEN = NOT h:HIDDEN.
   RETURN.
END.

ON 'choose':U OF bt_c 
DO:
   h:HIDDEN = FALSE.
   APPLY "HOME" TO h.
   RETURN.
END.

ENABLE ALL WITH FRAME f.

OPEN QUERY q1 FOR EACH tt NO-LOCK.

VIEW FRAME f.

WAIT-FOR CLOSE OF CURRENT-WINDOW.

windev01 debugger shows that PARENT for the buttons and the browse widget in this considered test case must be the same and has FIELD-GROUP type. The frame's first child is their common parent and the common field group. It is a very important difference between P2J and Progress 4GL.

Also available in: Atom PDF