Bug #9340
CHOOSE statement does not display widget help string in ChUI
100%
History
#1 Updated by Eugenie Lyzenko over 1 year ago
- File fwd_no-help-str.jpg added
- File 4gl_help-str.jpg added
The problem is when defining help string for widget including as part of the CHOOSE statement the string is not showing.
The sample:
define var edtpd_tp_doc as character no-undo. define var edtpd_doc_in as character no-undo. define var edtpd_exf_mfd_map as character no-undo. define var edtpd_dtg_name as character no-undo. define var edtpd_token_list as character no-undo. edtpd_token_list = "Text". form space (1) edtpd_tp_doc view-as fill-in size 10 by 1 column-label "Doc Type " help "Doc Type help string" edtpd_doc_in column-label "Dir " edtpd_exf_mfd_map view-as fill-in size 20 by 1 edtpd_dtg_name view-as fill-in size 15 by 1 column-label "Trans group" edtpd_token_list view-as fill-in size 15 by 1 column-label "Token list" with frame c overlay width 80 title "CHOOSE test" color normal 5 down. def var i as int. do i = 1 to 5 with frame c: edtpd_tp_doc = string(i). edtpd_doc_in = string(i). edtpd_exf_mfd_map = string(i). edtpd_dtg_name = string(i). edtpd_token_list = string(i). display edtpd_tp_doc edtpd_doc_in edtpd_exf_mfd_map edtpd_dtg_name edtpd_token_list with frame c. if i <> 5 then down with frame c. end. choose row edtpd_tp_doc go-on(F2) with frame c.
FWD screen:

Expected screen:

#2 Updated by Greg Shah over 1 year ago
What trunk revision shows this bug? This seems like a regression.
#4 Updated by Eugenie Lyzenko over 1 year ago
Greg Shah wrote:
What trunk revision shows this bug? This seems like a regression.
I noted from trunk 15548. But I think it was before, I just didn't take this into account. So this is long lived issue. We just had no sample to uncover this.
#5 Updated by Greg Shah over 1 year ago
- version_reported set to trunk/15548
#6 Updated by Greg Shah over 1 year ago
And this doesn't cause ChUI regression testing to fail? That is surprising.
#7 Updated by Eugenie Lyzenko over 1 year ago
Greg Shah wrote:
And this doesn't cause ChUI regression testing to fail?
Yes. The tests are passing with bug embedded. Only one test GSO 214, step 56 screen check failing or passing.
That is surprising.
May be other 4GL logic masks this overwriting the status line area.
#8 Updated by Tomasz Domin over 1 year ago
- Status changed from New to WIP
- Assignee set to Tomasz Domin
#9 Updated by Tomasz Domin over 1 year ago
- Estimated time set to 5.00
- Status changed from WIP to Review
- % Done changed from 0 to 100
Are you sure its a regression ? I've rolled back to revision 15500 and then 15479 it still didnt work properly.
Created task branch 9340a from trunk/15586.
Applied a fix - use HELP attribute from widget for CHOOSE ROW in addition to CHOOSE ROW HELP with a higher priority.
Pushed revision 15587.
Please review.
Will do ChUI regression testing on Monday.
#10 Updated by Tomasz Domin over 1 year ago
- Estimated time deleted (
5.00)
#11 Updated by Greg Shah over 1 year ago
- reviewer Eugenie Lyzenko, Hynek Cihlar added
#12 Updated by Eugenie Lyzenko over 1 year ago
Tomasz Domin wrote:
Are you sure its a regression ? I've rolled back to revision 15500 and then 15479 it still didnt work properly.
As far as I can see no one told this is a regression.
Created task branch 9340a from trunk/15586.
Applied a fix - useHELPattribute from widget forCHOOSE ROWin addition toCHOOSE ROW HELPwith a higher priority.
Pushed revision 15587.
Please review.
Will do ChUI regression testing on Monday.
I have no objection for 15587 change. But ChUI regression testing is required to ensure fix does not introduce new issues.
#13 Updated by Tomasz Domin over 1 year ago
Eugenie Lyzenko wrote:
I have no objection for
15587change. ButChUIregression testing is required to ensure fix does not introduce new issues.
Thank you.
I am trying too run regression tests but it seems there is a a new regression in trunk the change is based on. Checking it out.
#14 Updated by Tomasz Domin over 1 year ago
There is a regression caused by my change in gso_214. It seems there are cases help string should not be picked up from selected widget. Need to find a condition and working on a fix.
#15 Updated by Tomasz Domin over 1 year ago
- % Done changed from 100 to 80
#16 Updated by Tomasz Domin over 1 year ago
- Status changed from Review to WIP
#17 Updated by Tomasz Domin over 1 year ago
Tomasz Domin wrote:
The issue is related with a fact, that there are severalThere is a regression caused by my change in
gso_214. It seems there are cases help string should not be picked up from selected widget. Need to find a condition and working on a fix.
HELP string sources for CHOOSE which are have following priority from the lowest to the highest:
- database field level help e.g.
FIELD doctype AS character LABEL "Doc Type " HELP "database field help" - choose row help e.g.
choose row tt.edtpd_tp_doc Help "Choose row help" go-on(F2) with frame c. - widget level help e.g.
form tt.doctype view-as fill-in size 10 by 1 column-label "Doc Type " HELP "widget level help" with frame c
gso_214 fails because choose row help is set to empty string which should override database level help.
The problem I have is how to differentiate Widget Help from database fields, as when having Widget on client side there is only access to config.help which aggregates both.
#18 Updated by Tomasz Domin over 1 year ago
Tomasz Domin wrote:
I've implemented a fix in a following way:Tomasz Domin wrote:
The issue is related with a fact, that there are severalThere is a regression caused by my change in
gso_214. It seems there are cases help string should not be picked up from selected widget. Need to find a condition and working on a fix.HELPstring sources forCHOOSEwhich are have following priority from the lowest to the highest:
- database field level help e.g.
FIELD doctype AS character LABEL "Doc Type " HELP "database field help"- choose row help e.g.
choose row tt.edtpd_tp_doc Help "Choose row help" go-on(F2) with frame c.- widget level help e.g.
form tt.doctype view-as fill-in size 10 by 1 column-label "Doc Type " HELP "widget level help" with frame c
gso_214fails because choose row help is set to empty string which should override database level help.
The problem I have is how to differentiate Widget Help from database fields, as when having Widget on client side there is only access toconfig.helpwhich aggregates both.
- allowed accessing GenericWidget.isDefaultHelp which stores information if the currently displayed help is the default(overrideable) schema help
- extended ChooseData to include GenericWidget.isDefaultHelp
- extended a condition which chooses the right help text
Pushed 9340a/15588.
Regression tests pending. I also need to check if GUI behaves the same way and if not add some guarding code.
#19 Updated by Tomasz Domin over 1 year ago
Tomasz Domin wrote:
Regression tests pending. I also need to check if GUI behaves the same way and if not add some guarding code.
I've checked and GUI have the same HELP selection priorities for CHOOSE as ChUI.
Fixed help selection condition, pushed 9340a/15589 -> Regression testing in progress.
Rebased to trunk/15616 -> Regression testing in progress.
#20 Updated by Tomasz Domin over 1 year ago
- Status changed from WIP to Review
- % Done changed from 80 to 100
Tomasz Domin wrote:
Tomasz Domin wrote:
Regression tests pending. I also need to check if GUI behaves the same way and if not add some guarding code.
I've checked and GUI have the same HELP selection priorities for CHOOSE as ChUI.
Fixed help selection condition, pushed 9340a/15589 -> Regression testing in progress.
Regression tests completed successfully, please review an updated 9340a branch.
#21 Updated by Eugenie Lyzenko over 1 year ago
Tomasz Domin wrote:
Tomasz Domin wrote:
Tomasz Domin wrote:
Regression tests pending. I also need to check if GUI behaves the same way and if not add some guarding code.
I've checked and GUI have the same HELP selection priorities for CHOOSE as ChUI.
Fixed help selection condition, pushed 9340a/15589 -> Regression testing in progress.Regression tests completed successfully, please review an updated 9340a branch.
I have no objections for 15588 and 15589
#22 Updated by Hynek Cihlar over 1 year ago
Code review 9340a. The changes look good, just some minor points.
Just to make the code more beautiful, please move setRowIsDefaultHelp and isRowIsDefaultHelp above readExternal.
GenericWidget.isDefaultHelp should be moved in the section with the default method access rights.
#23 Updated by Tomasz Domin over 1 year ago
- Status changed from Review to Internal Test
Hynek Cihlar wrote:
Code review 9340a. The changes look good, just some minor points.
Just to make the code more beautiful, please move
setRowIsDefaultHelpandisRowIsDefaultHelpabovereadExternal.
GenericWidget.isDefaultHelpshould be moved in the section with the default method access rights.
Thank you, done
Pushed up to revision 15590.
#24 Updated by Hynek Cihlar over 1 year ago
Tomasz Domin wrote:
Pushed up to revision 15590.
Code review, the changes are good.
#25 Updated by Tomasz Domin over 1 year ago
Rebased to trunk/15676
Pushed up 9340a/15680
#26 Updated by Tomasz Domin about 1 year ago
Rebased to trunk/15914
Regression testing passed.
Pushed up to revision 15918.
#27 Updated by Tomasz Domin about 1 year ago
Rebased to trunk/16059
Regression testing passed.
Pushed up to revision 16063.
#28 Updated by Tomasz Domin 5 months ago
Greg
Should I rebase and retest and prepare to merge ?
#30 Updated by Hynek Cihlar 5 months ago
Tomasz, when do you expect the rebase to be ready?
#31 Updated by Tomasz Domin 5 months ago
Hynek Cihlar wrote:
Tomasz, when do you expect the rebase to be ready?
Rebased to trunk/16425
Added post rebase fix
Pushed up to revision 16430
Will do regression testing today.
#32 Updated by Tomasz Domin 5 months ago
Tomasz Domin wrote:
Will do regression testing today.
I am still doing regression tests, there are more errors than expected, but I need to compare against trunk's baseline.
#33 Updated by Tomasz Domin 5 months ago
Tomasz Domin wrote:
Hynek Cihlar wrote:
Tomasz, when do you expect the rebase to be ready?
Rebased to trunk/16425
Added post rebase fix
Pushed up to revision 16430Will do regression testing today.
I ran regression tests and they pass the same way as tests for trunk - there are 11/12 tests failing for both.