diff options
author | Vladimir Glazounov <vg@openoffice.org> | 2008-04-15 12:21:46 +0000 |
---|---|---|
committer | Vladimir Glazounov <vg@openoffice.org> | 2008-04-15 12:21:46 +0000 |
commit | 53704e32e91046e6dfeb984447288b80354e3632 (patch) | |
tree | 934cd280c3d8c2780e0bd9a46ed05922b67cf71e /vcl | |
parent | dc8580a582abd7dbb3e1d1f8de04a2f8aaf12e07 (diff) |
INTEGRATION: CWS aqua11y01 (1.2.18); FILE MERGED
2008/03/12 12:15:37 obr 1.2.18.7: RESYNC: (1.2-1.4); FILE MERGED
2008/02/22 09:39:42 fne 1.2.18.6: #i82877# last change was superfluent
2008/02/22 08:22:40 fne 1.2.18.5: #i82877# fix for floating windows
2008/02/19 12:17:30 obr 1.2.18.4: fixed a bunch of memory leaks
2008/02/15 07:55:40 obr 1.2.18.3: removed mpParent
2008/02/15 07:41:42 obr 1.2.18.2: objects now create a wrapper for their parent objects on demand
2008/01/23 11:55:02 obr 1.2.18.1: #i82877# moved modifications from salframe.[ch]xx here
Diffstat (limited to 'vcl')
-rwxr-xr-x | vcl/aqua/source/window/salframeview.mm | 34 |
1 files changed, 33 insertions, 1 deletions
diff --git a/vcl/aqua/source/window/salframeview.mm b/vcl/aqua/source/window/salframeview.mm index 81e1cd92f5cc..fd23d0b34da9 100755 --- a/vcl/aqua/source/window/salframeview.mm +++ b/vcl/aqua/source/window/salframeview.mm @@ -7,7 +7,7 @@ * OpenOffice.org - a multi-platform office productivity suite * * $RCSfile: salframeview.mm,v $ - * $Revision: 1.6 $ + * $Revision: 1.7 $ * * This file is part of OpenOffice.org. * @@ -35,6 +35,8 @@ #include "salgdi.h" #include "salframe.h" #include "salframeview.h" +#include "aqua11yfactory.h" +#include "vcl/window.hxx" #include "vcl/svapp.hxx" @@ -268,6 +270,11 @@ static const struct ExceptionalKey mpFrame->ToTop( SAL_FRAME_TOTOP_RESTOREWHENMIN | SAL_FRAME_TOTOP_GRABFOCUS ); } +-(::com::sun::star::uno::Reference < ::com::sun::star::accessibility::XAccessibleContext >)accessibleContext +{ + return mpFrame -> GetWindow() -> GetAccessible() -> getAccessibleContext(); +} + -(NSDragOperation)draggingEntered:(id <NSDraggingInfo>)sender { return [mDraggingDestinationHandler draggingEntered: sender]; @@ -325,6 +332,7 @@ static const struct ExceptionalKey { mMarkedRange = NSMakeRange(NSNotFound, 0); mSelectedRange = NSMakeRange(NSNotFound, 0); + mpReferenceWrapper = nil; mpMouseEventListener = nil; } @@ -964,6 +972,30 @@ static const struct ExceptionalKey return rect; } +-(id)parentAttribute { + return (NSView *) mpFrame -> mpWindow; +} + +-(::com::sun::star::accessibility::XAccessibleContext *)accessibleContext +{ + if ( mpReferenceWrapper == nil ) { + // some frames never become visible .. + Window *pWindow = mpFrame -> GetWindow(); + if ( ! pWindow ) + return nil; + + mpReferenceWrapper = new ReferenceWrapper; + mpReferenceWrapper -> rAccessibleContext = pWindow -> /*GetAccessibleChildWindow( 0 ) ->*/ GetAccessible() -> getAccessibleContext(); + [ AquaA11yFactory insertIntoWrapperRepository: self forAccessibleContext: mpReferenceWrapper -> rAccessibleContext ]; + } + return [ super accessibleContext ]; +} + +-(NSView *)viewElementForParent +{ + return (NSView *) mpFrame -> mpWindow; +} + -(void)registerMouseEventListener: (id)theListener { mpMouseEventListener = theListener; |