Project

General

Profile

Bug #3021

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

MESSAGE with SET clause works incorrectly

Added by Igor Skornyakov over 10 years ago. Updated almost 10 years ago.

Status:
Closed
Priority:
Normal
Assignee:
Start date:
Due date:
% Done:

100%

billable:
No
vendor_id:
GCD
case_num:
version_reported:
version_resolved:
reviewer:
production:
No
env_name:
topics:

aab1.p Magnifier (174 Bytes) Igor Skornyakov, 03/09/2016 07:31 AM

History

#1 Updated by Igor Skornyakov over 10 years ago

With Progress the attached program displays empty string and accepts ENTER while converted version displays "?" and I was unable to close the dialog at all in GUI mode (both Swing and Web).
In ChUI mode the "?" still appears but the application reacts correctly on ENTER.

#2 Updated by Hynek Cihlar over 10 years ago

The problem with entering the value was resolved by #3061.

#3 Updated by Hynek Cihlar over 10 years ago

Please review the fix in 3021a revision 11005.

#4 Updated by Greg Shah over 10 years ago

Code Review Task Branch 3021a Revision 11005

I believe this change is incorrect. The problem has a different cause. I think the issue is related to us not honoring the difference between UPDATE and SET. In UPDATE mode, the ? will appear:

def var txt as char init ?.
message "Edit unknown:" update txt.

Result is this:

Edit unknown: ?       

Enter data or press F4 to end.

But in SET mode it does not appear:

def var txt as char init ?.
message "Edit unknown:" set txt.

Result:

Edit unknown:         

Enter data or press F4 to end.

The reason is that in UPDATE mode there is an implicit DISPLAY which copies from the original variable/field TO the screen buffer. In SET mode, this part does not happen. So the hidden screen buffer should have the default value for the given type.

I suspect the correct code is this:

      // copy initial value in UPDATE mode; unknown value can also be used as initial except for date
      // based variables
      if (!set && !(var.isUnknown() && var instanceof date))
      {
         sb.putWidgetValue(id1, var.duplicate());
      }

#5 Updated by Greg Shah over 10 years ago

  • Assignee set to Hynek Cihlar
  • Status changed from New to WIP

#6 Updated by Hynek Cihlar over 10 years ago

3021a revision 11006 contains fix of the fix based on the review. I have tested SET and UPDATE with all data types and both ChUI and GUI and the proposed change works OK.

I will rebase the branch when it is ready to be merged or regression tested. Please review.

#7 Updated by Greg Shah over 10 years ago

Code Review Task Branch 3021a Revision 11006

I'm fine with the changes.

#8 Updated by Greg Shah over 10 years ago

Please merge 3021a into 1811u.

#9 Updated by Hynek Cihlar over 10 years ago

3021a merged to 1811u revision 11027.

#10 Updated by Hynek Cihlar over 10 years ago

  • % Done changed from 0 to 100

#11 Updated by Greg Shah over 10 years ago

  • Status changed from WIP to Closed
  • Target version set to Milestone 16
  • Start date deleted (03/09/2016)

#12 Updated by Hynek Cihlar over 10 years ago

3021a archived as dead.

#13 Updated by Greg Shah almost 10 years ago

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

Also available in: Atom PDF