Issue 34062 - state change events for SHOWING not reliably sent for menus
Summary: state change events for SHOWING not reliably sent for menus
Status: CLOSED FIXED
Alias: None
Product: ui
Classification: Code
Component: code (show other issues)
Version: 680m52
Hardware: All All
: P4 Trivial (vote)
Target Milestone: OOo 2.4
Assignee: nospam4obr
QA Contact: issues@ui
URL:
Keywords: accessibility
Depends on:
Blocks:
 
Reported: 2004-09-10 11:25 UTC by nospam4obr
Modified: 2008-02-11 08:24 UTC (History)
2 users (show)

See Also:
Issue Type: DEFECT
Latest Confirmation in: ---
Developer Difficulty: ---


Attachments

Note You need to log in before you can comment on or make changes to this issue.
Description nospam4obr 2004-09-10 11:25:21 UTC
The accessibility implementation for menus does not sent state change events for
SHOWING reliably. This is mostly because when it receives
VCLEVENT_MENU_ACTIVATE, the menus are not yet visible, so this event seem not to
be the appropriate VCL trigger.
Comment 1 nospam4obr 2004-09-10 11:26:01 UTC
Added accessibility keyword .
Comment 2 mdxonefour 2005-09-29 11:04:56 UTC
re-targeted to OOo 3.0
Comment 3 thomas.benisch 2005-10-24 09:42:57 UTC
accepted
Comment 4 thomas.benisch 2006-07-19 14:08:04 UTC
As discussed with OBR I set the target to OOo 2.x.
Comment 5 thomas.benisch 2007-09-07 16:34:28 UTC
set target OOo 2.4
Comment 6 thomas.benisch 2007-11-12 16:18:05 UTC
TBE->PL:

VCLEVENT_MENU_ACTIVATE and VCLEVENT_MENU_DEACTIVATE don't seem to
be the appropriate events, e.g. VCLEVENT_MENU_ACTIVATE is fired
before the menu and all its items are visible.

As discussed, can you please provide me some menu events for
showing and hiding. The showing event should be fired after the
menu and its items are visible. The hiding event should be fired
after the menu and its items are hidden, that means no more visible.
Comment 7 philipp.lohmann 2007-11-23 11:54:33 UTC
pl->tbe: please use the new VCLEVENT_MENU_SHOW and VCLEVENT_MENU_HIDE in CWS tbe32
Comment 8 thomas.benisch 2007-11-30 13:01:30 UTC
TBE->OBR:
The accessibility implementation for menues is now listening for
the vcl events VCLEVENT_MENU_SHOW and VCLEVENT_MENU_HIDE.
As discussed, state changed events are sent for VISIBLE instead
of SHOWING.
Comment 9 thomas.benisch 2007-11-30 13:06:35 UTC
fixed on CWS tbe32

The following files are affected:

vcl/inc/vcl/vclevent.hxx  1.2.202.1
vcl/source/window/menu.cxx  1.155.56.1

toolkit/source/awt/vclxmenu.cxx  1.11.158.1

accessibility/inc/accessibility/standard/accessiblemenubasecomponent.hxx  1.2.16.1
                                         accessiblemenucomponent.hxx  1.2.16.1
                                         accessiblemenuitemcomponent.hxx  1.2.16.1
accessibility/source/standard/accessiblemenubasecomponent.cxx  1.2.16.1
                              accessiblemenucomponent.cxx  1.2.16.1
                              accessiblemenuitemcomponent.cxx  1.2.16.1
Comment 10 thomas.benisch 2007-12-04 14:53:14 UTC
tested with event logging enabled
Comment 11 thomas.benisch 2007-12-04 14:55:01 UTC
TBE->OBR: Please verify in CWS tbe32.
Comment 12 nospam4obr 2007-12-05 12:35:14 UTC
I have added the -DAccessBridgeLogging=event parameter to the selected Java VM
(in Tools - Options - Java) on Windows and launched the office with guistdio.com
tool:

all those "showing state out of sync" debug messages for menus/menu
items/separators are gone and I get state change events for 'visible' from all
items in a sub-menu that opens or closes : nice work !

Comment 13 nospam4obr 2008-02-11 08:24:53 UTC
Verified again in OOH680_m6 (OOo 2.4) and SRC680_m256 (CVS head).