Project

General

Profile

Bug #2754

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

dynamic widget attribute assignment breaks when the FRAME attribute is assigned late

Added by Greg Shah over 8 years ago. Updated over 7 years ago.

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

0%

billable:
No
vendor_id:
GCD
case_num:

Related issues

Related to User Interface - Bug #2703: VIEW of a dynamic widget abends New

History

#1 Updated by Greg Shah over 8 years ago

All attributes need to be checked for this sensitivity. Most often the result is an NPE, but it is often tricky to fix properly because in the 4GL there is a tolerance to this late FRAME assignment. Since most of the testcases we have written are based on static widgets, we unintentionally implemented support with dependencies upon the FRAME attribute already being assigned.

See #1791-295 and #1801-69 (through 72)

#2 Updated by Greg Shah over 8 years ago

One implication is that we will need an approach that splits the assignment logic into those things that must be done early (before FRAME assignment) and those things that occur after FRAME assignment. As much as possible, we need to do this in a consistent way. If possible, I'd like to see how we can make this generic.

#3 Updated by Igor Skornyakov over 8 years ago

I would suggest to implement a 'staging' model. I mean that a particular logic which is now performed at the attibute's assignment can be conditionally postponed until e.g. frame is assigned, enabled, etc. Ideally this should be done in a uniform way: the post-assignment action is invoked from the setter unconditionally and it is executed or postponed in a single method based e.g. on the annotation or additional parameter. The action can also postpone itself in a unform way if the postpone condition is complicated. The Java 8 lambdas can be used to make this approach less verbose.

#4 Updated by Greg Shah about 8 years ago

  • Target version changed from Milestone 12 to Milestone 16

#5 Updated by Greg Shah over 7 years ago

  • Target version changed from Milestone 16 to Cleanup and Stabilization for GUI

Also available in: Atom PDF