Project

General

Profile

Bug #6383

TAB-ITEM issues

Added by Vladimir Tsichevski about 2 years ago. Updated about 2 years ago.

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

90%

billable:
No
vendor_id:
GCD
case_num:
version_reported:
version_resolved:

fix.diff Magnifier (57.6 KB) Vladimir Tsichevski, 05/20/2022 04:38 PM

fix-method-names-inconsistency.diff Magnifier (3.3 KB) Vladimir Tsichevski, 05/20/2022 04:39 PM

History

#1 Updated by Vladimir Tsichevski about 2 years ago

There are a number of known issues related to tab item list and related 4gl calls. This issue is to post these problems here.
Originally, I discovered most of these issues while working on #6305.

Problem 1

For unrealized frames:

  1. In OE the tab-stop-related attributes can be read and written, NUM-TAB attribute always returns the correct number of tab-stoppable widgets.
  2. In FWD, tab-stop reading functions (FIRST-TAB-ITEM and LAST-TAB-ITEM) return unknown, and NUM-TAB always returns 0 .
Problem 2

Using a widget with TAB-STOP = FALSE as the anchor in invalid for any 4gl method in OE, and should raise the error 4062.

The idea behind the fix: the FieldGroup.tabItems must always contain all and only field group member widgets, which have the TAB-STOP = TRUE. So:

  1. widgets must be filtered on that condition before they are placed in the list
  2. when the widget TAB-STOP attribute changes, the list must be updated accordingly
  3. no check for TAB-STOP attribute value is necessary for items in the list anymore.

Another difference: when a frame is realized, the tab order must reset back to the widget order in the frame definition. The task #6374 is created for this problem.

Problem 3

The Java method naming in inconsistent: moveAfterTab, but moveBeforeTabItem. Methods should better be renamed. These changes require re-conversion.

Problem 4

Errors 4083, 4078, 4062, 4077 should be reported with recordOrShowError, not recordOrThrowError.

The fix is attached as fix.diff.

#2 Updated by Vladimir Tsichevski about 2 years ago

Vladimir Tsichevski wrote:

Problem 3

The Java method naming in inconsistent: moveAfterTab, but moveBeforeTabItem. Methods should better be renamed. These changes require re-conversion.

The fix is attached as fix-method-names-inconsistency.diff.

#4 Updated by Vladimir Tsichevski about 2 years ago

  • % Done changed from 0 to 80

#5 Updated by Vladimir Tsichevski about 2 years ago

  • % Done changed from 80 to 90

Vladimir Tsichevski wrote:

Vladimir Tsichevski wrote:

Problem 3

The Java method naming in inconsistent: moveAfterTab, but moveBeforeTabItem. Methods should better be renamed. These changes require re-conversion.

The fix is attached as fix-method-names-inconsistency.diff.

The fix committed as 3821c/13920.

Also available in: Atom PDF