Bug #2787
Bug #2677: fix drawing and functional differences between P2J GUI and 4GL GUI
implement mnemonics/accelerator key support for button
100%
Related issues
History
#1 Updated by Greg Shah over 8 years ago
For details on the problem, see #2775-8
We need to look carefully at the menu implementation to see if it is common code. We have potential font metrics issues. We need to check ChUI too (we know it works for GUI). When complete, we should fixup the alert-box implementation to use the generic approach.
#2 Updated by Hynek Cihlar over 8 years ago
Also see #2775 note 15.
#3 Updated by Greg Shah over 8 years ago
We will work the button grouping support issue in #2790.
#4 Updated by Greg Shah over 8 years ago
- Assignee set to Vadim Gindin
#5 Updated by Vadim Gindin about 8 years ago
Created task branch 2787a from P2J trunk revision 10971.
#6 Updated by Vadim Gindin about 8 years ago
- How is the alert-box relates to mnemonics?
- Does button grouping mechanism supported not or it doesn't supported yet?
- I'm going to add mnemonics implementation to
Button
class. Is that suitable place?
#7 Updated by Greg Shah about 8 years ago
- How is the alert-box relates to mnemonics?
Did you read #2775-8 as mentioned above?
It has this comment:
Interestingly, We do have some limited support in Button for this already. See checkKey(), setUnderscoreOffset() and handleHotkeys(). The only place it is used is in AlertBoxImpl.doLayout() which calls button.setUnderscoreOffset(0); for each of the buttons.
This is the code needing the suggested fixups.
- Does button grouping mechanism supported not or it doesn't supported yet?
Not yet. #2790 has not been worked.
- I'm going to add mnemonics implementation to
Button
class. Is that suitable place?
The reason I have you working this is because you implemented the menu mnemonics. I am hoping that some large amount of that code can be common code used for both buttons and menus. If that is the case, please look to move that common code into its own class(es) and then use it from menus/buttons as needed.
#8 Updated by Vadim Gindin about 8 years ago
Yes, buttons use the same algorithm, but I've found a small difference: button labels do not use first character of a label as default mnemonic.
Here are samples of such labels with different results for buttons and menus: &&&&W Button 7
, &&Toyota&&
, Corvet&&
, Exit
. Tests: gui_button_mnemonic.p
, menu/sm_mnemonic.p
.
#9 Updated by Greg Shah about 8 years ago
That still sounds like we can have common code and just differentiate the use cases with a flag.
#10 Updated by Vadim Gindin about 8 years ago
Greg Shah wrote:
For details on the problem, see #2775-8
We need to look carefully at the menu implementation to see if it is common code. We have potential font metrics issues. We need to check ChUI too (we know it works for GUI). When complete, we should fixup the alert-box implementation to use the generic approach.
- As I can see from docs mnemonics (characters after '&') are work only for Windows
- Not only buttons and menus support mnemonic, but also radio-button, editor and some other widgets. (need to be tested)
#11 Updated by Vadim Gindin about 8 years ago
Branch is rebased with the latest trunk revision. Current branch revision is 10985.
#12 Updated by Greg Shah about 8 years ago
As I can see from docs mnemonics (characters after '&') are work only for Windows
Please test this in ChUI to confirm. If correct, then this is a GUI-only feature.
Not only buttons and menus support mnemonic, but also radio-button, editor and some other widgets. (need to be tested)
Please write testcases and document the results here.
#13 Updated by Vadim Gindin about 8 years ago
Greg Shah wrote:
As I can see from docs mnemonics (characters after '&') are work only for Windows
Please test this in ChUI to confirm. If correct, then this is a GUI-only feature.
I've tried again but couldn't find a way to make mnemonic work for buttons in CHUI.
#14 Updated by Vadim Gindin about 8 years ago
I could only found mnemonics get used in buttons for CHUI in alert-boxes. I've fixed CHUI implementation and removed underscore
flag. Please review. Branch revision is 10986.
By the way button mnemonics aren't shown in GUI...
#15 Updated by Vadim Gindin about 8 years ago
I made a misprint. Buttons mnemonics are not shown in ALERT-BOX. For usual buttons they are shown.
Testing result for mnemonics in GUI:
1. RADIO-BUTTON, FILL-IN, EDITOR - full support.
2. COMBO-BOX and SELECTION-LIST - limited support for items.
3. NO-FOCUS=true
or TAB-STOP=false
excludes a widget from tab-order and thereby make mnemonic non-working.
CHUI has no mnemonics for such widgets.
Full support means the letter after '&' is underlined and the a widget which label has mnemonic can be focused using ALT+m
combination, where m - is a mnemonic character.
Limited support means that mnemonics for items are all those first letters and using '&' in item label will not lead to assigning new mnemonic. ALT+key will request focus for item whose label starts with character key
.
#16 Updated by Greg Shah about 8 years ago
- Target version changed from Milestone 12 to Milestone 16
#17 Updated by Vadim Gindin about 8 years ago
I've rebased the branch. Current revision is 10991. Needed review.
#18 Updated by Greg Shah about 8 years ago
Code Review Task Branch 2787a Revision 10991
Overall, the approach is very good. I like that you have achieved reuse of the mnemonic processing.
1. The code in ButtonWidget.setLabel()
is largely duplicative with the code from GenericWidget.setLabel()
. Please refactor this so that there is common code. There are at least 2 reasonable approaches:
- Add a protected method to
GenericWidget
that is called fromGenericWidget.setLabel()
. Move the code that cannot be common into that method. Override that method inButtonWidget
to replace it, but the core ofGenericWidget.setLabel()
will remain common. There would be no need forButtonWidget.setLabel()
in this case. - Move the common portions of the@GenericWidget.setLabel()
implementation into a protected method that is called from @GenericWidget.setLabel()
and also fromButtonWidget.setLabel()
so that there is no duplication.
2. Please put the following comment back into the ButtonImpl.draw()
method (in the mnemonic section):
// note that this draws in the non-reversed form whether selected // or not (this is the equivalent of a "highlight" in the selected // mode because the rest of the button was drawn in reverse video
It is just as relevant now as it was before.
2. In ButtonImpl.draw()
, the Color mnemonicColor = dColor.withUnderline().withoutReverse();
can be moved into the else
branch of the mnemonic section.
3. Please restore the wildcard import statements in Button
.
4. Button.createNewLabel()
seems to be a confusing name. It isn't really creating a label. Perhaps Button.createLabelInfo()
is more appropriate. Please make this same change in all the other classes like MenuItem
, SubMenu
, ButtonGuiImpl
, MenuItemGuiImpl
, SubMenuGuiImpl
where this same method is implemented.
5. MenuItem
, SubMenu
, MenuItemChuiImpl
, SubMenuChuiImpl
, MenuItemGuiImpl
, SubMenuGuiImpl
each need a history entry.
6. Please use wildcard imports in MnemonicInfo
.
7. Please remove the dead code at line 757 in ButtonGuiImpl
.
8. In MnemonicInfoGuiImpl
, please put the extends MnemonicInfo
on the next line.
9. In all of these files, doesn't the &
need to be written as the entity &
?
#19 Updated by Vadim Gindin about 8 years ago
I've rebased the branch 2787a with current trunk revision and fixed all remarks except the last one.
What did you mean there?
#20 Updated by Greg Shah about 8 years ago
You can't use the &
directly in javadoc. You must use the HTML entity (&
a
m
p
;
but without the spaces).
#21 Updated by Vadim Gindin about 8 years ago
Fixed. Revision 11004. Can I run regression testing?
#22 Updated by Greg Shah about 8 years ago
Code Review Task Branch 2787a Revision 11004
I'm fine with the changes.
Yes, you can run regression testing. However please note that similar to #2849, this update will be merged after some others and will need a further rebase and an additional round of testing. But it is a good idea to confirm that the current changes are known to be safe.
#23 Updated by Vadim Gindin about 8 years ago
Here are the testing failures:
tc_item_stockroom_011
tc_gl_rpts_007
tc_codes_employees_010
tc_dc_slot_029
tc_pay_emp_abs_acc_003
gso_308
gso_333
gso_334
gso_343
I've ran testing again (main part).
#24 Updated by Vadim Gindin about 8 years ago
the same gso_rfq_tests are failed: gso_308, gso_333, gso_334, gso_343
and tc tests:
tc_dc_slot_026, tc_dc_slot_027, tc_dc_slot_029, tc_item_master_007
where only rfq tests and tc_dc_slot_029 intersects with previous results.
#25 Updated by Vadim Gindin about 8 years ago
Here is what I've got in tc_dc_slot_029:
04/08/2016 TIME & ATTENDANCE BADGE READER 14:12:30 SCAN BADGE (Error) 1411 (Duplicate read [112183]) 1411 (Ready)
But it must be:
01/18/2010 TIME & ATTENDANCE BADGE READER 18:54:27 SCAN BADGE ClockIn 1854 XXXXXXXX, XXXX (redacted) ┌──────────────────────────────────────────────────────────────────────────────┐ │INFO: T&A post-time rounded to nearest 1/4 hour. (1) │ └──────────────────────────────────────────────────────────────────────────────┘
#26 Updated by Vadim Gindin about 8 years ago
rfq test gso_308:
81 CHECK-SCREEN-BUFFER wait = true; millis = ʼ180000ʼ; failing screen = 04/08/2016 RFQ Customer Cards 10:45:56 ┌──────────────────────────────────────────────────────────────────────────────┐ confidential information redacted └────────────────────────────────[ Card # ]───────────────────────────────────┘ <G> <B> <A> <D> <F> <U> <O> <C> <P> <N> <E> <S> <R> <K> <H> <M> <I> Enter service order or <F1> for search FAILED 180.052 timeout before the specific screen buffer became available (Mismatched data at line 7, column 10. Expecte d '─' (0x2500 at relative Y 7, relative X 10) and found '┌' (0x250C at relative Y 7, relative X 10), temp late: screens/gso/gso_308/rfq_db_functions_step7.txt.)
Here is the noted template:
06/29/2009 RFQ Customer Cards 18:36:21 ┌──────────────────────────────────────────────────────────────────────────────┐ confidential information redacted └────────────────────────────────[ Card # ]───────────────────────────────────┘ <G> <B> <A> <D> <F> <U> <O> <C> <P> <N> <E> <S> <R> <K> <H> <M> <I> <G> Generate cards from existing Service Order/RFQ
It looks like some dialog is not opened. What it can be related with? Where the sources corresponding to this screens?
#27 Updated by Constantin Asofiei about 8 years ago
Vadim Gindin wrote:
It looks like some dialog is not opened. What it can be related with? Where the sources corresponding to this screens?
Execute the test steps on your machine and debug the server and client. The 4GL code can be found by searching for the title "RFQ Customer Cards" in the 4GL sources.
#28 Updated by Eugenie Lyzenko about 8 years ago
Some considerations for regression test harness to take into account.
1. The results are very sensitive to starting time. The best time frame is 22:00 - 4:00 of the Moscow time. The results are very dependent on current machine loading.
2. DC-SLOT-*
has timing counters inside. It is very rare case when all of them are passed on the first run. Start another cycle to get cross reference. These test can not be run manually.
3. If some test fails it is better to start another round to confirm the test is actually fails. If test is passing in some test round we consider it as passed.
The passing everything in a single round is very rare event. Do not panic, run another cycle.
#29 Updated by Vadim Gindin about 8 years ago
I'd ran regression testing 3rd time and these files founded in previously runs are failed:
tc_dc_slot_029
gso_308
gso_333
gso_334
gso_343
#30 Updated by Greg Shah about 8 years ago
What time of day did you start this last run?
#31 Updated by Vadim Gindin about 8 years ago
Greg Shah wrote:
What time of day did you start this last run?
It was probably an evening - right after Eunenie wrote his note. I've looked at the process starting in the server just now:
vig 29213 0.2 3.0 12065652 1985752 pts/15 Sl Apr08 5:41 java -Xmx4096m ...
But I don't know if it is correct GC time:
Apr08 5:41
#32 Updated by Greg Shah about 8 years ago
Considering that 5 of the tests are always failing, I think you should dig into the failures. It is probably a regression.
#33 Updated by Vadim Gindin about 8 years ago
After the last note I'd ran regression testing 4 times. In on of them tc_dc_slot_029
passed. Can we assume that it passed generally because of that?
RFQ tests are failed all times. I've tried to run gso_308
test manually and it has shown the message "RFQ DB is not connected - ..". How to connect it?
#34 Updated by Vadim Gindin about 8 years ago
Does somebody know why RFQ database could be unavailable? Is there a way to check it?
#35 Updated by Greg Shah about 8 years ago
Do you have the RFQ P2J server started?
#36 Updated by Vadim Gindin about 8 years ago
they are left started after the last automated testing was finished:
[exec] Servers started successfully (GSO=200) (RFQ=210) (psql=5442)! </Pre>
#37 Updated by Constantin Asofiei about 8 years ago
Vadim, you can use port_mapping.sh
on devsrv01
to find details about how your servers are configured:
ca@devsrv01:~$ port_mapping.sh vig all ** The default port mappings for user <vig>: Port Key Description ------------------------------------------------------------------------------ 9999 psql_port The postgres server port to connect. 999 gso_instance The default GSO server instance 999 rfq_instance The default RFQ server instance
So, you can start a client on instance 210 (i.e. ./client.sh -i210
) and check if you can connect to the RFQ server.
LE: GES redacted confidential info.
#38 Updated by Vadim Gindin about 8 years ago
I can't log in RFQ server. Login page is shown, but when I enter login and password it reloads login page..
There are some errors in the old log:
.. [04/14/2016 15:51:04 EDT] (SecurityManager:SEVERE) {main} Certificate alias [rfq] for [CN=RFQ P2J Server] was signed using the SHA1withRSA algorithm. Use a SHA-2 implementation instead. [04/14/2016 15:51:04 EDT] (SecurityManager:WARNING) {main} Certificate alias [lms] for [CN=lms] was signed with a RSA key of length 1024. A minimum key length of 2048 is recommended. [04/14/2016 15:51:04 EDT] (SecurityManager:SEVERE) {main} Certificate alias [lms] for [CN=lms] was signed using the SHA1withRSA algorithm. Use a SHA-2 implementation instead. [04/14/2016 15:51:04 EDT] (SecurityManager:WARNING) {main} Certificate alias [lcq] for [CN=LCQ P2J Server] was signed with a RSA key of length 1024. A minimum key length of 2048 is recommended. [04/14/2016 15:51:04 EDT] (SecurityManager:SEVERE) {main} Certificate alias [lcq] for [CN=LCQ P2J Server] was signed using the SHA1withRSA algorithm. Use a SHA-2 implementation instead. [04/14/2016 15:51:04 EDT] (SecurityManager:WARNING) {main} Certificate alias [mcn] for [CN=MCN P2J Server] was signed with a RSA key of length 1024. A minimum key length of 2048 is recommended. [04/14/2016 15:51:04 EDT] (SecurityManager:SEVERE) {main} Certificate alias [mcn] for [CN=MCN P2J Server] was signed using the SHA1withRSA algorithm. Use a SHA-2 implementation instead. [04/14/2016 15:51:04 EDT] (SecurityManager:WARNING) {main} Certificate alias [osc] for [CN=OSC P2J Server] was signed with a RSA key of length 1024. A minimum key length of 2048 is recommended. [04/14/2016 15:51:04 EDT] (SecurityManager:SEVERE) {main} Certificate alias [osc] for [CN=OSC P2J Server] was signed using the SHA1withRSA algorithm. Use a SHA-2 implementation instead. [04/14/2016 15:51:04 EDT] (SecurityManager:WARNING) {main} Certificate alias [gyr] for [CN=GYR P2J Server] was signed with a RSA key of length 1024. A minimum key length of 2048 is recommended. [04/14/2016 15:51:04 EDT] (SecurityManager:SEVERE) {main} Certificate alias [gyr] for [CN=GYR P2J Server] was signed using the SHA1withRSA algorithm. Use a SHA-2 implementation instead. [04/14/2016 15:51:04 EDT] (SecurityManager:WARNING) {main} Certificate alias [ediavc] for [CN=EDI Invoice Driver] was signed with a RSA key of length 1024. A minimum key length of 2048 is recommended. [04/14/2016 15:51:04 EDT] (SecurityManager:SEVERE) {main} Certificate alias [ediavc] for [CN=EDI Invoice Driver] was signed using the SHA1withRSA algorithm. Use a SHA-2 implementation instead. ..
Could it be a reason?
#39 Updated by Greg Shah about 8 years ago
Could it be a reason?
No.
Please look in the server log for the RFQ server AND in the client log for the client that you ran manually.
#40 Updated by Vadim Gindin about 8 years ago
Client log does not contain errors. All logs in the folder ~/testing/majic/run/server
contains records not later than Apr 14. Strange..
P.S. Is RFQ login/pwd the same as in GSO?
#41 Updated by Constantin Asofiei about 8 years ago
Vadim Gindin wrote:
Client log does not contain errors. All logs in the folder
~/testing/majic/run/server
contains records not later than Apr 14. Strange..P.S. Is RFQ login/pwd the same as in GSO?
See the navigation/login_to_main_rfq_menu.xml
file.
#42 Updated by Vadim Gindin about 8 years ago
There is the following failed screen:
04/13/2016 RFQ Customer Cards 07:52:47 ┌──────────────────────────────────────────────────────────────────────────────┐ redacted └──────────────────────────────────────────────────────────────────────────────┘ ┌──────────────────────────────────────────────────────────────────────────────┐ │ Sel W.B.C. Oper Card Num Description │ │ ───────┌─────── Copy Customer Cards in from existing S/O ────────┐──────────│ │ > │From S/O: 283310 ┌────── Message ───────┐ W.B.C.: 1.1.1 │ │ │ └─────────────────│ 558 Records created │────────────────┘ │ │ │ ──────────────────── │ │ │ │ <OK> │ │ │ └──────────────────────┘ │ │ │ │ │ │ │ │ │ │ │ │ │ └──────────────────────────────────────────────────────────────────────────────┘ <G> <B> <A> <D> <F> <U> <O> <C> <P> <N> <E> <S> <R> <K> <H> <M> <I>
Here is an ALERT-BOX shown. When we press "VK_ENTER" alert-box is closed (Customer Cards list is filed with created cards) and underlined frame "Copy Customer Cards in from existing S/O" is must be closed but it stayed opened.
#43 Updated by Vadim Gindin about 8 years ago
There are the target sources:
majic/src/syman/so/serv21.p - common form. majic/src/syman/so/serv21h.p - included file with alert-box. majic/src/aero/timco/majic/ui/so/Serv21Trigger2FGen.java - generated source.
#44 Updated by Constantin Asofiei about 8 years ago
Vadim, the problem is that the trigger is fired again after you press RETURN to dismiss the alert-box. I'm not sure yet, I'm looking into it.
#45 Updated by Constantin Asofiei about 8 years ago
Vadim, the cause is this. In your branch, an ItemEvent
is raised for the G
button, again, after the first KeyEvent
which invoked the trigger:
ItemEvent.<init>(Widget, boolean) line: 50 ItemEvent.<init>(Widget) line: 37 ButtonImpl(Button<O>).handleBasicEvents(KeyInput) line: 562 ButtonImpl(AbstractButton<O,C>).processKeyEventCommon(KeyInput) line: 313 ButtonImpl(Button<O>).processKeyEvent(KeyInput) line: 479 WindowChuiImpl(TitledWindow<O>).processKeyEvent(KeyInput) line: 226 ButtonImpl(AbstractWidget<O>).processEvent(Event) line: 1230 ButtonImpl(Button<O>).processEvent(Event) line: 441 WindowChuiImpl(TitledWindow<O>).processEvent(Event) line: 195 WindowChuiImpl(TopLevelWindow<O>).processEvent(Event) line: 802 ThinClient.processEventsWorker() line: 15491 ThinClient.pop() line: 14312
In trunk, this does not happen... please write some tests which mimic how the G
button's triggers are defined in serv21.p
, and test with or without mnemonics.
#46 Updated by Vadim Gindin almost 8 years ago
Here is the test:
def button btn-gen label "&G" auto-go. def button btn-find label "&F" auto-go. def button btn-upd label "&U" auto-go. def frame f-frame btn-gen at col 1 row 21 help "<G> Generate cards from existing Service Order/RFQ" btn-find help "<F> Find card in browser" btn-upd help "<U> Update current card" with centered no-box side-labels row 6. enable all with frame f-frame. form with overlay row 8 centered side-labels frame f-gen title " Copy Customer Cards in from existing S/O ". def var ch as char init "11". display ch with overlay row 8 centered side-labels frame f-gen. message "Records created" view-as alert-box. wait-for choose of btn-upd.
It has no specific logic, it just simulates the same frames set as in serv21.p
. After the test is started press SPACE => form and alert-box will appear. Than press ENTER and alert-box is closed and hides some underlying rectangle of form:
┌ Copy Customer om existing S/O ┐ │ch: 11 │ └─────────────── ────────────────┘
This behaviour is met in lindev01, but in both trunk/2787 behavior different:
┌ Copy Customer Cards in from existing S/O ┐ │ch: 11 │ └──────────────────────────────────────────┘
- Once again, behaviour of branch is the same and erroneous as behaviour of trunk.
- I didn't find any relation with
ItemEvent
..
#47 Updated by Constantin Asofiei almost 8 years ago
Vadim Gindin wrote:
Here is the test:
[...]
Your test doesn't match how serv21.p works: the overlay frame is shown via a trigger on the G
button:
on G,g of btn-gen or choose of btn-gen do: // show an alert box or message etc... end.
Also, you may want to split this into two triggers:
on G,g of btn-gen do: message "trigger 1". end. on choose of btn-gen do: message "trigger 2". end.
So, if we take the triggers and put them in your test:
def button btn-gen label "&G" auto-go. def button btn-find label "&F" auto-go. def button btn-upd label "&U" auto-go. def frame f-frame btn-gen at col 1 row 21 help "<G> Generate cards from existing Service Order/RFQ" btn-find help "<F> Find card in browser" btn-upd help "<U> Update current card" with centered no-box side-labels row 6. enable all with frame f-frame. form with overlay row 8 centered side-labels frame f-gen title " Copy Customer Cards in from existing S/O ". def var ch as char init "11". display ch with overlay row 8 centered side-labels frame f-gen. message "Records created" view-as alert-box. on G,g of btn-gen do: message "trigger 1". end. on choose of btn-gen do: message "trigger 2". end. wait-for choose of btn-upd.
pressing
G
key will show trigger 1
and pressing RETURN
key on button G
will show trigger 2
. I suspect in P2J both triggers will be invoked. The fix I think is: if a trigger is already invoked for the button, do not raise a CHOOSE
, too.#48 Updated by Vadim Gindin almost 8 years ago
After the last regression testing bug is not fixed.
#49 Updated by Vadim Gindin almost 8 years ago
The error is the same but triggers are now working identical..
#50 Updated by Constantin Asofiei almost 8 years ago
Vadim Gindin wrote:
The error is the same but triggers are now working identical..
2787a has no changes related to this - are you saying the triggers were not working previously and now they are working? What changes did you make?
#51 Updated by Vadim Gindin almost 8 years ago
I've just rebased the branch to the current trunk revision and fixed some merging bug. After some moment triggers become called one for G and one for ENTER.
#52 Updated by Constantin Asofiei almost 8 years ago
Vadim Gindin wrote:
I've just rebased the branch to the current trunk revision and fixed some merging bug. After some moment triggers become called one for G and one for ENTER.
And have you checked how 4GL behaves? From my testing, only the G trigger is invoked - the CHOOSE trigger is not invoked.
#53 Updated by Vadim Gindin almost 8 years ago
Yes, I'd checked that. Now in 2787a branch only G trigger is invoked for 'G'.
#54 Updated by Constantin Asofiei almost 8 years ago
Vadim, I've just tested branch 2787a with the test in note 47 and, when pressing G, both "trigger 1" and "trigger 2" is shown on screen.
#55 Updated by Vadim Gindin almost 8 years ago
In most cases mnemonics are shown right after start (GUI), but I met some time that mnemonics are not shown by default and turned on by pressing ALT as in CHUI. But I can't find such case..
#56 Updated by Vadim Gindin almost 8 years ago
The changes passed regression testing.
#57 Updated by Vadim Gindin almost 8 years ago
I'm ready to commit.
The only question left is the question about "Key mode" for buttons in Windows. In most cases mnemonics are shown right after start, but in some runs mnemonics are not shown and can be turned on using ALT button. I can't catch concrete circumstances..
#58 Updated by Greg Shah almost 8 years ago
Code Review Task Branch 2787a Revision 11025
1. The branch needs to be rebased.
2. The MenuItemGuiImpl.createDynamicItem()
no longer registers the given MouseAdapter
instance. Why is that correct?
#59 Updated by Greg Shah almost 8 years ago
Did you test all the standalone GUI cases?
#60 Updated by Greg Shah almost 8 years ago
The only question left is the question about "Key mode" for buttons in Windows. In most cases mnemonics are shown right after start, but in some runs mnemonics are not shown and can be turned on using ALT button. I can't catch concrete circumstances..
Open a separate task for this. Please make sure you have a recreate AND screen captures to show the problem.
#61 Updated by Greg Shah almost 8 years ago
Eugenie: please do a code review.
#62 Updated by Vadim Gindin almost 8 years ago
Greg Shah wrote:
Code Review Task Branch 2787a Revision 11025
1. The branch needs to be rebased.
2. The
MenuItemGuiImpl.createDynamicItem()
no longer registers the givenMouseAdapter
instance. Why is that correct?
No, that was not correct. Thank you! I've rebased the branch and committed this fix. Current revision is 11033 (corresponding trunk revision is 11021).
I didn't run standalone GUI tests yet. I've found that editor popup is not shown despite the code, showing editor popup is called. I'm digging..
#63 Updated by Hynek Cihlar almost 8 years ago
Vadim Gindin wrote:
Greg Shah wrote:
Code Review Task Branch 2787a Revision 11025
1. The branch needs to be rebased.
2. The
MenuItemGuiImpl.createDynamicItem()
no longer registers the givenMouseAdapter
instance. Why is that correct?No, that was not correct. Thank you! I've rebased the branch and committed this fix. Current revision is 11033 (corresponding trunk revision is 11021).
I didn't run standalone GUI tests yet. I've found that editor popup is not shown despite the code, showing editor popup is called. I'm digging..
Vadim, please see #3080 note 20.
#64 Updated by Vadim Gindin almost 8 years ago
Thanks, Hynek! It means that this bug is fixed there.
So I've tested standalone GUI tests. All is OK.
#65 Updated by Eugenie Lyzenko almost 8 years ago
I'm OK with changes.
However I would like to note the regression testing will NOT detect button underscore missing(because it is char attribute we do not track) as regression. So in addition to the GUI
manual test it is required to do ChUI
manual tests to to find out whether all required underscore and highlight is drawing properly.
#66 Updated by Greg Shah almost 8 years ago
Eugenie: please post a list of tests that should be checked.
#67 Updated by Eugenie Lyzenko almost 8 years ago
- File alert-box_chui_20160504.jpg added
Greg Shah wrote:
Eugenie: please post a list of tests that should be checked.
The one test can be button-highlight.p
The second one requires to have RFQ
server running(It is ready before regression testing start)
- login as syman
- from main menu: 7, 2, 8000357, ENTER, F4
- the alert box is on the screen, compare underscore and highlight
The current trunk picture is attached.
#68 Updated by Greg Shah almost 8 years ago
Vadim: please run the tests listed in note 67 and report the results here.
#69 Updated by Vadim Gindin almost 8 years ago
I've ran these tests. Buttons are drawn correctly in both of them.
#70 Updated by Vadim Gindin almost 8 years ago
Frames look differently (button-highlight.p):
PROGRESS (lindev01):
┌─────────────────────────────────┐ │ i │ │────────── │ │ │ │<Add> <Material> <Routing> <Exit>│ └─────────────────────────────────┘
P2J:
┌─────────────────────────────────┐ │ i │ │ ─ ─ ─ │ │ │ │<Add> <Material> <Routing> <Exit>│ └─────────────────────────────────┘
- Is it a known bug, should I create a task for it?
- Buttons are shown correctly. Can I commit the changes?
#71 Updated by Greg Shah almost 8 years ago
Is it a known bug, should I create a task for it?
Does this same bug happen in the P2J trunk revision 11021?
#72 Updated by Greg Shah almost 8 years ago
Code Review Task Branch 2787a Revision 11033
I'm fine with the changes. Please answer the question in note 71 before I make the call on merging to trunk.
#73 Updated by Vadim Gindin almost 8 years ago
Greg Shah wrote:
Is it a known bug, should I create a task for it?
Does this same bug happen in the P2J trunk revision 11021?
Yes, the same bug exists in trunk rev 11021.
#74 Updated by Greg Shah almost 8 years ago
OK, please create a new task for ChUI frame issue. Make me a watcher. The task should NOT be a sub-task of #2677.
#75 Updated by Greg Shah almost 8 years ago
Eugenie is going to merge 2738a into the trunk next. As soon as you see his notification, please rebase and then merge to trunk. There will not be any conflicts in the rebase.
#76 Updated by Vadim Gindin almost 8 years ago
The branch 2787a is rebased and merged to trunk as revision 11023.
#77 Updated by Vadim Gindin almost 8 years ago
I've created the stask #3099 for the bug from the note 70.
#78 Updated by Greg Shah almost 8 years ago
- % Done changed from 0 to 100
- Status changed from New to Closed
#79 Updated by Greg Shah over 7 years ago
- Target version changed from Milestone 16 to Cleanup and Stabilization for GUI
#80 Updated by Greg Shah about 7 years ago
- Related to Bug #3233: button accelerators do not work added