summaryrefslogtreecommitdiff
path: root/vcl
diff options
context:
space:
mode:
authorVladimir Glazounov <vg@openoffice.org>2008-04-15 12:21:46 +0000
committerVladimir Glazounov <vg@openoffice.org>2008-04-15 12:21:46 +0000
commit53704e32e91046e6dfeb984447288b80354e3632 (patch)
tree934cd280c3d8c2780e0bd9a46ed05922b67cf71e /vcl
parentdc8580a582abd7dbb3e1d1f8de04a2f8aaf12e07 (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-xvcl/aqua/source/window/salframeview.mm34
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;