Files
libreoffice/vcl/osx/a11ywrapper.mm

1149 lines
46 KiB
Plaintext
Raw Normal View History

/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2012-06-25 16:56:16 +01:00
/*
* This file is part of the LibreOffice project.
INTEGRATION: CWS aqua11y01 (1.1.2); FILE ADDED 2008/04/15 07:58:36 rt 1.1.2.19: Update license header to LGPL 3. 2008/02/28 14:58:26 fne 1.1.2.18: #i82877# fix: do not manually hit test lists 2008/02/28 11:40:22 fne 1.1.2.17: #i82877# corrected relations label_for and labeled_by 2008/02/26 11:31:01 fne 1.1.2.16: #i82877# linkedUIElements attribute and some small fixes 2008/02/25 11:46:14 fne 1.1.2.15: #i82877# small fixes 2008/02/22 14:23:59 fne 1.1.2.14: #i82877# fix for floating windows mk2 2008/02/22 08:22:40 fne 1.1.2.13: #i82877# fix for floating windows 2008/02/21 20:07:01 fne 1.1.2.12: #i82877# redesigned hittest 2008/02/21 10:46:25 obr 1.1.2.11: keep a reference on the currently focused object (needed for transient object like table cells) 2008/02/21 05:50:48 obr 1.1.2.10: keep reference to hitChild for transient objects 2008/02/19 19:29:38 obr 1.1.2.9: release only when using factory directly 2008/02/19 12:17:29 obr 1.1.2.8: fixed a bunch of memory leaks 2008/02/18 22:43:04 obr 1.1.2.7: simulate focus notifications for active descendant changed events 2008/02/18 06:08:55 obr 1.1.2.6: make sure the SalFrameView gets inserted to the wrapper repository early enough and make the listener objects own their wrappers 2008/02/15 07:55:40 obr 1.1.2.5: removed mpParent 2008/02/15 07:41:41 obr 1.1.2.4: objects now create a wrapper for their parent objects on demand 2008/02/12 15:40:01 fne 1.1.2.3: #i82877# support for the following text attributes: fontname, fontsize, bold, italic, underline 2008/02/10 08:27:41 fne 1.1.2.2: #i82877# fixes for text areas 2008/02/06 07:55:46 fne 1.1.2.1: #i82877# renamed cxx to mm
2008-04-15 12:13:46 +00:00
*
2012-06-25 16:56:16 +01:00
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
INTEGRATION: CWS aqua11y01 (1.1.2); FILE ADDED 2008/04/15 07:58:36 rt 1.1.2.19: Update license header to LGPL 3. 2008/02/28 14:58:26 fne 1.1.2.18: #i82877# fix: do not manually hit test lists 2008/02/28 11:40:22 fne 1.1.2.17: #i82877# corrected relations label_for and labeled_by 2008/02/26 11:31:01 fne 1.1.2.16: #i82877# linkedUIElements attribute and some small fixes 2008/02/25 11:46:14 fne 1.1.2.15: #i82877# small fixes 2008/02/22 14:23:59 fne 1.1.2.14: #i82877# fix for floating windows mk2 2008/02/22 08:22:40 fne 1.1.2.13: #i82877# fix for floating windows 2008/02/21 20:07:01 fne 1.1.2.12: #i82877# redesigned hittest 2008/02/21 10:46:25 obr 1.1.2.11: keep a reference on the currently focused object (needed for transient object like table cells) 2008/02/21 05:50:48 obr 1.1.2.10: keep reference to hitChild for transient objects 2008/02/19 19:29:38 obr 1.1.2.9: release only when using factory directly 2008/02/19 12:17:29 obr 1.1.2.8: fixed a bunch of memory leaks 2008/02/18 22:43:04 obr 1.1.2.7: simulate focus notifications for active descendant changed events 2008/02/18 06:08:55 obr 1.1.2.6: make sure the SalFrameView gets inserted to the wrapper repository early enough and make the listener objects own their wrappers 2008/02/15 07:55:40 obr 1.1.2.5: removed mpParent 2008/02/15 07:41:41 obr 1.1.2.4: objects now create a wrapper for their parent objects on demand 2008/02/12 15:40:01 fne 1.1.2.3: #i82877# support for the following text attributes: fontname, fontsize, bold, italic, underline 2008/02/10 08:27:41 fne 1.1.2.2: #i82877# fixes for text areas 2008/02/06 07:55:46 fne 1.1.2.1: #i82877# renamed cxx to mm
2008-04-15 12:13:46 +00:00
*
2012-06-25 16:56:16 +01:00
* This file incorporates work covered by the following license notice:
INTEGRATION: CWS aqua11y01 (1.1.2); FILE ADDED 2008/04/15 07:58:36 rt 1.1.2.19: Update license header to LGPL 3. 2008/02/28 14:58:26 fne 1.1.2.18: #i82877# fix: do not manually hit test lists 2008/02/28 11:40:22 fne 1.1.2.17: #i82877# corrected relations label_for and labeled_by 2008/02/26 11:31:01 fne 1.1.2.16: #i82877# linkedUIElements attribute and some small fixes 2008/02/25 11:46:14 fne 1.1.2.15: #i82877# small fixes 2008/02/22 14:23:59 fne 1.1.2.14: #i82877# fix for floating windows mk2 2008/02/22 08:22:40 fne 1.1.2.13: #i82877# fix for floating windows 2008/02/21 20:07:01 fne 1.1.2.12: #i82877# redesigned hittest 2008/02/21 10:46:25 obr 1.1.2.11: keep a reference on the currently focused object (needed for transient object like table cells) 2008/02/21 05:50:48 obr 1.1.2.10: keep reference to hitChild for transient objects 2008/02/19 19:29:38 obr 1.1.2.9: release only when using factory directly 2008/02/19 12:17:29 obr 1.1.2.8: fixed a bunch of memory leaks 2008/02/18 22:43:04 obr 1.1.2.7: simulate focus notifications for active descendant changed events 2008/02/18 06:08:55 obr 1.1.2.6: make sure the SalFrameView gets inserted to the wrapper repository early enough and make the listener objects own their wrappers 2008/02/15 07:55:40 obr 1.1.2.5: removed mpParent 2008/02/15 07:41:41 obr 1.1.2.4: objects now create a wrapper for their parent objects on demand 2008/02/12 15:40:01 fne 1.1.2.3: #i82877# support for the following text attributes: fontname, fontsize, bold, italic, underline 2008/02/10 08:27:41 fne 1.1.2.2: #i82877# fixes for text areas 2008/02/06 07:55:46 fne 1.1.2.1: #i82877# renamed cxx to mm
2008-04-15 12:13:46 +00:00
*
2012-06-25 16:56:16 +01:00
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed
* with this work for additional information regarding copyright
* ownership. The ASF licenses this file to you under the Apache
* License, Version 2.0 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
*/
INTEGRATION: CWS aqua11y01 (1.1.2); FILE ADDED 2008/04/15 07:58:36 rt 1.1.2.19: Update license header to LGPL 3. 2008/02/28 14:58:26 fne 1.1.2.18: #i82877# fix: do not manually hit test lists 2008/02/28 11:40:22 fne 1.1.2.17: #i82877# corrected relations label_for and labeled_by 2008/02/26 11:31:01 fne 1.1.2.16: #i82877# linkedUIElements attribute and some small fixes 2008/02/25 11:46:14 fne 1.1.2.15: #i82877# small fixes 2008/02/22 14:23:59 fne 1.1.2.14: #i82877# fix for floating windows mk2 2008/02/22 08:22:40 fne 1.1.2.13: #i82877# fix for floating windows 2008/02/21 20:07:01 fne 1.1.2.12: #i82877# redesigned hittest 2008/02/21 10:46:25 obr 1.1.2.11: keep a reference on the currently focused object (needed for transient object like table cells) 2008/02/21 05:50:48 obr 1.1.2.10: keep reference to hitChild for transient objects 2008/02/19 19:29:38 obr 1.1.2.9: release only when using factory directly 2008/02/19 12:17:29 obr 1.1.2.8: fixed a bunch of memory leaks 2008/02/18 22:43:04 obr 1.1.2.7: simulate focus notifications for active descendant changed events 2008/02/18 06:08:55 obr 1.1.2.6: make sure the SalFrameView gets inserted to the wrapper repository early enough and make the listener objects own their wrappers 2008/02/15 07:55:40 obr 1.1.2.5: removed mpParent 2008/02/15 07:41:41 obr 1.1.2.4: objects now create a wrapper for their parent objects on demand 2008/02/12 15:40:01 fne 1.1.2.3: #i82877# support for the following text attributes: fontname, fontsize, bold, italic, underline 2008/02/10 08:27:41 fne 1.1.2.2: #i82877# fixes for text areas 2008/02/06 07:55:46 fne 1.1.2.1: #i82877# renamed cxx to mm
2008-04-15 12:13:46 +00:00
#include "osx/salinst.h"
#include "osx/saldata.hxx"
#include "osx/a11ywrapper.h"
#include "osx/a11ylistener.hxx"
#include "osx/a11yfactory.h"
#include "osx/a11yfocustracker.hxx"
#include "quartz/utils.h"
#include "a11yfocuslistener.hxx"
#include "a11yactionwrapper.h"
#include "a11ycomponentwrapper.h"
#include "a11yselectionwrapper.h"
#include "a11ytablewrapper.h"
#include "a11ytextwrapper.h"
#include "a11yvaluewrapper.h"
#include "a11yrolehelper.h"
INTEGRATION: CWS aqua11y01 (1.1.2); FILE ADDED 2008/04/15 07:58:36 rt 1.1.2.19: Update license header to LGPL 3. 2008/02/28 14:58:26 fne 1.1.2.18: #i82877# fix: do not manually hit test lists 2008/02/28 11:40:22 fne 1.1.2.17: #i82877# corrected relations label_for and labeled_by 2008/02/26 11:31:01 fne 1.1.2.16: #i82877# linkedUIElements attribute and some small fixes 2008/02/25 11:46:14 fne 1.1.2.15: #i82877# small fixes 2008/02/22 14:23:59 fne 1.1.2.14: #i82877# fix for floating windows mk2 2008/02/22 08:22:40 fne 1.1.2.13: #i82877# fix for floating windows 2008/02/21 20:07:01 fne 1.1.2.12: #i82877# redesigned hittest 2008/02/21 10:46:25 obr 1.1.2.11: keep a reference on the currently focused object (needed for transient object like table cells) 2008/02/21 05:50:48 obr 1.1.2.10: keep reference to hitChild for transient objects 2008/02/19 19:29:38 obr 1.1.2.9: release only when using factory directly 2008/02/19 12:17:29 obr 1.1.2.8: fixed a bunch of memory leaks 2008/02/18 22:43:04 obr 1.1.2.7: simulate focus notifications for active descendant changed events 2008/02/18 06:08:55 obr 1.1.2.6: make sure the SalFrameView gets inserted to the wrapper repository early enough and make the listener objects own their wrappers 2008/02/15 07:55:40 obr 1.1.2.5: removed mpParent 2008/02/15 07:41:41 obr 1.1.2.4: objects now create a wrapper for their parent objects on demand 2008/02/12 15:40:01 fne 1.1.2.3: #i82877# support for the following text attributes: fontname, fontsize, bold, italic, underline 2008/02/10 08:27:41 fne 1.1.2.2: #i82877# fixes for text areas 2008/02/06 07:55:46 fne 1.1.2.1: #i82877# renamed cxx to mm
2008-04-15 12:13:46 +00:00
#include <com/sun/star/accessibility/AccessibleRole.hpp>
#include <com/sun/star/accessibility/AccessibleStateType.hpp>
#include <com/sun/star/accessibility/XAccessibleEventBroadcaster.hpp>
#include <com/sun/star/awt/Size.hpp>
#include <com/sun/star/accessibility/XAccessibleRelationSet.hpp>
#include <com/sun/star/accessibility/AccessibleRelationType.hpp>
#include <com/sun/star/lang/DisposedException.hpp>
using namespace ::com::sun::star::accessibility;
using namespace ::com::sun::star::awt;
using namespace ::com::sun::star::lang;
using namespace ::com::sun::star::uno;
@interface SalFrameWindow : NSWindow
{
}
-(Reference<XAccessibleContext>)accessibleContext;
@end
static BOOL isPopupMenuOpen = NO;
static std::ostream &operator<<(std::ostream &s, NSObject *obj) {
return s << [[obj description] UTF8String];
}
INTEGRATION: CWS aqua11y01 (1.1.2); FILE ADDED 2008/04/15 07:58:36 rt 1.1.2.19: Update license header to LGPL 3. 2008/02/28 14:58:26 fne 1.1.2.18: #i82877# fix: do not manually hit test lists 2008/02/28 11:40:22 fne 1.1.2.17: #i82877# corrected relations label_for and labeled_by 2008/02/26 11:31:01 fne 1.1.2.16: #i82877# linkedUIElements attribute and some small fixes 2008/02/25 11:46:14 fne 1.1.2.15: #i82877# small fixes 2008/02/22 14:23:59 fne 1.1.2.14: #i82877# fix for floating windows mk2 2008/02/22 08:22:40 fne 1.1.2.13: #i82877# fix for floating windows 2008/02/21 20:07:01 fne 1.1.2.12: #i82877# redesigned hittest 2008/02/21 10:46:25 obr 1.1.2.11: keep a reference on the currently focused object (needed for transient object like table cells) 2008/02/21 05:50:48 obr 1.1.2.10: keep reference to hitChild for transient objects 2008/02/19 19:29:38 obr 1.1.2.9: release only when using factory directly 2008/02/19 12:17:29 obr 1.1.2.8: fixed a bunch of memory leaks 2008/02/18 22:43:04 obr 1.1.2.7: simulate focus notifications for active descendant changed events 2008/02/18 06:08:55 obr 1.1.2.6: make sure the SalFrameView gets inserted to the wrapper repository early enough and make the listener objects own their wrappers 2008/02/15 07:55:40 obr 1.1.2.5: removed mpParent 2008/02/15 07:41:41 obr 1.1.2.4: objects now create a wrapper for their parent objects on demand 2008/02/12 15:40:01 fne 1.1.2.3: #i82877# support for the following text attributes: fontname, fontsize, bold, italic, underline 2008/02/10 08:27:41 fne 1.1.2.2: #i82877# fixes for text areas 2008/02/06 07:55:46 fne 1.1.2.1: #i82877# renamed cxx to mm
2008-04-15 12:13:46 +00:00
@implementation AquaA11yWrapper : NSView
#pragma mark -
#pragma mark Init and dealloc
-(id)initWithAccessibleContext: (Reference < XAccessibleContext >) rxAccessibleContext {
self = [ super init ];
if ( self ) {
INTEGRATION: CWS aqua11y01 (1.1.2); FILE ADDED 2008/04/15 07:58:36 rt 1.1.2.19: Update license header to LGPL 3. 2008/02/28 14:58:26 fne 1.1.2.18: #i82877# fix: do not manually hit test lists 2008/02/28 11:40:22 fne 1.1.2.17: #i82877# corrected relations label_for and labeled_by 2008/02/26 11:31:01 fne 1.1.2.16: #i82877# linkedUIElements attribute and some small fixes 2008/02/25 11:46:14 fne 1.1.2.15: #i82877# small fixes 2008/02/22 14:23:59 fne 1.1.2.14: #i82877# fix for floating windows mk2 2008/02/22 08:22:40 fne 1.1.2.13: #i82877# fix for floating windows 2008/02/21 20:07:01 fne 1.1.2.12: #i82877# redesigned hittest 2008/02/21 10:46:25 obr 1.1.2.11: keep a reference on the currently focused object (needed for transient object like table cells) 2008/02/21 05:50:48 obr 1.1.2.10: keep reference to hitChild for transient objects 2008/02/19 19:29:38 obr 1.1.2.9: release only when using factory directly 2008/02/19 12:17:29 obr 1.1.2.8: fixed a bunch of memory leaks 2008/02/18 22:43:04 obr 1.1.2.7: simulate focus notifications for active descendant changed events 2008/02/18 06:08:55 obr 1.1.2.6: make sure the SalFrameView gets inserted to the wrapper repository early enough and make the listener objects own their wrappers 2008/02/15 07:55:40 obr 1.1.2.5: removed mpParent 2008/02/15 07:41:41 obr 1.1.2.4: objects now create a wrapper for their parent objects on demand 2008/02/12 15:40:01 fne 1.1.2.3: #i82877# support for the following text attributes: fontname, fontsize, bold, italic, underline 2008/02/10 08:27:41 fne 1.1.2.2: #i82877# fixes for text areas 2008/02/06 07:55:46 fne 1.1.2.1: #i82877# renamed cxx to mm
2008-04-15 12:13:46 +00:00
[ self setDefaults: rxAccessibleContext ];
}
return self;
}
-(void) setDefaults: (Reference < XAccessibleContext >) rxAccessibleContext {
mpReferenceWrapper = new ReferenceWrapper;
mActsAsRadioGroup = NO;
INTEGRATION: CWS aqua11y01 (1.1.2); FILE ADDED 2008/04/15 07:58:36 rt 1.1.2.19: Update license header to LGPL 3. 2008/02/28 14:58:26 fne 1.1.2.18: #i82877# fix: do not manually hit test lists 2008/02/28 11:40:22 fne 1.1.2.17: #i82877# corrected relations label_for and labeled_by 2008/02/26 11:31:01 fne 1.1.2.16: #i82877# linkedUIElements attribute and some small fixes 2008/02/25 11:46:14 fne 1.1.2.15: #i82877# small fixes 2008/02/22 14:23:59 fne 1.1.2.14: #i82877# fix for floating windows mk2 2008/02/22 08:22:40 fne 1.1.2.13: #i82877# fix for floating windows 2008/02/21 20:07:01 fne 1.1.2.12: #i82877# redesigned hittest 2008/02/21 10:46:25 obr 1.1.2.11: keep a reference on the currently focused object (needed for transient object like table cells) 2008/02/21 05:50:48 obr 1.1.2.10: keep reference to hitChild for transient objects 2008/02/19 19:29:38 obr 1.1.2.9: release only when using factory directly 2008/02/19 12:17:29 obr 1.1.2.8: fixed a bunch of memory leaks 2008/02/18 22:43:04 obr 1.1.2.7: simulate focus notifications for active descendant changed events 2008/02/18 06:08:55 obr 1.1.2.6: make sure the SalFrameView gets inserted to the wrapper repository early enough and make the listener objects own their wrappers 2008/02/15 07:55:40 obr 1.1.2.5: removed mpParent 2008/02/15 07:41:41 obr 1.1.2.4: objects now create a wrapper for their parent objects on demand 2008/02/12 15:40:01 fne 1.1.2.3: #i82877# support for the following text attributes: fontname, fontsize, bold, italic, underline 2008/02/10 08:27:41 fne 1.1.2.2: #i82877# fixes for text areas 2008/02/06 07:55:46 fne 1.1.2.1: #i82877# renamed cxx to mm
2008-04-15 12:13:46 +00:00
mpReferenceWrapper -> rAccessibleContext = rxAccessibleContext;
mIsTableCell = NO;
INTEGRATION: CWS aqua11y01 (1.1.2); FILE ADDED 2008/04/15 07:58:36 rt 1.1.2.19: Update license header to LGPL 3. 2008/02/28 14:58:26 fne 1.1.2.18: #i82877# fix: do not manually hit test lists 2008/02/28 11:40:22 fne 1.1.2.17: #i82877# corrected relations label_for and labeled_by 2008/02/26 11:31:01 fne 1.1.2.16: #i82877# linkedUIElements attribute and some small fixes 2008/02/25 11:46:14 fne 1.1.2.15: #i82877# small fixes 2008/02/22 14:23:59 fne 1.1.2.14: #i82877# fix for floating windows mk2 2008/02/22 08:22:40 fne 1.1.2.13: #i82877# fix for floating windows 2008/02/21 20:07:01 fne 1.1.2.12: #i82877# redesigned hittest 2008/02/21 10:46:25 obr 1.1.2.11: keep a reference on the currently focused object (needed for transient object like table cells) 2008/02/21 05:50:48 obr 1.1.2.10: keep reference to hitChild for transient objects 2008/02/19 19:29:38 obr 1.1.2.9: release only when using factory directly 2008/02/19 12:17:29 obr 1.1.2.8: fixed a bunch of memory leaks 2008/02/18 22:43:04 obr 1.1.2.7: simulate focus notifications for active descendant changed events 2008/02/18 06:08:55 obr 1.1.2.6: make sure the SalFrameView gets inserted to the wrapper repository early enough and make the listener objects own their wrappers 2008/02/15 07:55:40 obr 1.1.2.5: removed mpParent 2008/02/15 07:41:41 obr 1.1.2.4: objects now create a wrapper for their parent objects on demand 2008/02/12 15:40:01 fne 1.1.2.3: #i82877# support for the following text attributes: fontname, fontsize, bold, italic, underline 2008/02/10 08:27:41 fne 1.1.2.2: #i82877# fixes for text areas 2008/02/06 07:55:46 fne 1.1.2.1: #i82877# renamed cxx to mm
2008-04-15 12:13:46 +00:00
// Querying all supported interfaces
try {
// XAccessibleComponent
mpReferenceWrapper -> rAccessibleComponent = Reference < XAccessibleComponent > ( rxAccessibleContext, UNO_QUERY );
// XAccessibleExtendedComponent
mpReferenceWrapper -> rAccessibleExtendedComponent = Reference < XAccessibleExtendedComponent > ( rxAccessibleContext, UNO_QUERY );
// XAccessibleSelection
mpReferenceWrapper -> rAccessibleSelection = Reference< XAccessibleSelection > ( rxAccessibleContext, UNO_QUERY );
// XAccessibleTable
mpReferenceWrapper -> rAccessibleTable = Reference < XAccessibleTable > ( rxAccessibleContext, UNO_QUERY );
// XAccessibleText
mpReferenceWrapper -> rAccessibleText = Reference < XAccessibleText > ( rxAccessibleContext, UNO_QUERY );
// XAccessibleEditableText
mpReferenceWrapper -> rAccessibleEditableText = Reference < XAccessibleEditableText > ( rxAccessibleContext, UNO_QUERY );
// XAccessibleValue
mpReferenceWrapper -> rAccessibleValue = Reference < XAccessibleValue > ( rxAccessibleContext, UNO_QUERY );
// XAccessibleAction
mpReferenceWrapper -> rAccessibleAction = Reference < XAccessibleAction > ( rxAccessibleContext, UNO_QUERY );
// XAccessibleTextAttributes
mpReferenceWrapper -> rAccessibleTextAttributes = Reference < XAccessibleTextAttributes > ( rxAccessibleContext, UNO_QUERY );
// XAccessibleMultiLineText
mpReferenceWrapper -> rAccessibleMultiLineText = Reference < XAccessibleMultiLineText > ( rxAccessibleContext, UNO_QUERY );
// XAccessibleTextMarkup
mpReferenceWrapper -> rAccessibleTextMarkup = Reference < XAccessibleTextMarkup > ( rxAccessibleContext, UNO_QUERY );
INTEGRATION: CWS aqua11y01 (1.1.2); FILE ADDED 2008/04/15 07:58:36 rt 1.1.2.19: Update license header to LGPL 3. 2008/02/28 14:58:26 fne 1.1.2.18: #i82877# fix: do not manually hit test lists 2008/02/28 11:40:22 fne 1.1.2.17: #i82877# corrected relations label_for and labeled_by 2008/02/26 11:31:01 fne 1.1.2.16: #i82877# linkedUIElements attribute and some small fixes 2008/02/25 11:46:14 fne 1.1.2.15: #i82877# small fixes 2008/02/22 14:23:59 fne 1.1.2.14: #i82877# fix for floating windows mk2 2008/02/22 08:22:40 fne 1.1.2.13: #i82877# fix for floating windows 2008/02/21 20:07:01 fne 1.1.2.12: #i82877# redesigned hittest 2008/02/21 10:46:25 obr 1.1.2.11: keep a reference on the currently focused object (needed for transient object like table cells) 2008/02/21 05:50:48 obr 1.1.2.10: keep reference to hitChild for transient objects 2008/02/19 19:29:38 obr 1.1.2.9: release only when using factory directly 2008/02/19 12:17:29 obr 1.1.2.8: fixed a bunch of memory leaks 2008/02/18 22:43:04 obr 1.1.2.7: simulate focus notifications for active descendant changed events 2008/02/18 06:08:55 obr 1.1.2.6: make sure the SalFrameView gets inserted to the wrapper repository early enough and make the listener objects own their wrappers 2008/02/15 07:55:40 obr 1.1.2.5: removed mpParent 2008/02/15 07:41:41 obr 1.1.2.4: objects now create a wrapper for their parent objects on demand 2008/02/12 15:40:01 fne 1.1.2.3: #i82877# support for the following text attributes: fontname, fontsize, bold, italic, underline 2008/02/10 08:27:41 fne 1.1.2.2: #i82877# fixes for text areas 2008/02/06 07:55:46 fne 1.1.2.1: #i82877# renamed cxx to mm
2008-04-15 12:13:46 +00:00
// XAccessibleEventBroadcaster
CWS-TOOLING: integrate CWS vcl105 2009-09-07 Philipp Lohmann fix path issues 2009-09-07 hdu #i104525# Aqua: workaround OSX problem in RecentlyUsed list 2009-09-07 Philipp Lohmann add missing dollar sign 2009-09-07 Philipp Lohmann remove warnings 2009-09-07 hdu #i104011# need to use real-vals in cff-subsetter for some fonts 2009-09-05 Philipp Lohmann #i103674# less noise 2009-09-05 Philipp Lohmann #i103674# add garmin communicator to list of crashing plugins 2009-09-05 Philipp Lohmann #i103674# confiuration option to disable plugin support 2009-09-05 Philipp Lohmann merge #i102735# 2009-09-05 Philipp Lohmann #i88802# enable transparency resolution for PDF/A 2009-09-04 Philipp Lohmann rebase to DEV300m57 2009-09-03 Philipp Lohmann #i90083# fix a typo 2009-09-03 Philipp Lohmann merge 2009-09-03 Philipp Lohmann #i90083# workaround for application frame switching 2009-09-03 hdu #i104720# better description for --without-fonts configure option 2009-09-02 hdu #i104723# update third-party fonts 2009-09-02 hdu #i104723# update default-installed Liberation fonts from 1.04->1.05.1.20090721 2009-09-02 hdu #i104720# update default-installed DejaVu fonts from 2.21->2.30 2009-09-02 hdu #i89682# add Gentium fonts to default installation 2009-09-02 hdu #i89682# add Gentium fonts to default installation 2009-09-01 hdu #i104011# fix vertical offset in PDF-export of USP-layouted text 2009-08-27 Philipp Lohmann #i102033# ignore transients 2009-08-27 Philipp Lohmann merge 2009-08-27 Philipp Lohmann fix warning, remove crappy early exits 2009-08-26 Philipp Lohmann #i63494# user event time for generic plugin always regotten to work around metacity 2009-08-26 Philipp Lohmann merge 2009-08-26 Philipp Lohmann #i104526# fix string conversion 2009-08-25 Philipp Lohmann #b6855541# show newly added driver, repair remove driver 2009-08-25 Philipp Lohmann #i104469# maximizing issue (thanks haggai)
2009-09-17 16:34:35 +00:00
#if 0
/* #i102033# NSAccessibility does not seemt to know an equivalent for transient children.
That means we need to cache this, else e.g. tree list boxes are not accessible (moreover
it crashes by notifying dead objects - which would seemt o be another bug)
CWS-TOOLING: integrate CWS vcl105 2009-09-07 Philipp Lohmann fix path issues 2009-09-07 hdu #i104525# Aqua: workaround OSX problem in RecentlyUsed list 2009-09-07 Philipp Lohmann add missing dollar sign 2009-09-07 Philipp Lohmann remove warnings 2009-09-07 hdu #i104011# need to use real-vals in cff-subsetter for some fonts 2009-09-05 Philipp Lohmann #i103674# less noise 2009-09-05 Philipp Lohmann #i103674# add garmin communicator to list of crashing plugins 2009-09-05 Philipp Lohmann #i103674# confiuration option to disable plugin support 2009-09-05 Philipp Lohmann merge #i102735# 2009-09-05 Philipp Lohmann #i88802# enable transparency resolution for PDF/A 2009-09-04 Philipp Lohmann rebase to DEV300m57 2009-09-03 Philipp Lohmann #i90083# fix a typo 2009-09-03 Philipp Lohmann merge 2009-09-03 Philipp Lohmann #i90083# workaround for application frame switching 2009-09-03 hdu #i104720# better description for --without-fonts configure option 2009-09-02 hdu #i104723# update third-party fonts 2009-09-02 hdu #i104723# update default-installed Liberation fonts from 1.04->1.05.1.20090721 2009-09-02 hdu #i104720# update default-installed DejaVu fonts from 2.21->2.30 2009-09-02 hdu #i89682# add Gentium fonts to default installation 2009-09-02 hdu #i89682# add Gentium fonts to default installation 2009-09-01 hdu #i104011# fix vertical offset in PDF-export of USP-layouted text 2009-08-27 Philipp Lohmann #i102033# ignore transients 2009-08-27 Philipp Lohmann merge 2009-08-27 Philipp Lohmann fix warning, remove crappy early exits 2009-08-26 Philipp Lohmann #i63494# user event time for generic plugin always regotten to work around metacity 2009-08-26 Philipp Lohmann merge 2009-08-26 Philipp Lohmann #i104526# fix string conversion 2009-08-25 Philipp Lohmann #b6855541# show newly added driver, repair remove driver 2009-08-25 Philipp Lohmann #i104469# maximizing issue (thanks haggai)
2009-09-17 16:34:35 +00:00
FIXME:
Unfortunately this can increase memory consumption drastically until the non transient parent
is destroyed an finally all the transients are released.
*/
if ( ! rxAccessibleContext -> getAccessibleStateSet() -> contains ( AccessibleStateType::TRANSIENT ) )
#endif
{
INTEGRATION: CWS aqua11y01 (1.1.2); FILE ADDED 2008/04/15 07:58:36 rt 1.1.2.19: Update license header to LGPL 3. 2008/02/28 14:58:26 fne 1.1.2.18: #i82877# fix: do not manually hit test lists 2008/02/28 11:40:22 fne 1.1.2.17: #i82877# corrected relations label_for and labeled_by 2008/02/26 11:31:01 fne 1.1.2.16: #i82877# linkedUIElements attribute and some small fixes 2008/02/25 11:46:14 fne 1.1.2.15: #i82877# small fixes 2008/02/22 14:23:59 fne 1.1.2.14: #i82877# fix for floating windows mk2 2008/02/22 08:22:40 fne 1.1.2.13: #i82877# fix for floating windows 2008/02/21 20:07:01 fne 1.1.2.12: #i82877# redesigned hittest 2008/02/21 10:46:25 obr 1.1.2.11: keep a reference on the currently focused object (needed for transient object like table cells) 2008/02/21 05:50:48 obr 1.1.2.10: keep reference to hitChild for transient objects 2008/02/19 19:29:38 obr 1.1.2.9: release only when using factory directly 2008/02/19 12:17:29 obr 1.1.2.8: fixed a bunch of memory leaks 2008/02/18 22:43:04 obr 1.1.2.7: simulate focus notifications for active descendant changed events 2008/02/18 06:08:55 obr 1.1.2.6: make sure the SalFrameView gets inserted to the wrapper repository early enough and make the listener objects own their wrappers 2008/02/15 07:55:40 obr 1.1.2.5: removed mpParent 2008/02/15 07:41:41 obr 1.1.2.4: objects now create a wrapper for their parent objects on demand 2008/02/12 15:40:01 fne 1.1.2.3: #i82877# support for the following text attributes: fontname, fontsize, bold, italic, underline 2008/02/10 08:27:41 fne 1.1.2.2: #i82877# fixes for text areas 2008/02/06 07:55:46 fne 1.1.2.1: #i82877# renamed cxx to mm
2008-04-15 12:13:46 +00:00
Reference< XAccessibleEventBroadcaster > xBroadcaster(rxAccessibleContext, UNO_QUERY);
if( xBroadcaster.is() ) {
/*
* We intentionally do not hold a reference to the event listener in the wrapper object,
* but let the listener control the life cycle of the wrapper instead ..
*/
xBroadcaster->addAccessibleEventListener( new AquaA11yEventListener( self, rxAccessibleContext -> getAccessibleRole() ) );
INTEGRATION: CWS aqua11y01 (1.1.2); FILE ADDED 2008/04/15 07:58:36 rt 1.1.2.19: Update license header to LGPL 3. 2008/02/28 14:58:26 fne 1.1.2.18: #i82877# fix: do not manually hit test lists 2008/02/28 11:40:22 fne 1.1.2.17: #i82877# corrected relations label_for and labeled_by 2008/02/26 11:31:01 fne 1.1.2.16: #i82877# linkedUIElements attribute and some small fixes 2008/02/25 11:46:14 fne 1.1.2.15: #i82877# small fixes 2008/02/22 14:23:59 fne 1.1.2.14: #i82877# fix for floating windows mk2 2008/02/22 08:22:40 fne 1.1.2.13: #i82877# fix for floating windows 2008/02/21 20:07:01 fne 1.1.2.12: #i82877# redesigned hittest 2008/02/21 10:46:25 obr 1.1.2.11: keep a reference on the currently focused object (needed for transient object like table cells) 2008/02/21 05:50:48 obr 1.1.2.10: keep reference to hitChild for transient objects 2008/02/19 19:29:38 obr 1.1.2.9: release only when using factory directly 2008/02/19 12:17:29 obr 1.1.2.8: fixed a bunch of memory leaks 2008/02/18 22:43:04 obr 1.1.2.7: simulate focus notifications for active descendant changed events 2008/02/18 06:08:55 obr 1.1.2.6: make sure the SalFrameView gets inserted to the wrapper repository early enough and make the listener objects own their wrappers 2008/02/15 07:55:40 obr 1.1.2.5: removed mpParent 2008/02/15 07:41:41 obr 1.1.2.4: objects now create a wrapper for their parent objects on demand 2008/02/12 15:40:01 fne 1.1.2.3: #i82877# support for the following text attributes: fontname, fontsize, bold, italic, underline 2008/02/10 08:27:41 fne 1.1.2.2: #i82877# fixes for text areas 2008/02/06 07:55:46 fne 1.1.2.1: #i82877# renamed cxx to mm
2008-04-15 12:13:46 +00:00
}
}
// TABLE_CELL
if ( rxAccessibleContext -> getAccessibleRole() == AccessibleRole::TABLE_CELL ) {
mIsTableCell = YES;
}
INTEGRATION: CWS aqua11y01 (1.1.2); FILE ADDED 2008/04/15 07:58:36 rt 1.1.2.19: Update license header to LGPL 3. 2008/02/28 14:58:26 fne 1.1.2.18: #i82877# fix: do not manually hit test lists 2008/02/28 11:40:22 fne 1.1.2.17: #i82877# corrected relations label_for and labeled_by 2008/02/26 11:31:01 fne 1.1.2.16: #i82877# linkedUIElements attribute and some small fixes 2008/02/25 11:46:14 fne 1.1.2.15: #i82877# small fixes 2008/02/22 14:23:59 fne 1.1.2.14: #i82877# fix for floating windows mk2 2008/02/22 08:22:40 fne 1.1.2.13: #i82877# fix for floating windows 2008/02/21 20:07:01 fne 1.1.2.12: #i82877# redesigned hittest 2008/02/21 10:46:25 obr 1.1.2.11: keep a reference on the currently focused object (needed for transient object like table cells) 2008/02/21 05:50:48 obr 1.1.2.10: keep reference to hitChild for transient objects 2008/02/19 19:29:38 obr 1.1.2.9: release only when using factory directly 2008/02/19 12:17:29 obr 1.1.2.8: fixed a bunch of memory leaks 2008/02/18 22:43:04 obr 1.1.2.7: simulate focus notifications for active descendant changed events 2008/02/18 06:08:55 obr 1.1.2.6: make sure the SalFrameView gets inserted to the wrapper repository early enough and make the listener objects own their wrappers 2008/02/15 07:55:40 obr 1.1.2.5: removed mpParent 2008/02/15 07:41:41 obr 1.1.2.4: objects now create a wrapper for their parent objects on demand 2008/02/12 15:40:01 fne 1.1.2.3: #i82877# support for the following text attributes: fontname, fontsize, bold, italic, underline 2008/02/10 08:27:41 fne 1.1.2.2: #i82877# fixes for text areas 2008/02/06 07:55:46 fne 1.1.2.1: #i82877# renamed cxx to mm
2008-04-15 12:13:46 +00:00
} catch ( const Exception ) {
}
}
-(void)dealloc {
if ( mpReferenceWrapper ) {
INTEGRATION: CWS aqua11y01 (1.1.2); FILE ADDED 2008/04/15 07:58:36 rt 1.1.2.19: Update license header to LGPL 3. 2008/02/28 14:58:26 fne 1.1.2.18: #i82877# fix: do not manually hit test lists 2008/02/28 11:40:22 fne 1.1.2.17: #i82877# corrected relations label_for and labeled_by 2008/02/26 11:31:01 fne 1.1.2.16: #i82877# linkedUIElements attribute and some small fixes 2008/02/25 11:46:14 fne 1.1.2.15: #i82877# small fixes 2008/02/22 14:23:59 fne 1.1.2.14: #i82877# fix for floating windows mk2 2008/02/22 08:22:40 fne 1.1.2.13: #i82877# fix for floating windows 2008/02/21 20:07:01 fne 1.1.2.12: #i82877# redesigned hittest 2008/02/21 10:46:25 obr 1.1.2.11: keep a reference on the currently focused object (needed for transient object like table cells) 2008/02/21 05:50:48 obr 1.1.2.10: keep reference to hitChild for transient objects 2008/02/19 19:29:38 obr 1.1.2.9: release only when using factory directly 2008/02/19 12:17:29 obr 1.1.2.8: fixed a bunch of memory leaks 2008/02/18 22:43:04 obr 1.1.2.7: simulate focus notifications for active descendant changed events 2008/02/18 06:08:55 obr 1.1.2.6: make sure the SalFrameView gets inserted to the wrapper repository early enough and make the listener objects own their wrappers 2008/02/15 07:55:40 obr 1.1.2.5: removed mpParent 2008/02/15 07:41:41 obr 1.1.2.4: objects now create a wrapper for their parent objects on demand 2008/02/12 15:40:01 fne 1.1.2.3: #i82877# support for the following text attributes: fontname, fontsize, bold, italic, underline 2008/02/10 08:27:41 fne 1.1.2.2: #i82877# fixes for text areas 2008/02/06 07:55:46 fne 1.1.2.1: #i82877# renamed cxx to mm
2008-04-15 12:13:46 +00:00
delete mpReferenceWrapper;
}
[ super dealloc ];
}
#pragma mark -
#pragma mark Utility Section
// generates selectors for attribute name AXAttributeNameHere
// (getter without parameter) attributeNameHereAttribute
// (getter with parameter) attributeNameHereAttributeForParameter:
// (setter) setAttributeNameHereAttributeForElement:to:
-(SEL)selectorForAttribute:(NSString *)attribute asGetter:(BOOL)asGetter withGetterParameter:(BOOL)withGetterParameter {
SEL selector = static_cast<SEL>(nil);
INTEGRATION: CWS aqua11y01 (1.1.2); FILE ADDED 2008/04/15 07:58:36 rt 1.1.2.19: Update license header to LGPL 3. 2008/02/28 14:58:26 fne 1.1.2.18: #i82877# fix: do not manually hit test lists 2008/02/28 11:40:22 fne 1.1.2.17: #i82877# corrected relations label_for and labeled_by 2008/02/26 11:31:01 fne 1.1.2.16: #i82877# linkedUIElements attribute and some small fixes 2008/02/25 11:46:14 fne 1.1.2.15: #i82877# small fixes 2008/02/22 14:23:59 fne 1.1.2.14: #i82877# fix for floating windows mk2 2008/02/22 08:22:40 fne 1.1.2.13: #i82877# fix for floating windows 2008/02/21 20:07:01 fne 1.1.2.12: #i82877# redesigned hittest 2008/02/21 10:46:25 obr 1.1.2.11: keep a reference on the currently focused object (needed for transient object like table cells) 2008/02/21 05:50:48 obr 1.1.2.10: keep reference to hitChild for transient objects 2008/02/19 19:29:38 obr 1.1.2.9: release only when using factory directly 2008/02/19 12:17:29 obr 1.1.2.8: fixed a bunch of memory leaks 2008/02/18 22:43:04 obr 1.1.2.7: simulate focus notifications for active descendant changed events 2008/02/18 06:08:55 obr 1.1.2.6: make sure the SalFrameView gets inserted to the wrapper repository early enough and make the listener objects own their wrappers 2008/02/15 07:55:40 obr 1.1.2.5: removed mpParent 2008/02/15 07:41:41 obr 1.1.2.4: objects now create a wrapper for their parent objects on demand 2008/02/12 15:40:01 fne 1.1.2.3: #i82877# support for the following text attributes: fontname, fontsize, bold, italic, underline 2008/02/10 08:27:41 fne 1.1.2.2: #i82877# fixes for text areas 2008/02/06 07:55:46 fne 1.1.2.1: #i82877# renamed cxx to mm
2008-04-15 12:13:46 +00:00
NSAutoreleasePool * pool = [ [ NSAutoreleasePool alloc ] init ];
@try {
// step 1: create method name from attribute name
NSMutableString * methodName = [ NSMutableString string ];
if ( ! asGetter ) {
[ methodName appendString: @"set" ];
}
2011-03-24 13:56:11 +01:00
NSRange aRange = { 2, 1 };
NSString * firstChar = [ attribute substringWithRange: aRange ]; // drop leading "AX" and get first char
INTEGRATION: CWS aqua11y01 (1.1.2); FILE ADDED 2008/04/15 07:58:36 rt 1.1.2.19: Update license header to LGPL 3. 2008/02/28 14:58:26 fne 1.1.2.18: #i82877# fix: do not manually hit test lists 2008/02/28 11:40:22 fne 1.1.2.17: #i82877# corrected relations label_for and labeled_by 2008/02/26 11:31:01 fne 1.1.2.16: #i82877# linkedUIElements attribute and some small fixes 2008/02/25 11:46:14 fne 1.1.2.15: #i82877# small fixes 2008/02/22 14:23:59 fne 1.1.2.14: #i82877# fix for floating windows mk2 2008/02/22 08:22:40 fne 1.1.2.13: #i82877# fix for floating windows 2008/02/21 20:07:01 fne 1.1.2.12: #i82877# redesigned hittest 2008/02/21 10:46:25 obr 1.1.2.11: keep a reference on the currently focused object (needed for transient object like table cells) 2008/02/21 05:50:48 obr 1.1.2.10: keep reference to hitChild for transient objects 2008/02/19 19:29:38 obr 1.1.2.9: release only when using factory directly 2008/02/19 12:17:29 obr 1.1.2.8: fixed a bunch of memory leaks 2008/02/18 22:43:04 obr 1.1.2.7: simulate focus notifications for active descendant changed events 2008/02/18 06:08:55 obr 1.1.2.6: make sure the SalFrameView gets inserted to the wrapper repository early enough and make the listener objects own their wrappers 2008/02/15 07:55:40 obr 1.1.2.5: removed mpParent 2008/02/15 07:41:41 obr 1.1.2.4: objects now create a wrapper for their parent objects on demand 2008/02/12 15:40:01 fne 1.1.2.3: #i82877# support for the following text attributes: fontname, fontsize, bold, italic, underline 2008/02/10 08:27:41 fne 1.1.2.2: #i82877# fixes for text areas 2008/02/06 07:55:46 fne 1.1.2.1: #i82877# renamed cxx to mm
2008-04-15 12:13:46 +00:00
if ( asGetter ) {
[ methodName appendString: [ firstChar lowercaseString ] ];
INTEGRATION: CWS aqua11y01 (1.1.2); FILE ADDED 2008/04/15 07:58:36 rt 1.1.2.19: Update license header to LGPL 3. 2008/02/28 14:58:26 fne 1.1.2.18: #i82877# fix: do not manually hit test lists 2008/02/28 11:40:22 fne 1.1.2.17: #i82877# corrected relations label_for and labeled_by 2008/02/26 11:31:01 fne 1.1.2.16: #i82877# linkedUIElements attribute and some small fixes 2008/02/25 11:46:14 fne 1.1.2.15: #i82877# small fixes 2008/02/22 14:23:59 fne 1.1.2.14: #i82877# fix for floating windows mk2 2008/02/22 08:22:40 fne 1.1.2.13: #i82877# fix for floating windows 2008/02/21 20:07:01 fne 1.1.2.12: #i82877# redesigned hittest 2008/02/21 10:46:25 obr 1.1.2.11: keep a reference on the currently focused object (needed for transient object like table cells) 2008/02/21 05:50:48 obr 1.1.2.10: keep reference to hitChild for transient objects 2008/02/19 19:29:38 obr 1.1.2.9: release only when using factory directly 2008/02/19 12:17:29 obr 1.1.2.8: fixed a bunch of memory leaks 2008/02/18 22:43:04 obr 1.1.2.7: simulate focus notifications for active descendant changed events 2008/02/18 06:08:55 obr 1.1.2.6: make sure the SalFrameView gets inserted to the wrapper repository early enough and make the listener objects own their wrappers 2008/02/15 07:55:40 obr 1.1.2.5: removed mpParent 2008/02/15 07:41:41 obr 1.1.2.4: objects now create a wrapper for their parent objects on demand 2008/02/12 15:40:01 fne 1.1.2.3: #i82877# support for the following text attributes: fontname, fontsize, bold, italic, underline 2008/02/10 08:27:41 fne 1.1.2.2: #i82877# fixes for text areas 2008/02/06 07:55:46 fne 1.1.2.1: #i82877# renamed cxx to mm
2008-04-15 12:13:46 +00:00
} else {
[ methodName appendString: firstChar ];
INTEGRATION: CWS aqua11y01 (1.1.2); FILE ADDED 2008/04/15 07:58:36 rt 1.1.2.19: Update license header to LGPL 3. 2008/02/28 14:58:26 fne 1.1.2.18: #i82877# fix: do not manually hit test lists 2008/02/28 11:40:22 fne 1.1.2.17: #i82877# corrected relations label_for and labeled_by 2008/02/26 11:31:01 fne 1.1.2.16: #i82877# linkedUIElements attribute and some small fixes 2008/02/25 11:46:14 fne 1.1.2.15: #i82877# small fixes 2008/02/22 14:23:59 fne 1.1.2.14: #i82877# fix for floating windows mk2 2008/02/22 08:22:40 fne 1.1.2.13: #i82877# fix for floating windows 2008/02/21 20:07:01 fne 1.1.2.12: #i82877# redesigned hittest 2008/02/21 10:46:25 obr 1.1.2.11: keep a reference on the currently focused object (needed for transient object like table cells) 2008/02/21 05:50:48 obr 1.1.2.10: keep reference to hitChild for transient objects 2008/02/19 19:29:38 obr 1.1.2.9: release only when using factory directly 2008/02/19 12:17:29 obr 1.1.2.8: fixed a bunch of memory leaks 2008/02/18 22:43:04 obr 1.1.2.7: simulate focus notifications for active descendant changed events 2008/02/18 06:08:55 obr 1.1.2.6: make sure the SalFrameView gets inserted to the wrapper repository early enough and make the listener objects own their wrappers 2008/02/15 07:55:40 obr 1.1.2.5: removed mpParent 2008/02/15 07:41:41 obr 1.1.2.4: objects now create a wrapper for their parent objects on demand 2008/02/12 15:40:01 fne 1.1.2.3: #i82877# support for the following text attributes: fontname, fontsize, bold, italic, underline 2008/02/10 08:27:41 fne 1.1.2.2: #i82877# fixes for text areas 2008/02/06 07:55:46 fne 1.1.2.1: #i82877# renamed cxx to mm
2008-04-15 12:13:46 +00:00
}
[ methodName appendString: [ attribute substringFromIndex: 3 ] ]; // append rest of attribute name
// append rest of method name
[ methodName appendString: @"Attribute" ];
if ( ! asGetter ) {
[ methodName appendString: @"ForElement:to:" ];
} else if ( asGetter && withGetterParameter ) {
[ methodName appendString: @"ForParameter:" ];
}
// step 2: create selector
selector = NSSelectorFromString ( methodName );
} @catch ( id exception ) {
selector = static_cast<SEL>(nil);
INTEGRATION: CWS aqua11y01 (1.1.2); FILE ADDED 2008/04/15 07:58:36 rt 1.1.2.19: Update license header to LGPL 3. 2008/02/28 14:58:26 fne 1.1.2.18: #i82877# fix: do not manually hit test lists 2008/02/28 11:40:22 fne 1.1.2.17: #i82877# corrected relations label_for and labeled_by 2008/02/26 11:31:01 fne 1.1.2.16: #i82877# linkedUIElements attribute and some small fixes 2008/02/25 11:46:14 fne 1.1.2.15: #i82877# small fixes 2008/02/22 14:23:59 fne 1.1.2.14: #i82877# fix for floating windows mk2 2008/02/22 08:22:40 fne 1.1.2.13: #i82877# fix for floating windows 2008/02/21 20:07:01 fne 1.1.2.12: #i82877# redesigned hittest 2008/02/21 10:46:25 obr 1.1.2.11: keep a reference on the currently focused object (needed for transient object like table cells) 2008/02/21 05:50:48 obr 1.1.2.10: keep reference to hitChild for transient objects 2008/02/19 19:29:38 obr 1.1.2.9: release only when using factory directly 2008/02/19 12:17:29 obr 1.1.2.8: fixed a bunch of memory leaks 2008/02/18 22:43:04 obr 1.1.2.7: simulate focus notifications for active descendant changed events 2008/02/18 06:08:55 obr 1.1.2.6: make sure the SalFrameView gets inserted to the wrapper repository early enough and make the listener objects own their wrappers 2008/02/15 07:55:40 obr 1.1.2.5: removed mpParent 2008/02/15 07:41:41 obr 1.1.2.4: objects now create a wrapper for their parent objects on demand 2008/02/12 15:40:01 fne 1.1.2.3: #i82877# support for the following text attributes: fontname, fontsize, bold, italic, underline 2008/02/10 08:27:41 fne 1.1.2.2: #i82877# fixes for text areas 2008/02/06 07:55:46 fne 1.1.2.1: #i82877# renamed cxx to mm
2008-04-15 12:13:46 +00:00
}
[ pool release ];
return selector;
}
-(Reference < XAccessible >)getFirstRadioButtonInGroup {
Reference < XAccessibleRelationSet > rxAccessibleRelationSet = [ self accessibleContext ] -> getAccessibleRelationSet();
if( rxAccessibleRelationSet.is() )
{
AccessibleRelation relationMemberOf = rxAccessibleRelationSet -> getRelationByType ( AccessibleRelationType::MEMBER_OF );
if ( relationMemberOf.RelationType == AccessibleRelationType::MEMBER_OF && relationMemberOf.TargetSet.hasElements() )
return Reference < XAccessible > ( relationMemberOf.TargetSet[0], UNO_QUERY );
}
return Reference < XAccessible > ();
}
-(BOOL)isFirstRadioButtonInGroup {
Reference < XAccessible > rFirstMateAccessible = [ self getFirstRadioButtonInGroup ];
if ( rFirstMateAccessible.is() && rFirstMateAccessible -> getAccessibleContext().get() == [ self accessibleContext ] ) {
return YES;
}
return NO;
}
INTEGRATION: CWS aqua11y01 (1.1.2); FILE ADDED 2008/04/15 07:58:36 rt 1.1.2.19: Update license header to LGPL 3. 2008/02/28 14:58:26 fne 1.1.2.18: #i82877# fix: do not manually hit test lists 2008/02/28 11:40:22 fne 1.1.2.17: #i82877# corrected relations label_for and labeled_by 2008/02/26 11:31:01 fne 1.1.2.16: #i82877# linkedUIElements attribute and some small fixes 2008/02/25 11:46:14 fne 1.1.2.15: #i82877# small fixes 2008/02/22 14:23:59 fne 1.1.2.14: #i82877# fix for floating windows mk2 2008/02/22 08:22:40 fne 1.1.2.13: #i82877# fix for floating windows 2008/02/21 20:07:01 fne 1.1.2.12: #i82877# redesigned hittest 2008/02/21 10:46:25 obr 1.1.2.11: keep a reference on the currently focused object (needed for transient object like table cells) 2008/02/21 05:50:48 obr 1.1.2.10: keep reference to hitChild for transient objects 2008/02/19 19:29:38 obr 1.1.2.9: release only when using factory directly 2008/02/19 12:17:29 obr 1.1.2.8: fixed a bunch of memory leaks 2008/02/18 22:43:04 obr 1.1.2.7: simulate focus notifications for active descendant changed events 2008/02/18 06:08:55 obr 1.1.2.6: make sure the SalFrameView gets inserted to the wrapper repository early enough and make the listener objects own their wrappers 2008/02/15 07:55:40 obr 1.1.2.5: removed mpParent 2008/02/15 07:41:41 obr 1.1.2.4: objects now create a wrapper for their parent objects on demand 2008/02/12 15:40:01 fne 1.1.2.3: #i82877# support for the following text attributes: fontname, fontsize, bold, italic, underline 2008/02/10 08:27:41 fne 1.1.2.2: #i82877# fixes for text areas 2008/02/06 07:55:46 fne 1.1.2.1: #i82877# renamed cxx to mm
2008-04-15 12:13:46 +00:00
#pragma mark -
#pragma mark Attribute Value Getters
// ( called via Reflection by accessibilityAttributeValue )
/*
Radiobutton grouping is done differently in NSAccessibility and the UNO-API. In UNO related radio buttons share an entry in their
RelationSet. In NSAccessibility the relationship is axpressed through the hierarchy. A AXRadioGroup contains two or more AXRadioButton
objects. Since this group is not available in the UNO hierarchy, an extra wrapper is used for it. This wrapper shares almost all
attributes with the first radio button of the group, except for the role, subrole, role description, parent and children attributes.
So in this five methods there is a special treatment for radio buttons and groups.
*/
INTEGRATION: CWS aqua11y01 (1.1.2); FILE ADDED 2008/04/15 07:58:36 rt 1.1.2.19: Update license header to LGPL 3. 2008/02/28 14:58:26 fne 1.1.2.18: #i82877# fix: do not manually hit test lists 2008/02/28 11:40:22 fne 1.1.2.17: #i82877# corrected relations label_for and labeled_by 2008/02/26 11:31:01 fne 1.1.2.16: #i82877# linkedUIElements attribute and some small fixes 2008/02/25 11:46:14 fne 1.1.2.15: #i82877# small fixes 2008/02/22 14:23:59 fne 1.1.2.14: #i82877# fix for floating windows mk2 2008/02/22 08:22:40 fne 1.1.2.13: #i82877# fix for floating windows 2008/02/21 20:07:01 fne 1.1.2.12: #i82877# redesigned hittest 2008/02/21 10:46:25 obr 1.1.2.11: keep a reference on the currently focused object (needed for transient object like table cells) 2008/02/21 05:50:48 obr 1.1.2.10: keep reference to hitChild for transient objects 2008/02/19 19:29:38 obr 1.1.2.9: release only when using factory directly 2008/02/19 12:17:29 obr 1.1.2.8: fixed a bunch of memory leaks 2008/02/18 22:43:04 obr 1.1.2.7: simulate focus notifications for active descendant changed events 2008/02/18 06:08:55 obr 1.1.2.6: make sure the SalFrameView gets inserted to the wrapper repository early enough and make the listener objects own their wrappers 2008/02/15 07:55:40 obr 1.1.2.5: removed mpParent 2008/02/15 07:41:41 obr 1.1.2.4: objects now create a wrapper for their parent objects on demand 2008/02/12 15:40:01 fne 1.1.2.3: #i82877# support for the following text attributes: fontname, fontsize, bold, italic, underline 2008/02/10 08:27:41 fne 1.1.2.2: #i82877# fixes for text areas 2008/02/06 07:55:46 fne 1.1.2.1: #i82877# renamed cxx to mm
2008-04-15 12:13:46 +00:00
-(id)roleAttribute {
if ( mActsAsRadioGroup ) {
return NSAccessibilityRadioGroupRole;
}
else {
return [ AquaA11yRoleHelper getNativeRoleFrom: [ self accessibleContext ] ];
}
INTEGRATION: CWS aqua11y01 (1.1.2); FILE ADDED 2008/04/15 07:58:36 rt 1.1.2.19: Update license header to LGPL 3. 2008/02/28 14:58:26 fne 1.1.2.18: #i82877# fix: do not manually hit test lists 2008/02/28 11:40:22 fne 1.1.2.17: #i82877# corrected relations label_for and labeled_by 2008/02/26 11:31:01 fne 1.1.2.16: #i82877# linkedUIElements attribute and some small fixes 2008/02/25 11:46:14 fne 1.1.2.15: #i82877# small fixes 2008/02/22 14:23:59 fne 1.1.2.14: #i82877# fix for floating windows mk2 2008/02/22 08:22:40 fne 1.1.2.13: #i82877# fix for floating windows 2008/02/21 20:07:01 fne 1.1.2.12: #i82877# redesigned hittest 2008/02/21 10:46:25 obr 1.1.2.11: keep a reference on the currently focused object (needed for transient object like table cells) 2008/02/21 05:50:48 obr 1.1.2.10: keep reference to hitChild for transient objects 2008/02/19 19:29:38 obr 1.1.2.9: release only when using factory directly 2008/02/19 12:17:29 obr 1.1.2.8: fixed a bunch of memory leaks 2008/02/18 22:43:04 obr 1.1.2.7: simulate focus notifications for active descendant changed events 2008/02/18 06:08:55 obr 1.1.2.6: make sure the SalFrameView gets inserted to the wrapper repository early enough and make the listener objects own their wrappers 2008/02/15 07:55:40 obr 1.1.2.5: removed mpParent 2008/02/15 07:41:41 obr 1.1.2.4: objects now create a wrapper for their parent objects on demand 2008/02/12 15:40:01 fne 1.1.2.3: #i82877# support for the following text attributes: fontname, fontsize, bold, italic, underline 2008/02/10 08:27:41 fne 1.1.2.2: #i82877# fixes for text areas 2008/02/06 07:55:46 fne 1.1.2.1: #i82877# renamed cxx to mm
2008-04-15 12:13:46 +00:00
}
-(id)subroleAttribute {
if ( mActsAsRadioGroup ) {
return @"";
INTEGRATION: CWS aqua11y01 (1.1.2); FILE ADDED 2008/04/15 07:58:36 rt 1.1.2.19: Update license header to LGPL 3. 2008/02/28 14:58:26 fne 1.1.2.18: #i82877# fix: do not manually hit test lists 2008/02/28 11:40:22 fne 1.1.2.17: #i82877# corrected relations label_for and labeled_by 2008/02/26 11:31:01 fne 1.1.2.16: #i82877# linkedUIElements attribute and some small fixes 2008/02/25 11:46:14 fne 1.1.2.15: #i82877# small fixes 2008/02/22 14:23:59 fne 1.1.2.14: #i82877# fix for floating windows mk2 2008/02/22 08:22:40 fne 1.1.2.13: #i82877# fix for floating windows 2008/02/21 20:07:01 fne 1.1.2.12: #i82877# redesigned hittest 2008/02/21 10:46:25 obr 1.1.2.11: keep a reference on the currently focused object (needed for transient object like table cells) 2008/02/21 05:50:48 obr 1.1.2.10: keep reference to hitChild for transient objects 2008/02/19 19:29:38 obr 1.1.2.9: release only when using factory directly 2008/02/19 12:17:29 obr 1.1.2.8: fixed a bunch of memory leaks 2008/02/18 22:43:04 obr 1.1.2.7: simulate focus notifications for active descendant changed events 2008/02/18 06:08:55 obr 1.1.2.6: make sure the SalFrameView gets inserted to the wrapper repository early enough and make the listener objects own their wrappers 2008/02/15 07:55:40 obr 1.1.2.5: removed mpParent 2008/02/15 07:41:41 obr 1.1.2.4: objects now create a wrapper for their parent objects on demand 2008/02/12 15:40:01 fne 1.1.2.3: #i82877# support for the following text attributes: fontname, fontsize, bold, italic, underline 2008/02/10 08:27:41 fne 1.1.2.2: #i82877# fixes for text areas 2008/02/06 07:55:46 fne 1.1.2.1: #i82877# renamed cxx to mm
2008-04-15 12:13:46 +00:00
} else {
NSString * subRole = [ AquaA11yRoleHelper getNativeSubroleFrom: [ self accessibleContext ] -> getAccessibleRole() ];
if ( ! [ subRole isEqualToString: @"" ] ) {
return subRole;
} else {
[ subRole release ];
SAL_WNODEPRECATED_DECLARATIONS_PUSH
//TODO: 10.10 accessibilityAttributeValue:
return [ super accessibilityAttributeValue: NSAccessibilitySubroleAttribute ];
SAL_WNODEPRECATED_DECLARATIONS_POP
}
INTEGRATION: CWS aqua11y01 (1.1.2); FILE ADDED 2008/04/15 07:58:36 rt 1.1.2.19: Update license header to LGPL 3. 2008/02/28 14:58:26 fne 1.1.2.18: #i82877# fix: do not manually hit test lists 2008/02/28 11:40:22 fne 1.1.2.17: #i82877# corrected relations label_for and labeled_by 2008/02/26 11:31:01 fne 1.1.2.16: #i82877# linkedUIElements attribute and some small fixes 2008/02/25 11:46:14 fne 1.1.2.15: #i82877# small fixes 2008/02/22 14:23:59 fne 1.1.2.14: #i82877# fix for floating windows mk2 2008/02/22 08:22:40 fne 1.1.2.13: #i82877# fix for floating windows 2008/02/21 20:07:01 fne 1.1.2.12: #i82877# redesigned hittest 2008/02/21 10:46:25 obr 1.1.2.11: keep a reference on the currently focused object (needed for transient object like table cells) 2008/02/21 05:50:48 obr 1.1.2.10: keep reference to hitChild for transient objects 2008/02/19 19:29:38 obr 1.1.2.9: release only when using factory directly 2008/02/19 12:17:29 obr 1.1.2.8: fixed a bunch of memory leaks 2008/02/18 22:43:04 obr 1.1.2.7: simulate focus notifications for active descendant changed events 2008/02/18 06:08:55 obr 1.1.2.6: make sure the SalFrameView gets inserted to the wrapper repository early enough and make the listener objects own their wrappers 2008/02/15 07:55:40 obr 1.1.2.5: removed mpParent 2008/02/15 07:41:41 obr 1.1.2.4: objects now create a wrapper for their parent objects on demand 2008/02/12 15:40:01 fne 1.1.2.3: #i82877# support for the following text attributes: fontname, fontsize, bold, italic, underline 2008/02/10 08:27:41 fne 1.1.2.2: #i82877# fixes for text areas 2008/02/06 07:55:46 fne 1.1.2.1: #i82877# renamed cxx to mm
2008-04-15 12:13:46 +00:00
}
}
-(id)titleAttribute {
return CreateNSString ( [ self accessibleContext ] -> getAccessibleName() );
}
-(id)descriptionAttribute {
if ( [ self accessibleContext ] -> getAccessibleRole() == AccessibleRole::COMBO_BOX ) {
return [ self titleAttribute ];
} else if ( [ self accessibleExtendedComponent ] ) {
INTEGRATION: CWS aqua11y01 (1.1.2); FILE ADDED 2008/04/15 07:58:36 rt 1.1.2.19: Update license header to LGPL 3. 2008/02/28 14:58:26 fne 1.1.2.18: #i82877# fix: do not manually hit test lists 2008/02/28 11:40:22 fne 1.1.2.17: #i82877# corrected relations label_for and labeled_by 2008/02/26 11:31:01 fne 1.1.2.16: #i82877# linkedUIElements attribute and some small fixes 2008/02/25 11:46:14 fne 1.1.2.15: #i82877# small fixes 2008/02/22 14:23:59 fne 1.1.2.14: #i82877# fix for floating windows mk2 2008/02/22 08:22:40 fne 1.1.2.13: #i82877# fix for floating windows 2008/02/21 20:07:01 fne 1.1.2.12: #i82877# redesigned hittest 2008/02/21 10:46:25 obr 1.1.2.11: keep a reference on the currently focused object (needed for transient object like table cells) 2008/02/21 05:50:48 obr 1.1.2.10: keep reference to hitChild for transient objects 2008/02/19 19:29:38 obr 1.1.2.9: release only when using factory directly 2008/02/19 12:17:29 obr 1.1.2.8: fixed a bunch of memory leaks 2008/02/18 22:43:04 obr 1.1.2.7: simulate focus notifications for active descendant changed events 2008/02/18 06:08:55 obr 1.1.2.6: make sure the SalFrameView gets inserted to the wrapper repository early enough and make the listener objects own their wrappers 2008/02/15 07:55:40 obr 1.1.2.5: removed mpParent 2008/02/15 07:41:41 obr 1.1.2.4: objects now create a wrapper for their parent objects on demand 2008/02/12 15:40:01 fne 1.1.2.3: #i82877# support for the following text attributes: fontname, fontsize, bold, italic, underline 2008/02/10 08:27:41 fne 1.1.2.2: #i82877# fixes for text areas 2008/02/06 07:55:46 fne 1.1.2.1: #i82877# renamed cxx to mm
2008-04-15 12:13:46 +00:00
return [ AquaA11yComponentWrapper descriptionAttributeForElement: self ];
} else {
return CreateNSString ( [ self accessibleContext ] -> getAccessibleDescription() );
}
}
-(id)enabledAttribute {
if ( [ self accessibleContext ] -> getAccessibleStateSet().is() ) {
return [ NSNumber numberWithBool: [ self accessibleContext ] -> getAccessibleStateSet() -> contains ( AccessibleStateType::ENABLED ) ];
} else {
return nil;
}
}
-(id)focusedAttribute {
if ( [ self accessibleContext ] -> getAccessibleRole() == AccessibleRole::COMBO_BOX ) {
id isFocused = nil;
Reference < XAccessible > rxParent = [ self accessibleContext ] -> getAccessibleParent();
if ( rxParent.is() ) {
Reference < XAccessibleContext > rxContext = rxParent -> getAccessibleContext();
if ( rxContext.is() && rxContext -> getAccessibleStateSet().is() ) {
isFocused = [ NSNumber numberWithBool: rxContext -> getAccessibleStateSet() -> contains ( AccessibleStateType::FOCUSED ) ];
}
}
return isFocused;
} else if ( [ self accessibleContext ] -> getAccessibleStateSet().is() ) {
INTEGRATION: CWS aqua11y01 (1.1.2); FILE ADDED 2008/04/15 07:58:36 rt 1.1.2.19: Update license header to LGPL 3. 2008/02/28 14:58:26 fne 1.1.2.18: #i82877# fix: do not manually hit test lists 2008/02/28 11:40:22 fne 1.1.2.17: #i82877# corrected relations label_for and labeled_by 2008/02/26 11:31:01 fne 1.1.2.16: #i82877# linkedUIElements attribute and some small fixes 2008/02/25 11:46:14 fne 1.1.2.15: #i82877# small fixes 2008/02/22 14:23:59 fne 1.1.2.14: #i82877# fix for floating windows mk2 2008/02/22 08:22:40 fne 1.1.2.13: #i82877# fix for floating windows 2008/02/21 20:07:01 fne 1.1.2.12: #i82877# redesigned hittest 2008/02/21 10:46:25 obr 1.1.2.11: keep a reference on the currently focused object (needed for transient object like table cells) 2008/02/21 05:50:48 obr 1.1.2.10: keep reference to hitChild for transient objects 2008/02/19 19:29:38 obr 1.1.2.9: release only when using factory directly 2008/02/19 12:17:29 obr 1.1.2.8: fixed a bunch of memory leaks 2008/02/18 22:43:04 obr 1.1.2.7: simulate focus notifications for active descendant changed events 2008/02/18 06:08:55 obr 1.1.2.6: make sure the SalFrameView gets inserted to the wrapper repository early enough and make the listener objects own their wrappers 2008/02/15 07:55:40 obr 1.1.2.5: removed mpParent 2008/02/15 07:41:41 obr 1.1.2.4: objects now create a wrapper for their parent objects on demand 2008/02/12 15:40:01 fne 1.1.2.3: #i82877# support for the following text attributes: fontname, fontsize, bold, italic, underline 2008/02/10 08:27:41 fne 1.1.2.2: #i82877# fixes for text areas 2008/02/06 07:55:46 fne 1.1.2.1: #i82877# renamed cxx to mm
2008-04-15 12:13:46 +00:00
return [ NSNumber numberWithBool: [ self accessibleContext ] -> getAccessibleStateSet() -> contains ( AccessibleStateType::FOCUSED ) ];
} else {
return nil;
}
}
-(id)parentAttribute {
if ( [ self accessibleContext ] -> getAccessibleRole() == AccessibleRole::RADIO_BUTTON && ! mActsAsRadioGroup ) {
Reference < XAccessible > rxAccessible = [ self getFirstRadioButtonInGroup ];
if ( rxAccessible.is() && rxAccessible -> getAccessibleContext().is() ) {
Reference < XAccessibleContext > rxAccessibleContext = rxAccessible -> getAccessibleContext();
id parent_wrapper = [ AquaA11yFactory wrapperForAccessibleContext: rxAccessibleContext createIfNotExists: YES asRadioGroup: YES ];
[ parent_wrapper autorelease ];
return NSAccessibilityUnignoredAncestor( parent_wrapper );
}
return nil;
}
INTEGRATION: CWS aqua11y01 (1.1.2); FILE ADDED 2008/04/15 07:58:36 rt 1.1.2.19: Update license header to LGPL 3. 2008/02/28 14:58:26 fne 1.1.2.18: #i82877# fix: do not manually hit test lists 2008/02/28 11:40:22 fne 1.1.2.17: #i82877# corrected relations label_for and labeled_by 2008/02/26 11:31:01 fne 1.1.2.16: #i82877# linkedUIElements attribute and some small fixes 2008/02/25 11:46:14 fne 1.1.2.15: #i82877# small fixes 2008/02/22 14:23:59 fne 1.1.2.14: #i82877# fix for floating windows mk2 2008/02/22 08:22:40 fne 1.1.2.13: #i82877# fix for floating windows 2008/02/21 20:07:01 fne 1.1.2.12: #i82877# redesigned hittest 2008/02/21 10:46:25 obr 1.1.2.11: keep a reference on the currently focused object (needed for transient object like table cells) 2008/02/21 05:50:48 obr 1.1.2.10: keep reference to hitChild for transient objects 2008/02/19 19:29:38 obr 1.1.2.9: release only when using factory directly 2008/02/19 12:17:29 obr 1.1.2.8: fixed a bunch of memory leaks 2008/02/18 22:43:04 obr 1.1.2.7: simulate focus notifications for active descendant changed events 2008/02/18 06:08:55 obr 1.1.2.6: make sure the SalFrameView gets inserted to the wrapper repository early enough and make the listener objects own their wrappers 2008/02/15 07:55:40 obr 1.1.2.5: removed mpParent 2008/02/15 07:41:41 obr 1.1.2.4: objects now create a wrapper for their parent objects on demand 2008/02/12 15:40:01 fne 1.1.2.3: #i82877# support for the following text attributes: fontname, fontsize, bold, italic, underline 2008/02/10 08:27:41 fne 1.1.2.2: #i82877# fixes for text areas 2008/02/06 07:55:46 fne 1.1.2.1: #i82877# renamed cxx to mm
2008-04-15 12:13:46 +00:00
try {
Reference< XAccessible > xParent( [ self accessibleContext ] -> getAccessibleParent() );
if ( xParent.is() ) {
Reference< XAccessibleContext > xContext( xParent -> getAccessibleContext() );
if ( xContext.is() ) {
id parent_wrapper = [ AquaA11yFactory wrapperForAccessibleContext: xContext ];
[ parent_wrapper autorelease ];
return NSAccessibilityUnignoredAncestor( parent_wrapper );
}
}
} catch (const Exception&) {
}
OSL_ASSERT( false );
INTEGRATION: CWS aqua11y01 (1.1.2); FILE ADDED 2008/04/15 07:58:36 rt 1.1.2.19: Update license header to LGPL 3. 2008/02/28 14:58:26 fne 1.1.2.18: #i82877# fix: do not manually hit test lists 2008/02/28 11:40:22 fne 1.1.2.17: #i82877# corrected relations label_for and labeled_by 2008/02/26 11:31:01 fne 1.1.2.16: #i82877# linkedUIElements attribute and some small fixes 2008/02/25 11:46:14 fne 1.1.2.15: #i82877# small fixes 2008/02/22 14:23:59 fne 1.1.2.14: #i82877# fix for floating windows mk2 2008/02/22 08:22:40 fne 1.1.2.13: #i82877# fix for floating windows 2008/02/21 20:07:01 fne 1.1.2.12: #i82877# redesigned hittest 2008/02/21 10:46:25 obr 1.1.2.11: keep a reference on the currently focused object (needed for transient object like table cells) 2008/02/21 05:50:48 obr 1.1.2.10: keep reference to hitChild for transient objects 2008/02/19 19:29:38 obr 1.1.2.9: release only when using factory directly 2008/02/19 12:17:29 obr 1.1.2.8: fixed a bunch of memory leaks 2008/02/18 22:43:04 obr 1.1.2.7: simulate focus notifications for active descendant changed events 2008/02/18 06:08:55 obr 1.1.2.6: make sure the SalFrameView gets inserted to the wrapper repository early enough and make the listener objects own their wrappers 2008/02/15 07:55:40 obr 1.1.2.5: removed mpParent 2008/02/15 07:41:41 obr 1.1.2.4: objects now create a wrapper for their parent objects on demand 2008/02/12 15:40:01 fne 1.1.2.3: #i82877# support for the following text attributes: fontname, fontsize, bold, italic, underline 2008/02/10 08:27:41 fne 1.1.2.2: #i82877# fixes for text areas 2008/02/06 07:55:46 fne 1.1.2.1: #i82877# renamed cxx to mm
2008-04-15 12:13:46 +00:00
return nil;
}
-(id)childrenAttribute {
if ( mActsAsRadioGroup ) {
NSMutableArray * children = [ [ NSMutableArray alloc ] init ];
Reference < XAccessibleRelationSet > rxAccessibleRelationSet = [ self accessibleContext ] -> getAccessibleRelationSet();
AccessibleRelation relationMemberOf = rxAccessibleRelationSet -> getRelationByType ( AccessibleRelationType::MEMBER_OF );
if ( relationMemberOf.RelationType == AccessibleRelationType::MEMBER_OF && relationMemberOf.TargetSet.hasElements() ) {
for ( int index = 0; index < relationMemberOf.TargetSet.getLength(); index++ ) {
Reference < XAccessible > rMateAccessible = Reference < XAccessible > ( relationMemberOf.TargetSet[index], UNO_QUERY );
if ( rMateAccessible.is() ) {
Reference< XAccessibleContext > rMateAccessibleContext( rMateAccessible -> getAccessibleContext() );
if ( rMateAccessibleContext.is() ) {
id wrapper = [ AquaA11yFactory wrapperForAccessibleContext: rMateAccessibleContext ];
[ children addObject: wrapper ];
[ wrapper release ];
}
}
}
}
return children;
} else if ( [ self accessibleTable ] )
{
AquaA11yTableWrapper* pTable = [self isKindOfClass: [AquaA11yTableWrapper class]] ? (AquaA11yTableWrapper*)self : nil;
return [ AquaA11yTableWrapper childrenAttributeForElement: pTable ];
INTEGRATION: CWS aqua11y01 (1.1.2); FILE ADDED 2008/04/15 07:58:36 rt 1.1.2.19: Update license header to LGPL 3. 2008/02/28 14:58:26 fne 1.1.2.18: #i82877# fix: do not manually hit test lists 2008/02/28 11:40:22 fne 1.1.2.17: #i82877# corrected relations label_for and labeled_by 2008/02/26 11:31:01 fne 1.1.2.16: #i82877# linkedUIElements attribute and some small fixes 2008/02/25 11:46:14 fne 1.1.2.15: #i82877# small fixes 2008/02/22 14:23:59 fne 1.1.2.14: #i82877# fix for floating windows mk2 2008/02/22 08:22:40 fne 1.1.2.13: #i82877# fix for floating windows 2008/02/21 20:07:01 fne 1.1.2.12: #i82877# redesigned hittest 2008/02/21 10:46:25 obr 1.1.2.11: keep a reference on the currently focused object (needed for transient object like table cells) 2008/02/21 05:50:48 obr 1.1.2.10: keep reference to hitChild for transient objects 2008/02/19 19:29:38 obr 1.1.2.9: release only when using factory directly 2008/02/19 12:17:29 obr 1.1.2.8: fixed a bunch of memory leaks 2008/02/18 22:43:04 obr 1.1.2.7: simulate focus notifications for active descendant changed events 2008/02/18 06:08:55 obr 1.1.2.6: make sure the SalFrameView gets inserted to the wrapper repository early enough and make the listener objects own their wrappers 2008/02/15 07:55:40 obr 1.1.2.5: removed mpParent 2008/02/15 07:41:41 obr 1.1.2.4: objects now create a wrapper for their parent objects on demand 2008/02/12 15:40:01 fne 1.1.2.3: #i82877# support for the following text attributes: fontname, fontsize, bold, italic, underline 2008/02/10 08:27:41 fne 1.1.2.2: #i82877# fixes for text areas 2008/02/06 07:55:46 fne 1.1.2.1: #i82877# renamed cxx to mm
2008-04-15 12:13:46 +00:00
} else {
try {
NSMutableArray * children = [ [ NSMutableArray alloc ] init ];
Reference< XAccessibleContext > xContext( [ self accessibleContext ] );
INTEGRATION: CWS aqua11y01 (1.1.2); FILE ADDED 2008/04/15 07:58:36 rt 1.1.2.19: Update license header to LGPL 3. 2008/02/28 14:58:26 fne 1.1.2.18: #i82877# fix: do not manually hit test lists 2008/02/28 11:40:22 fne 1.1.2.17: #i82877# corrected relations label_for and labeled_by 2008/02/26 11:31:01 fne 1.1.2.16: #i82877# linkedUIElements attribute and some small fixes 2008/02/25 11:46:14 fne 1.1.2.15: #i82877# small fixes 2008/02/22 14:23:59 fne 1.1.2.14: #i82877# fix for floating windows mk2 2008/02/22 08:22:40 fne 1.1.2.13: #i82877# fix for floating windows 2008/02/21 20:07:01 fne 1.1.2.12: #i82877# redesigned hittest 2008/02/21 10:46:25 obr 1.1.2.11: keep a reference on the currently focused object (needed for transient object like table cells) 2008/02/21 05:50:48 obr 1.1.2.10: keep reference to hitChild for transient objects 2008/02/19 19:29:38 obr 1.1.2.9: release only when using factory directly 2008/02/19 12:17:29 obr 1.1.2.8: fixed a bunch of memory leaks 2008/02/18 22:43:04 obr 1.1.2.7: simulate focus notifications for active descendant changed events 2008/02/18 06:08:55 obr 1.1.2.6: make sure the SalFrameView gets inserted to the wrapper repository early enough and make the listener objects own their wrappers 2008/02/15 07:55:40 obr 1.1.2.5: removed mpParent 2008/02/15 07:41:41 obr 1.1.2.4: objects now create a wrapper for their parent objects on demand 2008/02/12 15:40:01 fne 1.1.2.3: #i82877# support for the following text attributes: fontname, fontsize, bold, italic, underline 2008/02/10 08:27:41 fne 1.1.2.2: #i82877# fixes for text areas 2008/02/06 07:55:46 fne 1.1.2.1: #i82877# renamed cxx to mm
2008-04-15 12:13:46 +00:00
sal_Int32 cnt = xContext -> getAccessibleChildCount();
for ( sal_Int32 i = 0; i < cnt; i++ ) {
Reference< XAccessible > xChild( xContext -> getAccessibleChild( i ) );
if( xChild.is() ) {
Reference< XAccessibleContext > xChildContext( xChild -> getAccessibleContext() );
// the menubar is already accessible (including Apple- and Application-Menu) through NSApplication => omit it here
if ( xChildContext.is() && AccessibleRole::MENU_BAR != xChildContext -> getAccessibleRole() ) {
id wrapper = [ AquaA11yFactory wrapperForAccessibleContext: xChildContext ];
[ children addObject: wrapper ];
[ wrapper release ];
}
}
}
// if not already acting as RadioGroup now is the time to replace RadioButtons with RadioGroups and remove RadioButtons
if ( ! mActsAsRadioGroup ) {
NSEnumerator * enumerator = [ children objectEnumerator ];
AquaA11yWrapper * element;
while ( ( element = ( (AquaA11yWrapper *) [ enumerator nextObject ] ) ) ) {
if ( [ element accessibleContext ] -> getAccessibleRole() == AccessibleRole::RADIO_BUTTON ) {
if ( [ element isFirstRadioButtonInGroup ] ) {
id wrapper = [ AquaA11yFactory wrapperForAccessibleContext: [ element accessibleContext ] createIfNotExists: YES asRadioGroup: YES ];
[ children replaceObjectAtIndex: [ children indexOfObjectIdenticalTo: element ] withObject: wrapper ];
}
[ children removeObject: element ];
}
}
}
INTEGRATION: CWS aqua11y01 (1.1.2); FILE ADDED 2008/04/15 07:58:36 rt 1.1.2.19: Update license header to LGPL 3. 2008/02/28 14:58:26 fne 1.1.2.18: #i82877# fix: do not manually hit test lists 2008/02/28 11:40:22 fne 1.1.2.17: #i82877# corrected relations label_for and labeled_by 2008/02/26 11:31:01 fne 1.1.2.16: #i82877# linkedUIElements attribute and some small fixes 2008/02/25 11:46:14 fne 1.1.2.15: #i82877# small fixes 2008/02/22 14:23:59 fne 1.1.2.14: #i82877# fix for floating windows mk2 2008/02/22 08:22:40 fne 1.1.2.13: #i82877# fix for floating windows 2008/02/21 20:07:01 fne 1.1.2.12: #i82877# redesigned hittest 2008/02/21 10:46:25 obr 1.1.2.11: keep a reference on the currently focused object (needed for transient object like table cells) 2008/02/21 05:50:48 obr 1.1.2.10: keep reference to hitChild for transient objects 2008/02/19 19:29:38 obr 1.1.2.9: release only when using factory directly 2008/02/19 12:17:29 obr 1.1.2.8: fixed a bunch of memory leaks 2008/02/18 22:43:04 obr 1.1.2.7: simulate focus notifications for active descendant changed events 2008/02/18 06:08:55 obr 1.1.2.6: make sure the SalFrameView gets inserted to the wrapper repository early enough and make the listener objects own their wrappers 2008/02/15 07:55:40 obr 1.1.2.5: removed mpParent 2008/02/15 07:41:41 obr 1.1.2.4: objects now create a wrapper for their parent objects on demand 2008/02/12 15:40:01 fne 1.1.2.3: #i82877# support for the following text attributes: fontname, fontsize, bold, italic, underline 2008/02/10 08:27:41 fne 1.1.2.2: #i82877# fixes for text areas 2008/02/06 07:55:46 fne 1.1.2.1: #i82877# renamed cxx to mm
2008-04-15 12:13:46 +00:00
[ children autorelease ];
return NSAccessibilityUnignoredChildren( children );
} catch (const Exception &e) {
// TODO: Log
return nil;
}
}
}
-(id)windowAttribute {
// go upstairs until reaching the broken connection
AquaA11yWrapper * aWrapper = self;
int loops = 0;
INTEGRATION: CWS aqua11y01 (1.1.2); FILE ADDED 2008/04/15 07:58:36 rt 1.1.2.19: Update license header to LGPL 3. 2008/02/28 14:58:26 fne 1.1.2.18: #i82877# fix: do not manually hit test lists 2008/02/28 11:40:22 fne 1.1.2.17: #i82877# corrected relations label_for and labeled_by 2008/02/26 11:31:01 fne 1.1.2.16: #i82877# linkedUIElements attribute and some small fixes 2008/02/25 11:46:14 fne 1.1.2.15: #i82877# small fixes 2008/02/22 14:23:59 fne 1.1.2.14: #i82877# fix for floating windows mk2 2008/02/22 08:22:40 fne 1.1.2.13: #i82877# fix for floating windows 2008/02/21 20:07:01 fne 1.1.2.12: #i82877# redesigned hittest 2008/02/21 10:46:25 obr 1.1.2.11: keep a reference on the currently focused object (needed for transient object like table cells) 2008/02/21 05:50:48 obr 1.1.2.10: keep reference to hitChild for transient objects 2008/02/19 19:29:38 obr 1.1.2.9: release only when using factory directly 2008/02/19 12:17:29 obr 1.1.2.8: fixed a bunch of memory leaks 2008/02/18 22:43:04 obr 1.1.2.7: simulate focus notifications for active descendant changed events 2008/02/18 06:08:55 obr 1.1.2.6: make sure the SalFrameView gets inserted to the wrapper repository early enough and make the listener objects own their wrappers 2008/02/15 07:55:40 obr 1.1.2.5: removed mpParent 2008/02/15 07:41:41 obr 1.1.2.4: objects now create a wrapper for their parent objects on demand 2008/02/12 15:40:01 fne 1.1.2.3: #i82877# support for the following text attributes: fontname, fontsize, bold, italic, underline 2008/02/10 08:27:41 fne 1.1.2.2: #i82877# fixes for text areas 2008/02/06 07:55:46 fne 1.1.2.1: #i82877# renamed cxx to mm
2008-04-15 12:13:46 +00:00
while ( [ aWrapper accessibleContext ] -> getAccessibleParent().is() ) {
AquaA11yWrapper *aTentativeParentWrapper = [ AquaA11yFactory wrapperForAccessibleContext: [ aWrapper accessibleContext ] -> getAccessibleParent() -> getAccessibleContext() ];
// Quick-and-dirty fix for infinite loop after fixing crash in
// fdo#47275
if ( aTentativeParentWrapper == aWrapper )
break;
// Even dirtier fix for infinite loop in fdo#55156
if ( loops++ == 100 )
break;
aWrapper = aTentativeParentWrapper;
INTEGRATION: CWS aqua11y01 (1.1.2); FILE ADDED 2008/04/15 07:58:36 rt 1.1.2.19: Update license header to LGPL 3. 2008/02/28 14:58:26 fne 1.1.2.18: #i82877# fix: do not manually hit test lists 2008/02/28 11:40:22 fne 1.1.2.17: #i82877# corrected relations label_for and labeled_by 2008/02/26 11:31:01 fne 1.1.2.16: #i82877# linkedUIElements attribute and some small fixes 2008/02/25 11:46:14 fne 1.1.2.15: #i82877# small fixes 2008/02/22 14:23:59 fne 1.1.2.14: #i82877# fix for floating windows mk2 2008/02/22 08:22:40 fne 1.1.2.13: #i82877# fix for floating windows 2008/02/21 20:07:01 fne 1.1.2.12: #i82877# redesigned hittest 2008/02/21 10:46:25 obr 1.1.2.11: keep a reference on the currently focused object (needed for transient object like table cells) 2008/02/21 05:50:48 obr 1.1.2.10: keep reference to hitChild for transient objects 2008/02/19 19:29:38 obr 1.1.2.9: release only when using factory directly 2008/02/19 12:17:29 obr 1.1.2.8: fixed a bunch of memory leaks 2008/02/18 22:43:04 obr 1.1.2.7: simulate focus notifications for active descendant changed events 2008/02/18 06:08:55 obr 1.1.2.6: make sure the SalFrameView gets inserted to the wrapper repository early enough and make the listener objects own their wrappers 2008/02/15 07:55:40 obr 1.1.2.5: removed mpParent 2008/02/15 07:41:41 obr 1.1.2.4: objects now create a wrapper for their parent objects on demand 2008/02/12 15:40:01 fne 1.1.2.3: #i82877# support for the following text attributes: fontname, fontsize, bold, italic, underline 2008/02/10 08:27:41 fne 1.1.2.2: #i82877# fixes for text areas 2008/02/06 07:55:46 fne 1.1.2.1: #i82877# renamed cxx to mm
2008-04-15 12:13:46 +00:00
[ aWrapper autorelease ];
}
// get associated NSWindow
NSWindow* theWindow = [ aWrapper windowForParent ];
return theWindow;
INTEGRATION: CWS aqua11y01 (1.1.2); FILE ADDED 2008/04/15 07:58:36 rt 1.1.2.19: Update license header to LGPL 3. 2008/02/28 14:58:26 fne 1.1.2.18: #i82877# fix: do not manually hit test lists 2008/02/28 11:40:22 fne 1.1.2.17: #i82877# corrected relations label_for and labeled_by 2008/02/26 11:31:01 fne 1.1.2.16: #i82877# linkedUIElements attribute and some small fixes 2008/02/25 11:46:14 fne 1.1.2.15: #i82877# small fixes 2008/02/22 14:23:59 fne 1.1.2.14: #i82877# fix for floating windows mk2 2008/02/22 08:22:40 fne 1.1.2.13: #i82877# fix for floating windows 2008/02/21 20:07:01 fne 1.1.2.12: #i82877# redesigned hittest 2008/02/21 10:46:25 obr 1.1.2.11: keep a reference on the currently focused object (needed for transient object like table cells) 2008/02/21 05:50:48 obr 1.1.2.10: keep reference to hitChild for transient objects 2008/02/19 19:29:38 obr 1.1.2.9: release only when using factory directly 2008/02/19 12:17:29 obr 1.1.2.8: fixed a bunch of memory leaks 2008/02/18 22:43:04 obr 1.1.2.7: simulate focus notifications for active descendant changed events 2008/02/18 06:08:55 obr 1.1.2.6: make sure the SalFrameView gets inserted to the wrapper repository early enough and make the listener objects own their wrappers 2008/02/15 07:55:40 obr 1.1.2.5: removed mpParent 2008/02/15 07:41:41 obr 1.1.2.4: objects now create a wrapper for their parent objects on demand 2008/02/12 15:40:01 fne 1.1.2.3: #i82877# support for the following text attributes: fontname, fontsize, bold, italic, underline 2008/02/10 08:27:41 fne 1.1.2.2: #i82877# fixes for text areas 2008/02/06 07:55:46 fne 1.1.2.1: #i82877# renamed cxx to mm
2008-04-15 12:13:46 +00:00
}
-(id)topLevelUIElementAttribute {
return [ self windowAttribute ];
}
-(id)sizeAttribute {
if ( [ self accessibleComponent ] ) {
INTEGRATION: CWS aqua11y01 (1.1.2); FILE ADDED 2008/04/15 07:58:36 rt 1.1.2.19: Update license header to LGPL 3. 2008/02/28 14:58:26 fne 1.1.2.18: #i82877# fix: do not manually hit test lists 2008/02/28 11:40:22 fne 1.1.2.17: #i82877# corrected relations label_for and labeled_by 2008/02/26 11:31:01 fne 1.1.2.16: #i82877# linkedUIElements attribute and some small fixes 2008/02/25 11:46:14 fne 1.1.2.15: #i82877# small fixes 2008/02/22 14:23:59 fne 1.1.2.14: #i82877# fix for floating windows mk2 2008/02/22 08:22:40 fne 1.1.2.13: #i82877# fix for floating windows 2008/02/21 20:07:01 fne 1.1.2.12: #i82877# redesigned hittest 2008/02/21 10:46:25 obr 1.1.2.11: keep a reference on the currently focused object (needed for transient object like table cells) 2008/02/21 05:50:48 obr 1.1.2.10: keep reference to hitChild for transient objects 2008/02/19 19:29:38 obr 1.1.2.9: release only when using factory directly 2008/02/19 12:17:29 obr 1.1.2.8: fixed a bunch of memory leaks 2008/02/18 22:43:04 obr 1.1.2.7: simulate focus notifications for active descendant changed events 2008/02/18 06:08:55 obr 1.1.2.6: make sure the SalFrameView gets inserted to the wrapper repository early enough and make the listener objects own their wrappers 2008/02/15 07:55:40 obr 1.1.2.5: removed mpParent 2008/02/15 07:41:41 obr 1.1.2.4: objects now create a wrapper for their parent objects on demand 2008/02/12 15:40:01 fne 1.1.2.3: #i82877# support for the following text attributes: fontname, fontsize, bold, italic, underline 2008/02/10 08:27:41 fne 1.1.2.2: #i82877# fixes for text areas 2008/02/06 07:55:46 fne 1.1.2.1: #i82877# renamed cxx to mm
2008-04-15 12:13:46 +00:00
return [ AquaA11yComponentWrapper sizeAttributeForElement: self ];
} else {
return nil;
}
}
-(id)positionAttribute {
if ( [ self accessibleComponent ] ) {
INTEGRATION: CWS aqua11y01 (1.1.2); FILE ADDED 2008/04/15 07:58:36 rt 1.1.2.19: Update license header to LGPL 3. 2008/02/28 14:58:26 fne 1.1.2.18: #i82877# fix: do not manually hit test lists 2008/02/28 11:40:22 fne 1.1.2.17: #i82877# corrected relations label_for and labeled_by 2008/02/26 11:31:01 fne 1.1.2.16: #i82877# linkedUIElements attribute and some small fixes 2008/02/25 11:46:14 fne 1.1.2.15: #i82877# small fixes 2008/02/22 14:23:59 fne 1.1.2.14: #i82877# fix for floating windows mk2 2008/02/22 08:22:40 fne 1.1.2.13: #i82877# fix for floating windows 2008/02/21 20:07:01 fne 1.1.2.12: #i82877# redesigned hittest 2008/02/21 10:46:25 obr 1.1.2.11: keep a reference on the currently focused object (needed for transient object like table cells) 2008/02/21 05:50:48 obr 1.1.2.10: keep reference to hitChild for transient objects 2008/02/19 19:29:38 obr 1.1.2.9: release only when using factory directly 2008/02/19 12:17:29 obr 1.1.2.8: fixed a bunch of memory leaks 2008/02/18 22:43:04 obr 1.1.2.7: simulate focus notifications for active descendant changed events 2008/02/18 06:08:55 obr 1.1.2.6: make sure the SalFrameView gets inserted to the wrapper repository early enough and make the listener objects own their wrappers 2008/02/15 07:55:40 obr 1.1.2.5: removed mpParent 2008/02/15 07:41:41 obr 1.1.2.4: objects now create a wrapper for their parent objects on demand 2008/02/12 15:40:01 fne 1.1.2.3: #i82877# support for the following text attributes: fontname, fontsize, bold, italic, underline 2008/02/10 08:27:41 fne 1.1.2.2: #i82877# fixes for text areas 2008/02/06 07:55:46 fne 1.1.2.1: #i82877# renamed cxx to mm
2008-04-15 12:13:46 +00:00
return [ AquaA11yComponentWrapper positionAttributeForElement: self ];
} else {
return nil;
}
}
-(id)helpAttribute {
return CreateNSString ( [ self accessibleContext ] -> getAccessibleDescription() );
}
-(id)roleDescriptionAttribute {
if ( mActsAsRadioGroup ) {
return [ AquaA11yRoleHelper getRoleDescriptionFrom: NSAccessibilityRadioGroupRole with: @"" ];
} else if( [ self accessibleContext ] -> getAccessibleRole() == AccessibleRole::RADIO_BUTTON ) {
// FIXME: VO should read this because of hierarchy, this is just a workaround
// get parent and its children
AquaA11yWrapper * parent = [ self parentAttribute ];
NSArray * children = [ parent childrenAttribute ];
// find index of self
int index = 1;
NSEnumerator * enumerator = [ children objectEnumerator ];
AquaA11yWrapper * child = nil;
while ( ( child = [ enumerator nextObject ] ) ) {
if ( self == child ) {
break;
}
index++;
}
// build string
NSNumber * nIndex = [ NSNumber numberWithInt: index ];
NSNumber * nGroupsize = [ NSNumber numberWithInt: [ children count ] ];
NSMutableString * value = [ [ NSMutableString alloc ] init ];
[ value appendString: @"radio button " ];
[ value appendString: [ nIndex stringValue ] ];
[ value appendString: @" of " ];
[ value appendString: [ nGroupsize stringValue ] ];
// clean up and return string
[ nIndex release ];
[ nGroupsize release ];
[ children release ];
return value;
} else {
return [ AquaA11yRoleHelper getRoleDescriptionFrom:
[ AquaA11yRoleHelper getNativeRoleFrom: [ self accessibleContext ] ]
with: [ AquaA11yRoleHelper getNativeSubroleFrom: [ self accessibleContext ] -> getAccessibleRole() ] ];
}
INTEGRATION: CWS aqua11y01 (1.1.2); FILE ADDED 2008/04/15 07:58:36 rt 1.1.2.19: Update license header to LGPL 3. 2008/02/28 14:58:26 fne 1.1.2.18: #i82877# fix: do not manually hit test lists 2008/02/28 11:40:22 fne 1.1.2.17: #i82877# corrected relations label_for and labeled_by 2008/02/26 11:31:01 fne 1.1.2.16: #i82877# linkedUIElements attribute and some small fixes 2008/02/25 11:46:14 fne 1.1.2.15: #i82877# small fixes 2008/02/22 14:23:59 fne 1.1.2.14: #i82877# fix for floating windows mk2 2008/02/22 08:22:40 fne 1.1.2.13: #i82877# fix for floating windows 2008/02/21 20:07:01 fne 1.1.2.12: #i82877# redesigned hittest 2008/02/21 10:46:25 obr 1.1.2.11: keep a reference on the currently focused object (needed for transient object like table cells) 2008/02/21 05:50:48 obr 1.1.2.10: keep reference to hitChild for transient objects 2008/02/19 19:29:38 obr 1.1.2.9: release only when using factory directly 2008/02/19 12:17:29 obr 1.1.2.8: fixed a bunch of memory leaks 2008/02/18 22:43:04 obr 1.1.2.7: simulate focus notifications for active descendant changed events 2008/02/18 06:08:55 obr 1.1.2.6: make sure the SalFrameView gets inserted to the wrapper repository early enough and make the listener objects own their wrappers 2008/02/15 07:55:40 obr 1.1.2.5: removed mpParent 2008/02/15 07:41:41 obr 1.1.2.4: objects now create a wrapper for their parent objects on demand 2008/02/12 15:40:01 fne 1.1.2.3: #i82877# support for the following text attributes: fontname, fontsize, bold, italic, underline 2008/02/10 08:27:41 fne 1.1.2.2: #i82877# fixes for text areas 2008/02/06 07:55:46 fne 1.1.2.1: #i82877# renamed cxx to mm
2008-04-15 12:13:46 +00:00
}
-(id)valueAttribute {
if ( [ [ self roleAttribute ] isEqualToString: NSAccessibilityMenuItemRole ] ) {
return nil;
} else if ( [ self accessibleText ] ) {
INTEGRATION: CWS aqua11y01 (1.1.2); FILE ADDED 2008/04/15 07:58:36 rt 1.1.2.19: Update license header to LGPL 3. 2008/02/28 14:58:26 fne 1.1.2.18: #i82877# fix: do not manually hit test lists 2008/02/28 11:40:22 fne 1.1.2.17: #i82877# corrected relations label_for and labeled_by 2008/02/26 11:31:01 fne 1.1.2.16: #i82877# linkedUIElements attribute and some small fixes 2008/02/25 11:46:14 fne 1.1.2.15: #i82877# small fixes 2008/02/22 14:23:59 fne 1.1.2.14: #i82877# fix for floating windows mk2 2008/02/22 08:22:40 fne 1.1.2.13: #i82877# fix for floating windows 2008/02/21 20:07:01 fne 1.1.2.12: #i82877# redesigned hittest 2008/02/21 10:46:25 obr 1.1.2.11: keep a reference on the currently focused object (needed for transient object like table cells) 2008/02/21 05:50:48 obr 1.1.2.10: keep reference to hitChild for transient objects 2008/02/19 19:29:38 obr 1.1.2.9: release only when using factory directly 2008/02/19 12:17:29 obr 1.1.2.8: fixed a bunch of memory leaks 2008/02/18 22:43:04 obr 1.1.2.7: simulate focus notifications for active descendant changed events 2008/02/18 06:08:55 obr 1.1.2.6: make sure the SalFrameView gets inserted to the wrapper repository early enough and make the listener objects own their wrappers 2008/02/15 07:55:40 obr 1.1.2.5: removed mpParent 2008/02/15 07:41:41 obr 1.1.2.4: objects now create a wrapper for their parent objects on demand 2008/02/12 15:40:01 fne 1.1.2.3: #i82877# support for the following text attributes: fontname, fontsize, bold, italic, underline 2008/02/10 08:27:41 fne 1.1.2.2: #i82877# fixes for text areas 2008/02/06 07:55:46 fne 1.1.2.1: #i82877# renamed cxx to mm
2008-04-15 12:13:46 +00:00
return [ AquaA11yTextWrapper valueAttributeForElement: self ];
} else if ( [ self accessibleValue ] ) {
INTEGRATION: CWS aqua11y01 (1.1.2); FILE ADDED 2008/04/15 07:58:36 rt 1.1.2.19: Update license header to LGPL 3. 2008/02/28 14:58:26 fne 1.1.2.18: #i82877# fix: do not manually hit test lists 2008/02/28 11:40:22 fne 1.1.2.17: #i82877# corrected relations label_for and labeled_by 2008/02/26 11:31:01 fne 1.1.2.16: #i82877# linkedUIElements attribute and some small fixes 2008/02/25 11:46:14 fne 1.1.2.15: #i82877# small fixes 2008/02/22 14:23:59 fne 1.1.2.14: #i82877# fix for floating windows mk2 2008/02/22 08:22:40 fne 1.1.2.13: #i82877# fix for floating windows 2008/02/21 20:07:01 fne 1.1.2.12: #i82877# redesigned hittest 2008/02/21 10:46:25 obr 1.1.2.11: keep a reference on the currently focused object (needed for transient object like table cells) 2008/02/21 05:50:48 obr 1.1.2.10: keep reference to hitChild for transient objects 2008/02/19 19:29:38 obr 1.1.2.9: release only when using factory directly 2008/02/19 12:17:29 obr 1.1.2.8: fixed a bunch of memory leaks 2008/02/18 22:43:04 obr 1.1.2.7: simulate focus notifications for active descendant changed events 2008/02/18 06:08:55 obr 1.1.2.6: make sure the SalFrameView gets inserted to the wrapper repository early enough and make the listener objects own their wrappers 2008/02/15 07:55:40 obr 1.1.2.5: removed mpParent 2008/02/15 07:41:41 obr 1.1.2.4: objects now create a wrapper for their parent objects on demand 2008/02/12 15:40:01 fne 1.1.2.3: #i82877# support for the following text attributes: fontname, fontsize, bold, italic, underline 2008/02/10 08:27:41 fne 1.1.2.2: #i82877# fixes for text areas 2008/02/06 07:55:46 fne 1.1.2.1: #i82877# renamed cxx to mm
2008-04-15 12:13:46 +00:00
return [ AquaA11yValueWrapper valueAttributeForElement: self ];
} else {
return nil;
}
}
-(id)minValueAttribute {
if ( [ self accessibleValue ] ) {
INTEGRATION: CWS aqua11y01 (1.1.2); FILE ADDED 2008/04/15 07:58:36 rt 1.1.2.19: Update license header to LGPL 3. 2008/02/28 14:58:26 fne 1.1.2.18: #i82877# fix: do not manually hit test lists 2008/02/28 11:40:22 fne 1.1.2.17: #i82877# corrected relations label_for and labeled_by 2008/02/26 11:31:01 fne 1.1.2.16: #i82877# linkedUIElements attribute and some small fixes 2008/02/25 11:46:14 fne 1.1.2.15: #i82877# small fixes 2008/02/22 14:23:59 fne 1.1.2.14: #i82877# fix for floating windows mk2 2008/02/22 08:22:40 fne 1.1.2.13: #i82877# fix for floating windows 2008/02/21 20:07:01 fne 1.1.2.12: #i82877# redesigned hittest 2008/02/21 10:46:25 obr 1.1.2.11: keep a reference on the currently focused object (needed for transient object like table cells) 2008/02/21 05:50:48 obr 1.1.2.10: keep reference to hitChild for transient objects 2008/02/19 19:29:38 obr 1.1.2.9: release only when using factory directly 2008/02/19 12:17:29 obr 1.1.2.8: fixed a bunch of memory leaks 2008/02/18 22:43:04 obr 1.1.2.7: simulate focus notifications for active descendant changed events 2008/02/18 06:08:55 obr 1.1.2.6: make sure the SalFrameView gets inserted to the wrapper repository early enough and make the listener objects own their wrappers 2008/02/15 07:55:40 obr 1.1.2.5: removed mpParent 2008/02/15 07:41:41 obr 1.1.2.4: objects now create a wrapper for their parent objects on demand 2008/02/12 15:40:01 fne 1.1.2.3: #i82877# support for the following text attributes: fontname, fontsize, bold, italic, underline 2008/02/10 08:27:41 fne 1.1.2.2: #i82877# fixes for text areas 2008/02/06 07:55:46 fne 1.1.2.1: #i82877# renamed cxx to mm
2008-04-15 12:13:46 +00:00
return [ AquaA11yValueWrapper minValueAttributeForElement: self ];
} else {
return nil;
}
}
-(id)maxValueAttribute {
if ( [ self accessibleValue ] ) {
INTEGRATION: CWS aqua11y01 (1.1.2); FILE ADDED 2008/04/15 07:58:36 rt 1.1.2.19: Update license header to LGPL 3. 2008/02/28 14:58:26 fne 1.1.2.18: #i82877# fix: do not manually hit test lists 2008/02/28 11:40:22 fne 1.1.2.17: #i82877# corrected relations label_for and labeled_by 2008/02/26 11:31:01 fne 1.1.2.16: #i82877# linkedUIElements attribute and some small fixes 2008/02/25 11:46:14 fne 1.1.2.15: #i82877# small fixes 2008/02/22 14:23:59 fne 1.1.2.14: #i82877# fix for floating windows mk2 2008/02/22 08:22:40 fne 1.1.2.13: #i82877# fix for floating windows 2008/02/21 20:07:01 fne 1.1.2.12: #i82877# redesigned hittest 2008/02/21 10:46:25 obr 1.1.2.11: keep a reference on the currently focused object (needed for transient object like table cells) 2008/02/21 05:50:48 obr 1.1.2.10: keep reference to hitChild for transient objects 2008/02/19 19:29:38 obr 1.1.2.9: release only when using factory directly 2008/02/19 12:17:29 obr 1.1.2.8: fixed a bunch of memory leaks 2008/02/18 22:43:04 obr 1.1.2.7: simulate focus notifications for active descendant changed events 2008/02/18 06:08:55 obr 1.1.2.6: make sure the SalFrameView gets inserted to the wrapper repository early enough and make the listener objects own their wrappers 2008/02/15 07:55:40 obr 1.1.2.5: removed mpParent 2008/02/15 07:41:41 obr 1.1.2.4: objects now create a wrapper for their parent objects on demand 2008/02/12 15:40:01 fne 1.1.2.3: #i82877# support for the following text attributes: fontname, fontsize, bold, italic, underline 2008/02/10 08:27:41 fne 1.1.2.2: #i82877# fixes for text areas 2008/02/06 07:55:46 fne 1.1.2.1: #i82877# renamed cxx to mm
2008-04-15 12:13:46 +00:00
return [ AquaA11yValueWrapper maxValueAttributeForElement: self ];
} else {
return nil;
}
}
-(id)contentsAttribute {
return [ self childrenAttribute ];
}
-(id)selectedChildrenAttribute {
return [ AquaA11ySelectionWrapper selectedChildrenAttributeForElement: self ];
}
-(id)numberOfCharactersAttribute {
if ( [ self accessibleText ] ) {
INTEGRATION: CWS aqua11y01 (1.1.2); FILE ADDED 2008/04/15 07:58:36 rt 1.1.2.19: Update license header to LGPL 3. 2008/02/28 14:58:26 fne 1.1.2.18: #i82877# fix: do not manually hit test lists 2008/02/28 11:40:22 fne 1.1.2.17: #i82877# corrected relations label_for and labeled_by 2008/02/26 11:31:01 fne 1.1.2.16: #i82877# linkedUIElements attribute and some small fixes 2008/02/25 11:46:14 fne 1.1.2.15: #i82877# small fixes 2008/02/22 14:23:59 fne 1.1.2.14: #i82877# fix for floating windows mk2 2008/02/22 08:22:40 fne 1.1.2.13: #i82877# fix for floating windows 2008/02/21 20:07:01 fne 1.1.2.12: #i82877# redesigned hittest 2008/02/21 10:46:25 obr 1.1.2.11: keep a reference on the currently focused object (needed for transient object like table cells) 2008/02/21 05:50:48 obr 1.1.2.10: keep reference to hitChild for transient objects 2008/02/19 19:29:38 obr 1.1.2.9: release only when using factory directly 2008/02/19 12:17:29 obr 1.1.2.8: fixed a bunch of memory leaks 2008/02/18 22:43:04 obr 1.1.2.7: simulate focus notifications for active descendant changed events 2008/02/18 06:08:55 obr 1.1.2.6: make sure the SalFrameView gets inserted to the wrapper repository early enough and make the listener objects own their wrappers 2008/02/15 07:55:40 obr 1.1.2.5: removed mpParent 2008/02/15 07:41:41 obr 1.1.2.4: objects now create a wrapper for their parent objects on demand 2008/02/12 15:40:01 fne 1.1.2.3: #i82877# support for the following text attributes: fontname, fontsize, bold, italic, underline 2008/02/10 08:27:41 fne 1.1.2.2: #i82877# fixes for text areas 2008/02/06 07:55:46 fne 1.1.2.1: #i82877# renamed cxx to mm
2008-04-15 12:13:46 +00:00
return [ AquaA11yTextWrapper numberOfCharactersAttributeForElement: self ];
} else {
return nil;
}
}
-(id)selectedTextAttribute {
if ( [ self accessibleText ] ) {
INTEGRATION: CWS aqua11y01 (1.1.2); FILE ADDED 2008/04/15 07:58:36 rt 1.1.2.19: Update license header to LGPL 3. 2008/02/28 14:58:26 fne 1.1.2.18: #i82877# fix: do not manually hit test lists 2008/02/28 11:40:22 fne 1.1.2.17: #i82877# corrected relations label_for and labeled_by 2008/02/26 11:31:01 fne 1.1.2.16: #i82877# linkedUIElements attribute and some small fixes 2008/02/25 11:46:14 fne 1.1.2.15: #i82877# small fixes 2008/02/22 14:23:59 fne 1.1.2.14: #i82877# fix for floating windows mk2 2008/02/22 08:22:40 fne 1.1.2.13: #i82877# fix for floating windows 2008/02/21 20:07:01 fne 1.1.2.12: #i82877# redesigned hittest 2008/02/21 10:46:25 obr 1.1.2.11: keep a reference on the currently focused object (needed for transient object like table cells) 2008/02/21 05:50:48 obr 1.1.2.10: keep reference to hitChild for transient objects 2008/02/19 19:29:38 obr 1.1.2.9: release only when using factory directly 2008/02/19 12:17:29 obr 1.1.2.8: fixed a bunch of memory leaks 2008/02/18 22:43:04 obr 1.1.2.7: simulate focus notifications for active descendant changed events 2008/02/18 06:08:55 obr 1.1.2.6: make sure the SalFrameView gets inserted to the wrapper repository early enough and make the listener objects own their wrappers 2008/02/15 07:55:40 obr 1.1.2.5: removed mpParent 2008/02/15 07:41:41 obr 1.1.2.4: objects now create a wrapper for their parent objects on demand 2008/02/12 15:40:01 fne 1.1.2.3: #i82877# support for the following text attributes: fontname, fontsize, bold, italic, underline 2008/02/10 08:27:41 fne 1.1.2.2: #i82877# fixes for text areas 2008/02/06 07:55:46 fne 1.1.2.1: #i82877# renamed cxx to mm
2008-04-15 12:13:46 +00:00
return [ AquaA11yTextWrapper selectedTextAttributeForElement: self ];
} else {
return nil;
}
}
-(id)selectedTextRangeAttribute {
if ( [ self accessibleText ] ) {
INTEGRATION: CWS aqua11y01 (1.1.2); FILE ADDED 2008/04/15 07:58:36 rt 1.1.2.19: Update license header to LGPL 3. 2008/02/28 14:58:26 fne 1.1.2.18: #i82877# fix: do not manually hit test lists 2008/02/28 11:40:22 fne 1.1.2.17: #i82877# corrected relations label_for and labeled_by 2008/02/26 11:31:01 fne 1.1.2.16: #i82877# linkedUIElements attribute and some small fixes 2008/02/25 11:46:14 fne 1.1.2.15: #i82877# small fixes 2008/02/22 14:23:59 fne 1.1.2.14: #i82877# fix for floating windows mk2 2008/02/22 08:22:40 fne 1.1.2.13: #i82877# fix for floating windows 2008/02/21 20:07:01 fne 1.1.2.12: #i82877# redesigned hittest 2008/02/21 10:46:25 obr 1.1.2.11: keep a reference on the currently focused object (needed for transient object like table cells) 2008/02/21 05:50:48 obr 1.1.2.10: keep reference to hitChild for transient objects 2008/02/19 19:29:38 obr 1.1.2.9: release only when using factory directly 2008/02/19 12:17:29 obr 1.1.2.8: fixed a bunch of memory leaks 2008/02/18 22:43:04 obr 1.1.2.7: simulate focus notifications for active descendant changed events 2008/02/18 06:08:55 obr 1.1.2.6: make sure the SalFrameView gets inserted to the wrapper repository early enough and make the listener objects own their wrappers 2008/02/15 07:55:40 obr 1.1.2.5: removed mpParent 2008/02/15 07:41:41 obr 1.1.2.4: objects now create a wrapper for their parent objects on demand 2008/02/12 15:40:01 fne 1.1.2.3: #i82877# support for the following text attributes: fontname, fontsize, bold, italic, underline 2008/02/10 08:27:41 fne 1.1.2.2: #i82877# fixes for text areas 2008/02/06 07:55:46 fne 1.1.2.1: #i82877# renamed cxx to mm
2008-04-15 12:13:46 +00:00
return [ AquaA11yTextWrapper selectedTextRangeAttributeForElement: self ];
} else {
return nil;
}
}
-(id)visibleCharacterRangeAttribute {
if ( [ self accessibleText ] ) {
INTEGRATION: CWS aqua11y01 (1.1.2); FILE ADDED 2008/04/15 07:58:36 rt 1.1.2.19: Update license header to LGPL 3. 2008/02/28 14:58:26 fne 1.1.2.18: #i82877# fix: do not manually hit test lists 2008/02/28 11:40:22 fne 1.1.2.17: #i82877# corrected relations label_for and labeled_by 2008/02/26 11:31:01 fne 1.1.2.16: #i82877# linkedUIElements attribute and some small fixes 2008/02/25 11:46:14 fne 1.1.2.15: #i82877# small fixes 2008/02/22 14:23:59 fne 1.1.2.14: #i82877# fix for floating windows mk2 2008/02/22 08:22:40 fne 1.1.2.13: #i82877# fix for floating windows 2008/02/21 20:07:01 fne 1.1.2.12: #i82877# redesigned hittest 2008/02/21 10:46:25 obr 1.1.2.11: keep a reference on the currently focused object (needed for transient object like table cells) 2008/02/21 05:50:48 obr 1.1.2.10: keep reference to hitChild for transient objects 2008/02/19 19:29:38 obr 1.1.2.9: release only when using factory directly 2008/02/19 12:17:29 obr 1.1.2.8: fixed a bunch of memory leaks 2008/02/18 22:43:04 obr 1.1.2.7: simulate focus notifications for active descendant changed events 2008/02/18 06:08:55 obr 1.1.2.6: make sure the SalFrameView gets inserted to the wrapper repository early enough and make the listener objects own their wrappers 2008/02/15 07:55:40 obr 1.1.2.5: removed mpParent 2008/02/15 07:41:41 obr 1.1.2.4: objects now create a wrapper for their parent objects on demand 2008/02/12 15:40:01 fne 1.1.2.3: #i82877# support for the following text attributes: fontname, fontsize, bold, italic, underline 2008/02/10 08:27:41 fne 1.1.2.2: #i82877# fixes for text areas 2008/02/06 07:55:46 fne 1.1.2.1: #i82877# renamed cxx to mm
2008-04-15 12:13:46 +00:00
return [ AquaA11yTextWrapper visibleCharacterRangeAttributeForElement: self ];
} else {
return nil;
}
}
-(id)tabsAttribute {
return self; // TODO ???
}
-(id)sharedTextUIElementsAttribute {
if ( [ self accessibleText ] ) {
INTEGRATION: CWS aqua11y01 (1.1.2); FILE ADDED 2008/04/15 07:58:36 rt 1.1.2.19: Update license header to LGPL 3. 2008/02/28 14:58:26 fne 1.1.2.18: #i82877# fix: do not manually hit test lists 2008/02/28 11:40:22 fne 1.1.2.17: #i82877# corrected relations label_for and labeled_by 2008/02/26 11:31:01 fne 1.1.2.16: #i82877# linkedUIElements attribute and some small fixes 2008/02/25 11:46:14 fne 1.1.2.15: #i82877# small fixes 2008/02/22 14:23:59 fne 1.1.2.14: #i82877# fix for floating windows mk2 2008/02/22 08:22:40 fne 1.1.2.13: #i82877# fix for floating windows 2008/02/21 20:07:01 fne 1.1.2.12: #i82877# redesigned hittest 2008/02/21 10:46:25 obr 1.1.2.11: keep a reference on the currently focused object (needed for transient object like table cells) 2008/02/21 05:50:48 obr 1.1.2.10: keep reference to hitChild for transient objects 2008/02/19 19:29:38 obr 1.1.2.9: release only when using factory directly 2008/02/19 12:17:29 obr 1.1.2.8: fixed a bunch of memory leaks 2008/02/18 22:43:04 obr 1.1.2.7: simulate focus notifications for active descendant changed events 2008/02/18 06:08:55 obr 1.1.2.6: make sure the SalFrameView gets inserted to the wrapper repository early enough and make the listener objects own their wrappers 2008/02/15 07:55:40 obr 1.1.2.5: removed mpParent 2008/02/15 07:41:41 obr 1.1.2.4: objects now create a wrapper for their parent objects on demand 2008/02/12 15:40:01 fne 1.1.2.3: #i82877# support for the following text attributes: fontname, fontsize, bold, italic, underline 2008/02/10 08:27:41 fne 1.1.2.2: #i82877# fixes for text areas 2008/02/06 07:55:46 fne 1.1.2.1: #i82877# renamed cxx to mm
2008-04-15 12:13:46 +00:00
return [ AquaA11yTextWrapper sharedTextUIElementsAttributeForElement: self ];
} else {
return nil;
}
}
-(id)sharedCharacterRangeAttribute {
if ( [ self accessibleText ] ) {
INTEGRATION: CWS aqua11y01 (1.1.2); FILE ADDED 2008/04/15 07:58:36 rt 1.1.2.19: Update license header to LGPL 3. 2008/02/28 14:58:26 fne 1.1.2.18: #i82877# fix: do not manually hit test lists 2008/02/28 11:40:22 fne 1.1.2.17: #i82877# corrected relations label_for and labeled_by 2008/02/26 11:31:01 fne 1.1.2.16: #i82877# linkedUIElements attribute and some small fixes 2008/02/25 11:46:14 fne 1.1.2.15: #i82877# small fixes 2008/02/22 14:23:59 fne 1.1.2.14: #i82877# fix for floating windows mk2 2008/02/22 08:22:40 fne 1.1.2.13: #i82877# fix for floating windows 2008/02/21 20:07:01 fne 1.1.2.12: #i82877# redesigned hittest 2008/02/21 10:46:25 obr 1.1.2.11: keep a reference on the currently focused object (needed for transient object like table cells) 2008/02/21 05:50:48 obr 1.1.2.10: keep reference to hitChild for transient objects 2008/02/19 19:29:38 obr 1.1.2.9: release only when using factory directly 2008/02/19 12:17:29 obr 1.1.2.8: fixed a bunch of memory leaks 2008/02/18 22:43:04 obr 1.1.2.7: simulate focus notifications for active descendant changed events 2008/02/18 06:08:55 obr 1.1.2.6: make sure the SalFrameView gets inserted to the wrapper repository early enough and make the listener objects own their wrappers 2008/02/15 07:55:40 obr 1.1.2.5: removed mpParent 2008/02/15 07:41:41 obr 1.1.2.4: objects now create a wrapper for their parent objects on demand 2008/02/12 15:40:01 fne 1.1.2.3: #i82877# support for the following text attributes: fontname, fontsize, bold, italic, underline 2008/02/10 08:27:41 fne 1.1.2.2: #i82877# fixes for text areas 2008/02/06 07:55:46 fne 1.1.2.1: #i82877# renamed cxx to mm
2008-04-15 12:13:46 +00:00
return [ AquaA11yTextWrapper sharedCharacterRangeAttributeForElement: self ];
} else {
return nil;
}
}
-(id)expandedAttribute {
return [ NSNumber numberWithBool: [ self accessibleContext ] -> getAccessibleStateSet() -> contains ( AccessibleStateType::EXPANDED ) ];
}
-(id)selectedAttribute {
return [ NSNumber numberWithBool: [ self accessibleContext ] -> getAccessibleStateSet() -> contains ( AccessibleStateType::SELECTED ) ];
}
-(id)stringForRangeAttributeForParameter:(id)range {
if ( [ self accessibleText ] ) {
INTEGRATION: CWS aqua11y01 (1.1.2); FILE ADDED 2008/04/15 07:58:36 rt 1.1.2.19: Update license header to LGPL 3. 2008/02/28 14:58:26 fne 1.1.2.18: #i82877# fix: do not manually hit test lists 2008/02/28 11:40:22 fne 1.1.2.17: #i82877# corrected relations label_for and labeled_by 2008/02/26 11:31:01 fne 1.1.2.16: #i82877# linkedUIElements attribute and some small fixes 2008/02/25 11:46:14 fne 1.1.2.15: #i82877# small fixes 2008/02/22 14:23:59 fne 1.1.2.14: #i82877# fix for floating windows mk2 2008/02/22 08:22:40 fne 1.1.2.13: #i82877# fix for floating windows 2008/02/21 20:07:01 fne 1.1.2.12: #i82877# redesigned hittest 2008/02/21 10:46:25 obr 1.1.2.11: keep a reference on the currently focused object (needed for transient object like table cells) 2008/02/21 05:50:48 obr 1.1.2.10: keep reference to hitChild for transient objects 2008/02/19 19:29:38 obr 1.1.2.9: release only when using factory directly 2008/02/19 12:17:29 obr 1.1.2.8: fixed a bunch of memory leaks 2008/02/18 22:43:04 obr 1.1.2.7: simulate focus notifications for active descendant changed events 2008/02/18 06:08:55 obr 1.1.2.6: make sure the SalFrameView gets inserted to the wrapper repository early enough and make the listener objects own their wrappers 2008/02/15 07:55:40 obr 1.1.2.5: removed mpParent 2008/02/15 07:41:41 obr 1.1.2.4: objects now create a wrapper for their parent objects on demand 2008/02/12 15:40:01 fne 1.1.2.3: #i82877# support for the following text attributes: fontname, fontsize, bold, italic, underline 2008/02/10 08:27:41 fne 1.1.2.2: #i82877# fixes for text areas 2008/02/06 07:55:46 fne 1.1.2.1: #i82877# renamed cxx to mm
2008-04-15 12:13:46 +00:00
return [ AquaA11yTextWrapper stringForRangeAttributeForElement: self forParameter: range ];
} else {
return nil;
}
}
-(id)attributedStringForRangeAttributeForParameter:(id)range {
if ( [ self accessibleText ] ) {
INTEGRATION: CWS aqua11y01 (1.1.2); FILE ADDED 2008/04/15 07:58:36 rt 1.1.2.19: Update license header to LGPL 3. 2008/02/28 14:58:26 fne 1.1.2.18: #i82877# fix: do not manually hit test lists 2008/02/28 11:40:22 fne 1.1.2.17: #i82877# corrected relations label_for and labeled_by 2008/02/26 11:31:01 fne 1.1.2.16: #i82877# linkedUIElements attribute and some small fixes 2008/02/25 11:46:14 fne 1.1.2.15: #i82877# small fixes 2008/02/22 14:23:59 fne 1.1.2.14: #i82877# fix for floating windows mk2 2008/02/22 08:22:40 fne 1.1.2.13: #i82877# fix for floating windows 2008/02/21 20:07:01 fne 1.1.2.12: #i82877# redesigned hittest 2008/02/21 10:46:25 obr 1.1.2.11: keep a reference on the currently focused object (needed for transient object like table cells) 2008/02/21 05:50:48 obr 1.1.2.10: keep reference to hitChild for transient objects 2008/02/19 19:29:38 obr 1.1.2.9: release only when using factory directly 2008/02/19 12:17:29 obr 1.1.2.8: fixed a bunch of memory leaks 2008/02/18 22:43:04 obr 1.1.2.7: simulate focus notifications for active descendant changed events 2008/02/18 06:08:55 obr 1.1.2.6: make sure the SalFrameView gets inserted to the wrapper repository early enough and make the listener objects own their wrappers 2008/02/15 07:55:40 obr 1.1.2.5: removed mpParent 2008/02/15 07:41:41 obr 1.1.2.4: objects now create a wrapper for their parent objects on demand 2008/02/12 15:40:01 fne 1.1.2.3: #i82877# support for the following text attributes: fontname, fontsize, bold, italic, underline 2008/02/10 08:27:41 fne 1.1.2.2: #i82877# fixes for text areas 2008/02/06 07:55:46 fne 1.1.2.1: #i82877# renamed cxx to mm
2008-04-15 12:13:46 +00:00
return [ AquaA11yTextWrapper attributedStringForRangeAttributeForElement: self forParameter: range ];
} else {
return nil;
}
}
-(id)rangeForIndexAttributeForParameter:(id)index {
if ( [ self accessibleText ] ) {
INTEGRATION: CWS aqua11y01 (1.1.2); FILE ADDED 2008/04/15 07:58:36 rt 1.1.2.19: Update license header to LGPL 3. 2008/02/28 14:58:26 fne 1.1.2.18: #i82877# fix: do not manually hit test lists 2008/02/28 11:40:22 fne 1.1.2.17: #i82877# corrected relations label_for and labeled_by 2008/02/26 11:31:01 fne 1.1.2.16: #i82877# linkedUIElements attribute and some small fixes 2008/02/25 11:46:14 fne 1.1.2.15: #i82877# small fixes 2008/02/22 14:23:59 fne 1.1.2.14: #i82877# fix for floating windows mk2 2008/02/22 08:22:40 fne 1.1.2.13: #i82877# fix for floating windows 2008/02/21 20:07:01 fne 1.1.2.12: #i82877# redesigned hittest 2008/02/21 10:46:25 obr 1.1.2.11: keep a reference on the currently focused object (needed for transient object like table cells) 2008/02/21 05:50:48 obr 1.1.2.10: keep reference to hitChild for transient objects 2008/02/19 19:29:38 obr 1.1.2.9: release only when using factory directly 2008/02/19 12:17:29 obr 1.1.2.8: fixed a bunch of memory leaks 2008/02/18 22:43:04 obr 1.1.2.7: simulate focus notifications for active descendant changed events 2008/02/18 06:08:55 obr 1.1.2.6: make sure the SalFrameView gets inserted to the wrapper repository early enough and make the listener objects own their wrappers 2008/02/15 07:55:40 obr 1.1.2.5: removed mpParent 2008/02/15 07:41:41 obr 1.1.2.4: objects now create a wrapper for their parent objects on demand 2008/02/12 15:40:01 fne 1.1.2.3: #i82877# support for the following text attributes: fontname, fontsize, bold, italic, underline 2008/02/10 08:27:41 fne 1.1.2.2: #i82877# fixes for text areas 2008/02/06 07:55:46 fne 1.1.2.1: #i82877# renamed cxx to mm
2008-04-15 12:13:46 +00:00
return [ AquaA11yTextWrapper rangeForIndexAttributeForElement: self forParameter: index ];
} else {
return nil;
}
}
-(id)rangeForPositionAttributeForParameter:(id)point {
if ( [ self accessibleText ] ) {
INTEGRATION: CWS aqua11y01 (1.1.2); FILE ADDED 2008/04/15 07:58:36 rt 1.1.2.19: Update license header to LGPL 3. 2008/02/28 14:58:26 fne 1.1.2.18: #i82877# fix: do not manually hit test lists 2008/02/28 11:40:22 fne 1.1.2.17: #i82877# corrected relations label_for and labeled_by 2008/02/26 11:31:01 fne 1.1.2.16: #i82877# linkedUIElements attribute and some small fixes 2008/02/25 11:46:14 fne 1.1.2.15: #i82877# small fixes 2008/02/22 14:23:59 fne 1.1.2.14: #i82877# fix for floating windows mk2 2008/02/22 08:22:40 fne 1.1.2.13: #i82877# fix for floating windows 2008/02/21 20:07:01 fne 1.1.2.12: #i82877# redesigned hittest 2008/02/21 10:46:25 obr 1.1.2.11: keep a reference on the currently focused object (needed for transient object like table cells) 2008/02/21 05:50:48 obr 1.1.2.10: keep reference to hitChild for transient objects 2008/02/19 19:29:38 obr 1.1.2.9: release only when using factory directly 2008/02/19 12:17:29 obr 1.1.2.8: fixed a bunch of memory leaks 2008/02/18 22:43:04 obr 1.1.2.7: simulate focus notifications for active descendant changed events 2008/02/18 06:08:55 obr 1.1.2.6: make sure the SalFrameView gets inserted to the wrapper repository early enough and make the listener objects own their wrappers 2008/02/15 07:55:40 obr 1.1.2.5: removed mpParent 2008/02/15 07:41:41 obr 1.1.2.4: objects now create a wrapper for their parent objects on demand 2008/02/12 15:40:01 fne 1.1.2.3: #i82877# support for the following text attributes: fontname, fontsize, bold, italic, underline 2008/02/10 08:27:41 fne 1.1.2.2: #i82877# fixes for text areas 2008/02/06 07:55:46 fne 1.1.2.1: #i82877# renamed cxx to mm
2008-04-15 12:13:46 +00:00
return [ AquaA11yTextWrapper rangeForPositionAttributeForElement: self forParameter: point ];
} else {
return nil;
}
}
-(id)boundsForRangeAttributeForParameter:(id)range {
if ( [ self accessibleText ] ) {
INTEGRATION: CWS aqua11y01 (1.1.2); FILE ADDED 2008/04/15 07:58:36 rt 1.1.2.19: Update license header to LGPL 3. 2008/02/28 14:58:26 fne 1.1.2.18: #i82877# fix: do not manually hit test lists 2008/02/28 11:40:22 fne 1.1.2.17: #i82877# corrected relations label_for and labeled_by 2008/02/26 11:31:01 fne 1.1.2.16: #i82877# linkedUIElements attribute and some small fixes 2008/02/25 11:46:14 fne 1.1.2.15: #i82877# small fixes 2008/02/22 14:23:59 fne 1.1.2.14: #i82877# fix for floating windows mk2 2008/02/22 08:22:40 fne 1.1.2.13: #i82877# fix for floating windows 2008/02/21 20:07:01 fne 1.1.2.12: #i82877# redesigned hittest 2008/02/21 10:46:25 obr 1.1.2.11: keep a reference on the currently focused object (needed for transient object like table cells) 2008/02/21 05:50:48 obr 1.1.2.10: keep reference to hitChild for transient objects 2008/02/19 19:29:38 obr 1.1.2.9: release only when using factory directly 2008/02/19 12:17:29 obr 1.1.2.8: fixed a bunch of memory leaks 2008/02/18 22:43:04 obr 1.1.2.7: simulate focus notifications for active descendant changed events 2008/02/18 06:08:55 obr 1.1.2.6: make sure the SalFrameView gets inserted to the wrapper repository early enough and make the listener objects own their wrappers 2008/02/15 07:55:40 obr 1.1.2.5: removed mpParent 2008/02/15 07:41:41 obr 1.1.2.4: objects now create a wrapper for their parent objects on demand 2008/02/12 15:40:01 fne 1.1.2.3: #i82877# support for the following text attributes: fontname, fontsize, bold, italic, underline 2008/02/10 08:27:41 fne 1.1.2.2: #i82877# fixes for text areas 2008/02/06 07:55:46 fne 1.1.2.1: #i82877# renamed cxx to mm
2008-04-15 12:13:46 +00:00
return [ AquaA11yTextWrapper boundsForRangeAttributeForElement: self forParameter: range ];
} else {
return nil;
}
}
-(id)styleRangeForIndexAttributeForParameter:(id)index {
if ( [ self accessibleText ] ) {
INTEGRATION: CWS aqua11y01 (1.1.2); FILE ADDED 2008/04/15 07:58:36 rt 1.1.2.19: Update license header to LGPL 3. 2008/02/28 14:58:26 fne 1.1.2.18: #i82877# fix: do not manually hit test lists 2008/02/28 11:40:22 fne 1.1.2.17: #i82877# corrected relations label_for and labeled_by 2008/02/26 11:31:01 fne 1.1.2.16: #i82877# linkedUIElements attribute and some small fixes 2008/02/25 11:46:14 fne 1.1.2.15: #i82877# small fixes 2008/02/22 14:23:59 fne 1.1.2.14: #i82877# fix for floating windows mk2 2008/02/22 08:22:40 fne 1.1.2.13: #i82877# fix for floating windows 2008/02/21 20:07:01 fne 1.1.2.12: #i82877# redesigned hittest 2008/02/21 10:46:25 obr 1.1.2.11: keep a reference on the currently focused object (needed for transient object like table cells) 2008/02/21 05:50:48 obr 1.1.2.10: keep reference to hitChild for transient objects 2008/02/19 19:29:38 obr 1.1.2.9: release only when using factory directly 2008/02/19 12:17:29 obr 1.1.2.8: fixed a bunch of memory leaks 2008/02/18 22:43:04 obr 1.1.2.7: simulate focus notifications for active descendant changed events 2008/02/18 06:08:55 obr 1.1.2.6: make sure the SalFrameView gets inserted to the wrapper repository early enough and make the listener objects own their wrappers 2008/02/15 07:55:40 obr 1.1.2.5: removed mpParent 2008/02/15 07:41:41 obr 1.1.2.4: objects now create a wrapper for their parent objects on demand 2008/02/12 15:40:01 fne 1.1.2.3: #i82877# support for the following text attributes: fontname, fontsize, bold, italic, underline 2008/02/10 08:27:41 fne 1.1.2.2: #i82877# fixes for text areas 2008/02/06 07:55:46 fne 1.1.2.1: #i82877# renamed cxx to mm
2008-04-15 12:13:46 +00:00
return [ AquaA11yTextWrapper styleRangeForIndexAttributeForElement: self forParameter: index ];
} else {
return nil;
}
}
-(id)rTFForRangeAttributeForParameter:(id)range {
if ( [ self accessibleText ] ) {
INTEGRATION: CWS aqua11y01 (1.1.2); FILE ADDED 2008/04/15 07:58:36 rt 1.1.2.19: Update license header to LGPL 3. 2008/02/28 14:58:26 fne 1.1.2.18: #i82877# fix: do not manually hit test lists 2008/02/28 11:40:22 fne 1.1.2.17: #i82877# corrected relations label_for and labeled_by 2008/02/26 11:31:01 fne 1.1.2.16: #i82877# linkedUIElements attribute and some small fixes 2008/02/25 11:46:14 fne 1.1.2.15: #i82877# small fixes 2008/02/22 14:23:59 fne 1.1.2.14: #i82877# fix for floating windows mk2 2008/02/22 08:22:40 fne 1.1.2.13: #i82877# fix for floating windows 2008/02/21 20:07:01 fne 1.1.2.12: #i82877# redesigned hittest 2008/02/21 10:46:25 obr 1.1.2.11: keep a reference on the currently focused object (needed for transient object like table cells) 2008/02/21 05:50:48 obr 1.1.2.10: keep reference to hitChild for transient objects 2008/02/19 19:29:38 obr 1.1.2.9: release only when using factory directly 2008/02/19 12:17:29 obr 1.1.2.8: fixed a bunch of memory leaks 2008/02/18 22:43:04 obr 1.1.2.7: simulate focus notifications for active descendant changed events 2008/02/18 06:08:55 obr 1.1.2.6: make sure the SalFrameView gets inserted to the wrapper repository early enough and make the listener objects own their wrappers 2008/02/15 07:55:40 obr 1.1.2.5: removed mpParent 2008/02/15 07:41:41 obr 1.1.2.4: objects now create a wrapper for their parent objects on demand 2008/02/12 15:40:01 fne 1.1.2.3: #i82877# support for the following text attributes: fontname, fontsize, bold, italic, underline 2008/02/10 08:27:41 fne 1.1.2.2: #i82877# fixes for text areas 2008/02/06 07:55:46 fne 1.1.2.1: #i82877# renamed cxx to mm
2008-04-15 12:13:46 +00:00
return [ AquaA11yTextWrapper rTFForRangeAttributeForElement: self forParameter: range ];
} else {
return nil;
}
}
-(id)orientationAttribute {
NSString * orientation = nil;
Reference < XAccessibleStateSet > stateSet = [ self accessibleContext ] -> getAccessibleStateSet();
if ( stateSet -> contains ( AccessibleStateType::HORIZONTAL ) ) {
orientation = NSAccessibilityHorizontalOrientationValue;
} else if ( stateSet -> contains ( AccessibleStateType::VERTICAL ) ) {
orientation = NSAccessibilityVerticalOrientationValue;
}
return orientation;
}
-(id)titleUIElementAttribute {
if ( [ self accessibleContext ] -> getAccessibleRelationSet().is() ) {
NSString * title = [ self titleAttribute ];
id titleElement = nil;
if ( [ title length ] == 0 ) {
AccessibleRelation relationLabeledBy = [ self accessibleContext ] -> getAccessibleRelationSet() -> getRelationByType ( AccessibleRelationType::LABELED_BY );
if ( relationLabeledBy.RelationType == AccessibleRelationType::LABELED_BY && relationLabeledBy.TargetSet.hasElements() ) {
Reference < XAccessible > rxAccessible ( relationLabeledBy.TargetSet[0], UNO_QUERY );
titleElement = [ AquaA11yFactory wrapperForAccessibleContext: rxAccessible -> getAccessibleContext() ];
}
}
if ( title ) {
INTEGRATION: CWS aqua11y01 (1.1.2); FILE ADDED 2008/04/15 07:58:36 rt 1.1.2.19: Update license header to LGPL 3. 2008/02/28 14:58:26 fne 1.1.2.18: #i82877# fix: do not manually hit test lists 2008/02/28 11:40:22 fne 1.1.2.17: #i82877# corrected relations label_for and labeled_by 2008/02/26 11:31:01 fne 1.1.2.16: #i82877# linkedUIElements attribute and some small fixes 2008/02/25 11:46:14 fne 1.1.2.15: #i82877# small fixes 2008/02/22 14:23:59 fne 1.1.2.14: #i82877# fix for floating windows mk2 2008/02/22 08:22:40 fne 1.1.2.13: #i82877# fix for floating windows 2008/02/21 20:07:01 fne 1.1.2.12: #i82877# redesigned hittest 2008/02/21 10:46:25 obr 1.1.2.11: keep a reference on the currently focused object (needed for transient object like table cells) 2008/02/21 05:50:48 obr 1.1.2.10: keep reference to hitChild for transient objects 2008/02/19 19:29:38 obr 1.1.2.9: release only when using factory directly 2008/02/19 12:17:29 obr 1.1.2.8: fixed a bunch of memory leaks 2008/02/18 22:43:04 obr 1.1.2.7: simulate focus notifications for active descendant changed events 2008/02/18 06:08:55 obr 1.1.2.6: make sure the SalFrameView gets inserted to the wrapper repository early enough and make the listener objects own their wrappers 2008/02/15 07:55:40 obr 1.1.2.5: removed mpParent 2008/02/15 07:41:41 obr 1.1.2.4: objects now create a wrapper for their parent objects on demand 2008/02/12 15:40:01 fne 1.1.2.3: #i82877# support for the following text attributes: fontname, fontsize, bold, italic, underline 2008/02/10 08:27:41 fne 1.1.2.2: #i82877# fixes for text areas 2008/02/06 07:55:46 fne 1.1.2.1: #i82877# renamed cxx to mm
2008-04-15 12:13:46 +00:00
[ title release ];
}
return titleElement;
} else {
return nil;
}
}
-(id)servesAsTitleForUIElementsAttribute {
if ( [ self accessibleContext ] -> getAccessibleRelationSet().is() ) {
id titleForElement = nil;
AccessibleRelation relationLabelFor = [ self accessibleContext ] -> getAccessibleRelationSet() -> getRelationByType ( AccessibleRelationType::LABEL_FOR );
if ( relationLabelFor.RelationType == AccessibleRelationType::LABEL_FOR && relationLabelFor.TargetSet.hasElements() ) {
Reference < XAccessible > rxAccessible ( relationLabelFor.TargetSet[0], UNO_QUERY );
titleForElement = [ AquaA11yFactory wrapperForAccessibleContext: rxAccessible -> getAccessibleContext() ];
}
return titleForElement;
} else {
return nil;
}
}
-(id)lineForIndexAttributeForParameter:(id)index {
if ( [ self accessibleMultiLineText ] ) {
return [ AquaA11yTextWrapper lineForIndexAttributeForElement: self forParameter: index ];
} else {
return nil;
}
}
-(id)rangeForLineAttributeForParameter:(id)line {
if ( [ self accessibleMultiLineText ] ) {
return [ AquaA11yTextWrapper rangeForLineAttributeForElement: self forParameter: line ];
} else {
return nil;
}
}
INTEGRATION: CWS aqua11y01 (1.1.2); FILE ADDED 2008/04/15 07:58:36 rt 1.1.2.19: Update license header to LGPL 3. 2008/02/28 14:58:26 fne 1.1.2.18: #i82877# fix: do not manually hit test lists 2008/02/28 11:40:22 fne 1.1.2.17: #i82877# corrected relations label_for and labeled_by 2008/02/26 11:31:01 fne 1.1.2.16: #i82877# linkedUIElements attribute and some small fixes 2008/02/25 11:46:14 fne 1.1.2.15: #i82877# small fixes 2008/02/22 14:23:59 fne 1.1.2.14: #i82877# fix for floating windows mk2 2008/02/22 08:22:40 fne 1.1.2.13: #i82877# fix for floating windows 2008/02/21 20:07:01 fne 1.1.2.12: #i82877# redesigned hittest 2008/02/21 10:46:25 obr 1.1.2.11: keep a reference on the currently focused object (needed for transient object like table cells) 2008/02/21 05:50:48 obr 1.1.2.10: keep reference to hitChild for transient objects 2008/02/19 19:29:38 obr 1.1.2.9: release only when using factory directly 2008/02/19 12:17:29 obr 1.1.2.8: fixed a bunch of memory leaks 2008/02/18 22:43:04 obr 1.1.2.7: simulate focus notifications for active descendant changed events 2008/02/18 06:08:55 obr 1.1.2.6: make sure the SalFrameView gets inserted to the wrapper repository early enough and make the listener objects own their wrappers 2008/02/15 07:55:40 obr 1.1.2.5: removed mpParent 2008/02/15 07:41:41 obr 1.1.2.4: objects now create a wrapper for their parent objects on demand 2008/02/12 15:40:01 fne 1.1.2.3: #i82877# support for the following text attributes: fontname, fontsize, bold, italic, underline 2008/02/10 08:27:41 fne 1.1.2.2: #i82877# fixes for text areas 2008/02/06 07:55:46 fne 1.1.2.1: #i82877# renamed cxx to mm
2008-04-15 12:13:46 +00:00
#pragma mark -
#pragma mark Accessibility Protocol
-(id)accessibilityAttributeValue:(NSString *)attribute {
SAL_INFO("vcl.a11y", "[" << self << " accessibilityAttributeValue:" << attribute << "]");
// #i90575# guard NSAccessibility protocol against unwanted access
if ( isPopupMenuOpen ) {
return nil;
}
INTEGRATION: CWS aqua11y01 (1.1.2); FILE ADDED 2008/04/15 07:58:36 rt 1.1.2.19: Update license header to LGPL 3. 2008/02/28 14:58:26 fne 1.1.2.18: #i82877# fix: do not manually hit test lists 2008/02/28 11:40:22 fne 1.1.2.17: #i82877# corrected relations label_for and labeled_by 2008/02/26 11:31:01 fne 1.1.2.16: #i82877# linkedUIElements attribute and some small fixes 2008/02/25 11:46:14 fne 1.1.2.15: #i82877# small fixes 2008/02/22 14:23:59 fne 1.1.2.14: #i82877# fix for floating windows mk2 2008/02/22 08:22:40 fne 1.1.2.13: #i82877# fix for floating windows 2008/02/21 20:07:01 fne 1.1.2.12: #i82877# redesigned hittest 2008/02/21 10:46:25 obr 1.1.2.11: keep a reference on the currently focused object (needed for transient object like table cells) 2008/02/21 05:50:48 obr 1.1.2.10: keep reference to hitChild for transient objects 2008/02/19 19:29:38 obr 1.1.2.9: release only when using factory directly 2008/02/19 12:17:29 obr 1.1.2.8: fixed a bunch of memory leaks 2008/02/18 22:43:04 obr 1.1.2.7: simulate focus notifications for active descendant changed events 2008/02/18 06:08:55 obr 1.1.2.6: make sure the SalFrameView gets inserted to the wrapper repository early enough and make the listener objects own their wrappers 2008/02/15 07:55:40 obr 1.1.2.5: removed mpParent 2008/02/15 07:41:41 obr 1.1.2.4: objects now create a wrapper for their parent objects on demand 2008/02/12 15:40:01 fne 1.1.2.3: #i82877# support for the following text attributes: fontname, fontsize, bold, italic, underline 2008/02/10 08:27:41 fne 1.1.2.2: #i82877# fixes for text areas 2008/02/06 07:55:46 fne 1.1.2.1: #i82877# renamed cxx to mm
2008-04-15 12:13:46 +00:00
id value = nil;
// if we are no longer in the wrapper repository, we have been disposed
AquaA11yWrapper * theWrapper = [ AquaA11yFactory wrapperForAccessibleContext: [ self accessibleContext ] createIfNotExists: NO ];
if ( theWrapper || mIsTableCell ) {
try {
SEL methodSelector = [ self selectorForAttribute: attribute asGetter: YES withGetterParameter: NO ];
if ( [ self respondsToSelector: methodSelector ] ) {
value = [ self performSelector: methodSelector ];
}
} catch ( const DisposedException & e ) {
mIsTableCell = NO; // just to be sure
[ AquaA11yFactory removeFromWrapperRepositoryFor: [ self accessibleContext ] ];
return nil;
} catch ( const Exception & e ) {
// empty
INTEGRATION: CWS aqua11y01 (1.1.2); FILE ADDED 2008/04/15 07:58:36 rt 1.1.2.19: Update license header to LGPL 3. 2008/02/28 14:58:26 fne 1.1.2.18: #i82877# fix: do not manually hit test lists 2008/02/28 11:40:22 fne 1.1.2.17: #i82877# corrected relations label_for and labeled_by 2008/02/26 11:31:01 fne 1.1.2.16: #i82877# linkedUIElements attribute and some small fixes 2008/02/25 11:46:14 fne 1.1.2.15: #i82877# small fixes 2008/02/22 14:23:59 fne 1.1.2.14: #i82877# fix for floating windows mk2 2008/02/22 08:22:40 fne 1.1.2.13: #i82877# fix for floating windows 2008/02/21 20:07:01 fne 1.1.2.12: #i82877# redesigned hittest 2008/02/21 10:46:25 obr 1.1.2.11: keep a reference on the currently focused object (needed for transient object like table cells) 2008/02/21 05:50:48 obr 1.1.2.10: keep reference to hitChild for transient objects 2008/02/19 19:29:38 obr 1.1.2.9: release only when using factory directly 2008/02/19 12:17:29 obr 1.1.2.8: fixed a bunch of memory leaks 2008/02/18 22:43:04 obr 1.1.2.7: simulate focus notifications for active descendant changed events 2008/02/18 06:08:55 obr 1.1.2.6: make sure the SalFrameView gets inserted to the wrapper repository early enough and make the listener objects own their wrappers 2008/02/15 07:55:40 obr 1.1.2.5: removed mpParent 2008/02/15 07:41:41 obr 1.1.2.4: objects now create a wrapper for their parent objects on demand 2008/02/12 15:40:01 fne 1.1.2.3: #i82877# support for the following text attributes: fontname, fontsize, bold, italic, underline 2008/02/10 08:27:41 fne 1.1.2.2: #i82877# fixes for text areas 2008/02/06 07:55:46 fne 1.1.2.1: #i82877# renamed cxx to mm
2008-04-15 12:13:46 +00:00
}
}
if ( theWrapper ) {
[ theWrapper release ]; // the above called method calls retain on the returned Wrapper
INTEGRATION: CWS aqua11y01 (1.1.2); FILE ADDED 2008/04/15 07:58:36 rt 1.1.2.19: Update license header to LGPL 3. 2008/02/28 14:58:26 fne 1.1.2.18: #i82877# fix: do not manually hit test lists 2008/02/28 11:40:22 fne 1.1.2.17: #i82877# corrected relations label_for and labeled_by 2008/02/26 11:31:01 fne 1.1.2.16: #i82877# linkedUIElements attribute and some small fixes 2008/02/25 11:46:14 fne 1.1.2.15: #i82877# small fixes 2008/02/22 14:23:59 fne 1.1.2.14: #i82877# fix for floating windows mk2 2008/02/22 08:22:40 fne 1.1.2.13: #i82877# fix for floating windows 2008/02/21 20:07:01 fne 1.1.2.12: #i82877# redesigned hittest 2008/02/21 10:46:25 obr 1.1.2.11: keep a reference on the currently focused object (needed for transient object like table cells) 2008/02/21 05:50:48 obr 1.1.2.10: keep reference to hitChild for transient objects 2008/02/19 19:29:38 obr 1.1.2.9: release only when using factory directly 2008/02/19 12:17:29 obr 1.1.2.8: fixed a bunch of memory leaks 2008/02/18 22:43:04 obr 1.1.2.7: simulate focus notifications for active descendant changed events 2008/02/18 06:08:55 obr 1.1.2.6: make sure the SalFrameView gets inserted to the wrapper repository early enough and make the listener objects own their wrappers 2008/02/15 07:55:40 obr 1.1.2.5: removed mpParent 2008/02/15 07:41:41 obr 1.1.2.4: objects now create a wrapper for their parent objects on demand 2008/02/12 15:40:01 fne 1.1.2.3: #i82877# support for the following text attributes: fontname, fontsize, bold, italic, underline 2008/02/10 08:27:41 fne 1.1.2.2: #i82877# fixes for text areas 2008/02/06 07:55:46 fne 1.1.2.1: #i82877# renamed cxx to mm
2008-04-15 12:13:46 +00:00
}
return value;
}
-(BOOL)accessibilityIsIgnored {
SAL_INFO("vcl.a11y", "[" << self << " accessibilityIsIgnored]");
// #i90575# guard NSAccessibility protocol against unwanted access
if ( isPopupMenuOpen ) {
return NO;
}
BOOL ignored = NO;
INTEGRATION: CWS aqua11y01 (1.1.2); FILE ADDED 2008/04/15 07:58:36 rt 1.1.2.19: Update license header to LGPL 3. 2008/02/28 14:58:26 fne 1.1.2.18: #i82877# fix: do not manually hit test lists 2008/02/28 11:40:22 fne 1.1.2.17: #i82877# corrected relations label_for and labeled_by 2008/02/26 11:31:01 fne 1.1.2.16: #i82877# linkedUIElements attribute and some small fixes 2008/02/25 11:46:14 fne 1.1.2.15: #i82877# small fixes 2008/02/22 14:23:59 fne 1.1.2.14: #i82877# fix for floating windows mk2 2008/02/22 08:22:40 fne 1.1.2.13: #i82877# fix for floating windows 2008/02/21 20:07:01 fne 1.1.2.12: #i82877# redesigned hittest 2008/02/21 10:46:25 obr 1.1.2.11: keep a reference on the currently focused object (needed for transient object like table cells) 2008/02/21 05:50:48 obr 1.1.2.10: keep reference to hitChild for transient objects 2008/02/19 19:29:38 obr 1.1.2.9: release only when using factory directly 2008/02/19 12:17:29 obr 1.1.2.8: fixed a bunch of memory leaks 2008/02/18 22:43:04 obr 1.1.2.7: simulate focus notifications for active descendant changed events 2008/02/18 06:08:55 obr 1.1.2.6: make sure the SalFrameView gets inserted to the wrapper repository early enough and make the listener objects own their wrappers 2008/02/15 07:55:40 obr 1.1.2.5: removed mpParent 2008/02/15 07:41:41 obr 1.1.2.4: objects now create a wrapper for their parent objects on demand 2008/02/12 15:40:01 fne 1.1.2.3: #i82877# support for the following text attributes: fontname, fontsize, bold, italic, underline 2008/02/10 08:27:41 fne 1.1.2.2: #i82877# fixes for text areas 2008/02/06 07:55:46 fne 1.1.2.1: #i82877# renamed cxx to mm
2008-04-15 12:13:46 +00:00
sal_Int16 nRole = [ self accessibleContext ] -> getAccessibleRole();
switch ( nRole ) {
//case AccessibleRole::PANEL:
INTEGRATION: CWS aqua11y01 (1.1.2); FILE ADDED 2008/04/15 07:58:36 rt 1.1.2.19: Update license header to LGPL 3. 2008/02/28 14:58:26 fne 1.1.2.18: #i82877# fix: do not manually hit test lists 2008/02/28 11:40:22 fne 1.1.2.17: #i82877# corrected relations label_for and labeled_by 2008/02/26 11:31:01 fne 1.1.2.16: #i82877# linkedUIElements attribute and some small fixes 2008/02/25 11:46:14 fne 1.1.2.15: #i82877# small fixes 2008/02/22 14:23:59 fne 1.1.2.14: #i82877# fix for floating windows mk2 2008/02/22 08:22:40 fne 1.1.2.13: #i82877# fix for floating windows 2008/02/21 20:07:01 fne 1.1.2.12: #i82877# redesigned hittest 2008/02/21 10:46:25 obr 1.1.2.11: keep a reference on the currently focused object (needed for transient object like table cells) 2008/02/21 05:50:48 obr 1.1.2.10: keep reference to hitChild for transient objects 2008/02/19 19:29:38 obr 1.1.2.9: release only when using factory directly 2008/02/19 12:17:29 obr 1.1.2.8: fixed a bunch of memory leaks 2008/02/18 22:43:04 obr 1.1.2.7: simulate focus notifications for active descendant changed events 2008/02/18 06:08:55 obr 1.1.2.6: make sure the SalFrameView gets inserted to the wrapper repository early enough and make the listener objects own their wrappers 2008/02/15 07:55:40 obr 1.1.2.5: removed mpParent 2008/02/15 07:41:41 obr 1.1.2.4: objects now create a wrapper for their parent objects on demand 2008/02/12 15:40:01 fne 1.1.2.3: #i82877# support for the following text attributes: fontname, fontsize, bold, italic, underline 2008/02/10 08:27:41 fne 1.1.2.2: #i82877# fixes for text areas 2008/02/06 07:55:46 fne 1.1.2.1: #i82877# renamed cxx to mm
2008-04-15 12:13:46 +00:00
case AccessibleRole::FRAME:
case AccessibleRole::ROOT_PANE:
case AccessibleRole::SEPARATOR:
case AccessibleRole::FILLER:
case AccessibleRole::DIALOG:
ignored = YES;
break;
default:
INTEGRATION: CWS aqua11y01 (1.1.2); FILE ADDED 2008/04/15 07:58:36 rt 1.1.2.19: Update license header to LGPL 3. 2008/02/28 14:58:26 fne 1.1.2.18: #i82877# fix: do not manually hit test lists 2008/02/28 11:40:22 fne 1.1.2.17: #i82877# corrected relations label_for and labeled_by 2008/02/26 11:31:01 fne 1.1.2.16: #i82877# linkedUIElements attribute and some small fixes 2008/02/25 11:46:14 fne 1.1.2.15: #i82877# small fixes 2008/02/22 14:23:59 fne 1.1.2.14: #i82877# fix for floating windows mk2 2008/02/22 08:22:40 fne 1.1.2.13: #i82877# fix for floating windows 2008/02/21 20:07:01 fne 1.1.2.12: #i82877# redesigned hittest 2008/02/21 10:46:25 obr 1.1.2.11: keep a reference on the currently focused object (needed for transient object like table cells) 2008/02/21 05:50:48 obr 1.1.2.10: keep reference to hitChild for transient objects 2008/02/19 19:29:38 obr 1.1.2.9: release only when using factory directly 2008/02/19 12:17:29 obr 1.1.2.8: fixed a bunch of memory leaks 2008/02/18 22:43:04 obr 1.1.2.7: simulate focus notifications for active descendant changed events 2008/02/18 06:08:55 obr 1.1.2.6: make sure the SalFrameView gets inserted to the wrapper repository early enough and make the listener objects own their wrappers 2008/02/15 07:55:40 obr 1.1.2.5: removed mpParent 2008/02/15 07:41:41 obr 1.1.2.4: objects now create a wrapper for their parent objects on demand 2008/02/12 15:40:01 fne 1.1.2.3: #i82877# support for the following text attributes: fontname, fontsize, bold, italic, underline 2008/02/10 08:27:41 fne 1.1.2.2: #i82877# fixes for text areas 2008/02/06 07:55:46 fne 1.1.2.1: #i82877# renamed cxx to mm
2008-04-15 12:13:46 +00:00
ignored = ! ( [ self accessibleContext ] -> getAccessibleStateSet() -> contains ( AccessibleStateType::VISIBLE ) );
break;
}
return ignored; // TODO: to be completed
}
-(NSArray *)accessibilityAttributeNames {
SAL_INFO("vcl.a11y", "[" << self << " accessibilityAttributeNames]");
// #i90575# guard NSAccessibility protocol against unwanted access
if ( isPopupMenuOpen ) {
return nil;
}
INTEGRATION: CWS aqua11y01 (1.1.2); FILE ADDED 2008/04/15 07:58:36 rt 1.1.2.19: Update license header to LGPL 3. 2008/02/28 14:58:26 fne 1.1.2.18: #i82877# fix: do not manually hit test lists 2008/02/28 11:40:22 fne 1.1.2.17: #i82877# corrected relations label_for and labeled_by 2008/02/26 11:31:01 fne 1.1.2.16: #i82877# linkedUIElements attribute and some small fixes 2008/02/25 11:46:14 fne 1.1.2.15: #i82877# small fixes 2008/02/22 14:23:59 fne 1.1.2.14: #i82877# fix for floating windows mk2 2008/02/22 08:22:40 fne 1.1.2.13: #i82877# fix for floating windows 2008/02/21 20:07:01 fne 1.1.2.12: #i82877# redesigned hittest 2008/02/21 10:46:25 obr 1.1.2.11: keep a reference on the currently focused object (needed for transient object like table cells) 2008/02/21 05:50:48 obr 1.1.2.10: keep reference to hitChild for transient objects 2008/02/19 19:29:38 obr 1.1.2.9: release only when using factory directly 2008/02/19 12:17:29 obr 1.1.2.8: fixed a bunch of memory leaks 2008/02/18 22:43:04 obr 1.1.2.7: simulate focus notifications for active descendant changed events 2008/02/18 06:08:55 obr 1.1.2.6: make sure the SalFrameView gets inserted to the wrapper repository early enough and make the listener objects own their wrappers 2008/02/15 07:55:40 obr 1.1.2.5: removed mpParent 2008/02/15 07:41:41 obr 1.1.2.4: objects now create a wrapper for their parent objects on demand 2008/02/12 15:40:01 fne 1.1.2.3: #i82877# support for the following text attributes: fontname, fontsize, bold, italic, underline 2008/02/10 08:27:41 fne 1.1.2.2: #i82877# fixes for text areas 2008/02/06 07:55:46 fne 1.1.2.1: #i82877# renamed cxx to mm
2008-04-15 12:13:46 +00:00
NSString * nativeSubrole = nil;
NSString * title = nil;
NSMutableArray * attributeNames = nil;
sal_Int32 nAccessibleChildren = 0;
INTEGRATION: CWS aqua11y01 (1.1.2); FILE ADDED 2008/04/15 07:58:36 rt 1.1.2.19: Update license header to LGPL 3. 2008/02/28 14:58:26 fne 1.1.2.18: #i82877# fix: do not manually hit test lists 2008/02/28 11:40:22 fne 1.1.2.17: #i82877# corrected relations label_for and labeled_by 2008/02/26 11:31:01 fne 1.1.2.16: #i82877# linkedUIElements attribute and some small fixes 2008/02/25 11:46:14 fne 1.1.2.15: #i82877# small fixes 2008/02/22 14:23:59 fne 1.1.2.14: #i82877# fix for floating windows mk2 2008/02/22 08:22:40 fne 1.1.2.13: #i82877# fix for floating windows 2008/02/21 20:07:01 fne 1.1.2.12: #i82877# redesigned hittest 2008/02/21 10:46:25 obr 1.1.2.11: keep a reference on the currently focused object (needed for transient object like table cells) 2008/02/21 05:50:48 obr 1.1.2.10: keep reference to hitChild for transient objects 2008/02/19 19:29:38 obr 1.1.2.9: release only when using factory directly 2008/02/19 12:17:29 obr 1.1.2.8: fixed a bunch of memory leaks 2008/02/18 22:43:04 obr 1.1.2.7: simulate focus notifications for active descendant changed events 2008/02/18 06:08:55 obr 1.1.2.6: make sure the SalFrameView gets inserted to the wrapper repository early enough and make the listener objects own their wrappers 2008/02/15 07:55:40 obr 1.1.2.5: removed mpParent 2008/02/15 07:41:41 obr 1.1.2.4: objects now create a wrapper for their parent objects on demand 2008/02/12 15:40:01 fne 1.1.2.3: #i82877# support for the following text attributes: fontname, fontsize, bold, italic, underline 2008/02/10 08:27:41 fne 1.1.2.2: #i82877# fixes for text areas 2008/02/06 07:55:46 fne 1.1.2.1: #i82877# renamed cxx to mm
2008-04-15 12:13:46 +00:00
try {
// Default Attributes
attributeNames = [ NSMutableArray arrayWithObjects:
NSAccessibilityRoleAttribute,
NSAccessibilityDescriptionAttribute,
NSAccessibilityParentAttribute,
NSAccessibilityWindowAttribute,
NSAccessibilityHelpAttribute,
NSAccessibilityTopLevelUIElementAttribute,
NSAccessibilityRoleDescriptionAttribute,
INTEGRATION: CWS aqua11y01 (1.1.2); FILE ADDED 2008/04/15 07:58:36 rt 1.1.2.19: Update license header to LGPL 3. 2008/02/28 14:58:26 fne 1.1.2.18: #i82877# fix: do not manually hit test lists 2008/02/28 11:40:22 fne 1.1.2.17: #i82877# corrected relations label_for and labeled_by 2008/02/26 11:31:01 fne 1.1.2.16: #i82877# linkedUIElements attribute and some small fixes 2008/02/25 11:46:14 fne 1.1.2.15: #i82877# small fixes 2008/02/22 14:23:59 fne 1.1.2.14: #i82877# fix for floating windows mk2 2008/02/22 08:22:40 fne 1.1.2.13: #i82877# fix for floating windows 2008/02/21 20:07:01 fne 1.1.2.12: #i82877# redesigned hittest 2008/02/21 10:46:25 obr 1.1.2.11: keep a reference on the currently focused object (needed for transient object like table cells) 2008/02/21 05:50:48 obr 1.1.2.10: keep reference to hitChild for transient objects 2008/02/19 19:29:38 obr 1.1.2.9: release only when using factory directly 2008/02/19 12:17:29 obr 1.1.2.8: fixed a bunch of memory leaks 2008/02/18 22:43:04 obr 1.1.2.7: simulate focus notifications for active descendant changed events 2008/02/18 06:08:55 obr 1.1.2.6: make sure the SalFrameView gets inserted to the wrapper repository early enough and make the listener objects own their wrappers 2008/02/15 07:55:40 obr 1.1.2.5: removed mpParent 2008/02/15 07:41:41 obr 1.1.2.4: objects now create a wrapper for their parent objects on demand 2008/02/12 15:40:01 fne 1.1.2.3: #i82877# support for the following text attributes: fontname, fontsize, bold, italic, underline 2008/02/10 08:27:41 fne 1.1.2.2: #i82877# fixes for text areas 2008/02/06 07:55:46 fne 1.1.2.1: #i82877# renamed cxx to mm
2008-04-15 12:13:46 +00:00
nil ];
nativeSubrole = (NSString *) [ AquaA11yRoleHelper getNativeSubroleFrom: [ self accessibleContext ] -> getAccessibleRole() ];
title = (NSString *) [ self titleAttribute ];
Reference < XAccessibleRelationSet > rxRelationSet = [ self accessibleContext ] -> getAccessibleRelationSet();
// Special Attributes depending on attribute values
if ( nativeSubrole && ! [ nativeSubrole isEqualToString: @"" ] ) {
INTEGRATION: CWS aqua11y01 (1.1.2); FILE ADDED 2008/04/15 07:58:36 rt 1.1.2.19: Update license header to LGPL 3. 2008/02/28 14:58:26 fne 1.1.2.18: #i82877# fix: do not manually hit test lists 2008/02/28 11:40:22 fne 1.1.2.17: #i82877# corrected relations label_for and labeled_by 2008/02/26 11:31:01 fne 1.1.2.16: #i82877# linkedUIElements attribute and some small fixes 2008/02/25 11:46:14 fne 1.1.2.15: #i82877# small fixes 2008/02/22 14:23:59 fne 1.1.2.14: #i82877# fix for floating windows mk2 2008/02/22 08:22:40 fne 1.1.2.13: #i82877# fix for floating windows 2008/02/21 20:07:01 fne 1.1.2.12: #i82877# redesigned hittest 2008/02/21 10:46:25 obr 1.1.2.11: keep a reference on the currently focused object (needed for transient object like table cells) 2008/02/21 05:50:48 obr 1.1.2.10: keep reference to hitChild for transient objects 2008/02/19 19:29:38 obr 1.1.2.9: release only when using factory directly 2008/02/19 12:17:29 obr 1.1.2.8: fixed a bunch of memory leaks 2008/02/18 22:43:04 obr 1.1.2.7: simulate focus notifications for active descendant changed events 2008/02/18 06:08:55 obr 1.1.2.6: make sure the SalFrameView gets inserted to the wrapper repository early enough and make the listener objects own their wrappers 2008/02/15 07:55:40 obr 1.1.2.5: removed mpParent 2008/02/15 07:41:41 obr 1.1.2.4: objects now create a wrapper for their parent objects on demand 2008/02/12 15:40:01 fne 1.1.2.3: #i82877# support for the following text attributes: fontname, fontsize, bold, italic, underline 2008/02/10 08:27:41 fne 1.1.2.2: #i82877# fixes for text areas 2008/02/06 07:55:46 fne 1.1.2.1: #i82877# renamed cxx to mm
2008-04-15 12:13:46 +00:00
[ attributeNames addObject: NSAccessibilitySubroleAttribute ];
}
CWS-TOOLING: integrate CWS vcl103 2009-07-24 Jens-Heiner Rechtien #i10000#: merge with m53 2009-07-10 Philipp Lohmann merge 2009-07-10 hdu #i103417# ignore non-standard font styles 2009-07-07 Philipp Lohmann #i98789# add: Invalidate on StateChanged( STATE_CHANGE_ENABLE ) 2009-07-07 Philipp Lohmann #i102501# ExportFormFields should be persistent 2009-07-07 Philipp Lohmann merge 2009-07-07 Philipp Lohmann #i103319# there is no platform currently where we should beep on disabled controls 2009-07-02 Philipp Lohmann merge 2009-07-01 Philipp Lohmann #i93100# handle ListBox with no border a little more graceful on MacOSX 2009-07-01 Philipp Lohmann #i101307# don't crash due to unfortunate timing 2009-07-03 thb #i103145# Swapped HINT_DOCK for HINT_TOOLBAR for the presentation fullscreen window; anecdotal evidence suggests it works much better then for wide-spread window managers 2009-06-30 Philipp Lohmann #i103102# evaluate Cmd-Option key combinations 2009-06-29 Philipp Lohmann #i103148# catch exception from missing UCB (thanks thb) 2009-06-29 hdu #i102378# fix PDF-export on PPC (thanks cloph!) 2009-06-25 Philipp Lohmann fix another link problem 2009-06-24 Philipp Lohmann use correct method signature 2009-06-24 Philipp Lohmann fix a warning 2009-06-24 Philipp Lohmann fix a warning 2009-06-24 Philipp Lohmann #i100357# add: GDIMetaFile::GetBoundRect 2009-06-24 Philipp Lohmann merge 2009-06-24 hdu #i100357# extend GetTextBoundRect() to measure justified text too 2009-06-23 Philipp Lohmann #i101108# protect writer from itself, no one could ever use paper of size (0,0) 2009-06-22 Philipp Lohmann merge 2009-06-22 Philipp Lohmann #i92356# treat windows running a popup menu as modal 2009-06-22 hdu #i100000# remove sft.h again (CWS dba32b accidentially reintroduced it) 2009-06-17 Philipp Lohmann merge 2009-06-17 Philipp Lohmann remove warnings (thanks ericb) 2009-06-17 Philipp Lohmann merge 2009-06-17 Philipp Lohmann #i102133# free cursors (thanks cmc) 2009-06-17 Philipp Lohmann #i97293# catch exception 2009-06-17 Philipp Lohmann #i91240# fix images in menus, again 2009-06-15 Philipp Lohmann #i100586# fix a pure virtual method (thanks cmc) 2009-06-15 Philipp Lohmann fix an array delete issue 2009-06-15 Philipp Lohmann #i102228# fix a cleanup issue 2009-06-15 Philipp Lohmann #i97218# solve duplicate accelerator 2009-06-12 hdu #i102219# avoid void*->oslGenericFunction cast for MingW (thanks tono!)
2009-07-24 15:45:35 +00:00
try
{
nAccessibleChildren = [ self accessibleContext ] -> getAccessibleChildCount();
if ( nAccessibleChildren > 0 ) {
[ attributeNames addObject: NSAccessibilityChildrenAttribute ];
INTEGRATION: CWS aqua11y01 (1.1.2); FILE ADDED 2008/04/15 07:58:36 rt 1.1.2.19: Update license header to LGPL 3. 2008/02/28 14:58:26 fne 1.1.2.18: #i82877# fix: do not manually hit test lists 2008/02/28 11:40:22 fne 1.1.2.17: #i82877# corrected relations label_for and labeled_by 2008/02/26 11:31:01 fne 1.1.2.16: #i82877# linkedUIElements attribute and some small fixes 2008/02/25 11:46:14 fne 1.1.2.15: #i82877# small fixes 2008/02/22 14:23:59 fne 1.1.2.14: #i82877# fix for floating windows mk2 2008/02/22 08:22:40 fne 1.1.2.13: #i82877# fix for floating windows 2008/02/21 20:07:01 fne 1.1.2.12: #i82877# redesigned hittest 2008/02/21 10:46:25 obr 1.1.2.11: keep a reference on the currently focused object (needed for transient object like table cells) 2008/02/21 05:50:48 obr 1.1.2.10: keep reference to hitChild for transient objects 2008/02/19 19:29:38 obr 1.1.2.9: release only when using factory directly 2008/02/19 12:17:29 obr 1.1.2.8: fixed a bunch of memory leaks 2008/02/18 22:43:04 obr 1.1.2.7: simulate focus notifications for active descendant changed events 2008/02/18 06:08:55 obr 1.1.2.6: make sure the SalFrameView gets inserted to the wrapper repository early enough and make the listener objects own their wrappers 2008/02/15 07:55:40 obr 1.1.2.5: removed mpParent 2008/02/15 07:41:41 obr 1.1.2.4: objects now create a wrapper for their parent objects on demand 2008/02/12 15:40:01 fne 1.1.2.3: #i82877# support for the following text attributes: fontname, fontsize, bold, italic, underline 2008/02/10 08:27:41 fne 1.1.2.2: #i82877# fixes for text areas 2008/02/06 07:55:46 fne 1.1.2.1: #i82877# renamed cxx to mm
2008-04-15 12:13:46 +00:00
}
CWS-TOOLING: integrate CWS vcl103 2009-07-24 Jens-Heiner Rechtien #i10000#: merge with m53 2009-07-10 Philipp Lohmann merge 2009-07-10 hdu #i103417# ignore non-standard font styles 2009-07-07 Philipp Lohmann #i98789# add: Invalidate on StateChanged( STATE_CHANGE_ENABLE ) 2009-07-07 Philipp Lohmann #i102501# ExportFormFields should be persistent 2009-07-07 Philipp Lohmann merge 2009-07-07 Philipp Lohmann #i103319# there is no platform currently where we should beep on disabled controls 2009-07-02 Philipp Lohmann merge 2009-07-01 Philipp Lohmann #i93100# handle ListBox with no border a little more graceful on MacOSX 2009-07-01 Philipp Lohmann #i101307# don't crash due to unfortunate timing 2009-07-03 thb #i103145# Swapped HINT_DOCK for HINT_TOOLBAR for the presentation fullscreen window; anecdotal evidence suggests it works much better then for wide-spread window managers 2009-06-30 Philipp Lohmann #i103102# evaluate Cmd-Option key combinations 2009-06-29 Philipp Lohmann #i103148# catch exception from missing UCB (thanks thb) 2009-06-29 hdu #i102378# fix PDF-export on PPC (thanks cloph!) 2009-06-25 Philipp Lohmann fix another link problem 2009-06-24 Philipp Lohmann use correct method signature 2009-06-24 Philipp Lohmann fix a warning 2009-06-24 Philipp Lohmann fix a warning 2009-06-24 Philipp Lohmann #i100357# add: GDIMetaFile::GetBoundRect 2009-06-24 Philipp Lohmann merge 2009-06-24 hdu #i100357# extend GetTextBoundRect() to measure justified text too 2009-06-23 Philipp Lohmann #i101108# protect writer from itself, no one could ever use paper of size (0,0) 2009-06-22 Philipp Lohmann merge 2009-06-22 Philipp Lohmann #i92356# treat windows running a popup menu as modal 2009-06-22 hdu #i100000# remove sft.h again (CWS dba32b accidentially reintroduced it) 2009-06-17 Philipp Lohmann merge 2009-06-17 Philipp Lohmann remove warnings (thanks ericb) 2009-06-17 Philipp Lohmann merge 2009-06-17 Philipp Lohmann #i102133# free cursors (thanks cmc) 2009-06-17 Philipp Lohmann #i97293# catch exception 2009-06-17 Philipp Lohmann #i91240# fix images in menus, again 2009-06-15 Philipp Lohmann #i100586# fix a pure virtual method (thanks cmc) 2009-06-15 Philipp Lohmann fix an array delete issue 2009-06-15 Philipp Lohmann #i102228# fix a cleanup issue 2009-06-15 Philipp Lohmann #i97218# solve duplicate accelerator 2009-06-12 hdu #i102219# avoid void*->oslGenericFunction cast for MingW (thanks tono!)
2009-07-24 15:45:35 +00:00
}
catch( DisposedException& ) {}
catch( RuntimeException& ) {}
if ( title && ! [ title isEqualToString: @"" ] ) {
INTEGRATION: CWS aqua11y01 (1.1.2); FILE ADDED 2008/04/15 07:58:36 rt 1.1.2.19: Update license header to LGPL 3. 2008/02/28 14:58:26 fne 1.1.2.18: #i82877# fix: do not manually hit test lists 2008/02/28 11:40:22 fne 1.1.2.17: #i82877# corrected relations label_for and labeled_by 2008/02/26 11:31:01 fne 1.1.2.16: #i82877# linkedUIElements attribute and some small fixes 2008/02/25 11:46:14 fne 1.1.2.15: #i82877# small fixes 2008/02/22 14:23:59 fne 1.1.2.14: #i82877# fix for floating windows mk2 2008/02/22 08:22:40 fne 1.1.2.13: #i82877# fix for floating windows 2008/02/21 20:07:01 fne 1.1.2.12: #i82877# redesigned hittest 2008/02/21 10:46:25 obr 1.1.2.11: keep a reference on the currently focused object (needed for transient object like table cells) 2008/02/21 05:50:48 obr 1.1.2.10: keep reference to hitChild for transient objects 2008/02/19 19:29:38 obr 1.1.2.9: release only when using factory directly 2008/02/19 12:17:29 obr 1.1.2.8: fixed a bunch of memory leaks 2008/02/18 22:43:04 obr 1.1.2.7: simulate focus notifications for active descendant changed events 2008/02/18 06:08:55 obr 1.1.2.6: make sure the SalFrameView gets inserted to the wrapper repository early enough and make the listener objects own their wrappers 2008/02/15 07:55:40 obr 1.1.2.5: removed mpParent 2008/02/15 07:41:41 obr 1.1.2.4: objects now create a wrapper for their parent objects on demand 2008/02/12 15:40:01 fne 1.1.2.3: #i82877# support for the following text attributes: fontname, fontsize, bold, italic, underline 2008/02/10 08:27:41 fne 1.1.2.2: #i82877# fixes for text areas 2008/02/06 07:55:46 fne 1.1.2.1: #i82877# renamed cxx to mm
2008-04-15 12:13:46 +00:00
[ attributeNames addObject: NSAccessibilityTitleAttribute ];
}
if ( [ title length ] == 0 && rxRelationSet.is() && rxRelationSet -> containsRelation ( AccessibleRelationType::LABELED_BY ) ) {
[ attributeNames addObject: NSAccessibilityTitleUIElementAttribute ];
}
if ( rxRelationSet.is() && rxRelationSet -> containsRelation ( AccessibleRelationType::LABEL_FOR ) ) {
[ attributeNames addObject: NSAccessibilityServesAsTitleForUIElementsAttribute ];
}
// Special Attributes depending on interface
if( [self accessibleContext ] -> getAccessibleRole() == AccessibleRole::TABLE )
[AquaA11yTableWrapper addAttributeNamesTo: attributeNames object: self];
if ( [ self accessibleText ] ) {
INTEGRATION: CWS aqua11y01 (1.1.2); FILE ADDED 2008/04/15 07:58:36 rt 1.1.2.19: Update license header to LGPL 3. 2008/02/28 14:58:26 fne 1.1.2.18: #i82877# fix: do not manually hit test lists 2008/02/28 11:40:22 fne 1.1.2.17: #i82877# corrected relations label_for and labeled_by 2008/02/26 11:31:01 fne 1.1.2.16: #i82877# linkedUIElements attribute and some small fixes 2008/02/25 11:46:14 fne 1.1.2.15: #i82877# small fixes 2008/02/22 14:23:59 fne 1.1.2.14: #i82877# fix for floating windows mk2 2008/02/22 08:22:40 fne 1.1.2.13: #i82877# fix for floating windows 2008/02/21 20:07:01 fne 1.1.2.12: #i82877# redesigned hittest 2008/02/21 10:46:25 obr 1.1.2.11: keep a reference on the currently focused object (needed for transient object like table cells) 2008/02/21 05:50:48 obr 1.1.2.10: keep reference to hitChild for transient objects 2008/02/19 19:29:38 obr 1.1.2.9: release only when using factory directly 2008/02/19 12:17:29 obr 1.1.2.8: fixed a bunch of memory leaks 2008/02/18 22:43:04 obr 1.1.2.7: simulate focus notifications for active descendant changed events 2008/02/18 06:08:55 obr 1.1.2.6: make sure the SalFrameView gets inserted to the wrapper repository early enough and make the listener objects own their wrappers 2008/02/15 07:55:40 obr 1.1.2.5: removed mpParent 2008/02/15 07:41:41 obr 1.1.2.4: objects now create a wrapper for their parent objects on demand 2008/02/12 15:40:01 fne 1.1.2.3: #i82877# support for the following text attributes: fontname, fontsize, bold, italic, underline 2008/02/10 08:27:41 fne 1.1.2.2: #i82877# fixes for text areas 2008/02/06 07:55:46 fne 1.1.2.1: #i82877# renamed cxx to mm
2008-04-15 12:13:46 +00:00
[ AquaA11yTextWrapper addAttributeNamesTo: attributeNames ];
}
if ( [ self accessibleComponent ] ) {
INTEGRATION: CWS aqua11y01 (1.1.2); FILE ADDED 2008/04/15 07:58:36 rt 1.1.2.19: Update license header to LGPL 3. 2008/02/28 14:58:26 fne 1.1.2.18: #i82877# fix: do not manually hit test lists 2008/02/28 11:40:22 fne 1.1.2.17: #i82877# corrected relations label_for and labeled_by 2008/02/26 11:31:01 fne 1.1.2.16: #i82877# linkedUIElements attribute and some small fixes 2008/02/25 11:46:14 fne 1.1.2.15: #i82877# small fixes 2008/02/22 14:23:59 fne 1.1.2.14: #i82877# fix for floating windows mk2 2008/02/22 08:22:40 fne 1.1.2.13: #i82877# fix for floating windows 2008/02/21 20:07:01 fne 1.1.2.12: #i82877# redesigned hittest 2008/02/21 10:46:25 obr 1.1.2.11: keep a reference on the currently focused object (needed for transient object like table cells) 2008/02/21 05:50:48 obr 1.1.2.10: keep reference to hitChild for transient objects 2008/02/19 19:29:38 obr 1.1.2.9: release only when using factory directly 2008/02/19 12:17:29 obr 1.1.2.8: fixed a bunch of memory leaks 2008/02/18 22:43:04 obr 1.1.2.7: simulate focus notifications for active descendant changed events 2008/02/18 06:08:55 obr 1.1.2.6: make sure the SalFrameView gets inserted to the wrapper repository early enough and make the listener objects own their wrappers 2008/02/15 07:55:40 obr 1.1.2.5: removed mpParent 2008/02/15 07:41:41 obr 1.1.2.4: objects now create a wrapper for their parent objects on demand 2008/02/12 15:40:01 fne 1.1.2.3: #i82877# support for the following text attributes: fontname, fontsize, bold, italic, underline 2008/02/10 08:27:41 fne 1.1.2.2: #i82877# fixes for text areas 2008/02/06 07:55:46 fne 1.1.2.1: #i82877# renamed cxx to mm
2008-04-15 12:13:46 +00:00
[ AquaA11yComponentWrapper addAttributeNamesTo: attributeNames ];
}
if ( [ self accessibleSelection ] ) {
INTEGRATION: CWS aqua11y01 (1.1.2); FILE ADDED 2008/04/15 07:58:36 rt 1.1.2.19: Update license header to LGPL 3. 2008/02/28 14:58:26 fne 1.1.2.18: #i82877# fix: do not manually hit test lists 2008/02/28 11:40:22 fne 1.1.2.17: #i82877# corrected relations label_for and labeled_by 2008/02/26 11:31:01 fne 1.1.2.16: #i82877# linkedUIElements attribute and some small fixes 2008/02/25 11:46:14 fne 1.1.2.15: #i82877# small fixes 2008/02/22 14:23:59 fne 1.1.2.14: #i82877# fix for floating windows mk2 2008/02/22 08:22:40 fne 1.1.2.13: #i82877# fix for floating windows 2008/02/21 20:07:01 fne 1.1.2.12: #i82877# redesigned hittest 2008/02/21 10:46:25 obr 1.1.2.11: keep a reference on the currently focused object (needed for transient object like table cells) 2008/02/21 05:50:48 obr 1.1.2.10: keep reference to hitChild for transient objects 2008/02/19 19:29:38 obr 1.1.2.9: release only when using factory directly 2008/02/19 12:17:29 obr 1.1.2.8: fixed a bunch of memory leaks 2008/02/18 22:43:04 obr 1.1.2.7: simulate focus notifications for active descendant changed events 2008/02/18 06:08:55 obr 1.1.2.6: make sure the SalFrameView gets inserted to the wrapper repository early enough and make the listener objects own their wrappers 2008/02/15 07:55:40 obr 1.1.2.5: removed mpParent 2008/02/15 07:41:41 obr 1.1.2.4: objects now create a wrapper for their parent objects on demand 2008/02/12 15:40:01 fne 1.1.2.3: #i82877# support for the following text attributes: fontname, fontsize, bold, italic, underline 2008/02/10 08:27:41 fne 1.1.2.2: #i82877# fixes for text areas 2008/02/06 07:55:46 fne 1.1.2.1: #i82877# renamed cxx to mm
2008-04-15 12:13:46 +00:00
[ AquaA11ySelectionWrapper addAttributeNamesTo: attributeNames ];
}
if ( [ self accessibleValue ] ) {
INTEGRATION: CWS aqua11y01 (1.1.2); FILE ADDED 2008/04/15 07:58:36 rt 1.1.2.19: Update license header to LGPL 3. 2008/02/28 14:58:26 fne 1.1.2.18: #i82877# fix: do not manually hit test lists 2008/02/28 11:40:22 fne 1.1.2.17: #i82877# corrected relations label_for and labeled_by 2008/02/26 11:31:01 fne 1.1.2.16: #i82877# linkedUIElements attribute and some small fixes 2008/02/25 11:46:14 fne 1.1.2.15: #i82877# small fixes 2008/02/22 14:23:59 fne 1.1.2.14: #i82877# fix for floating windows mk2 2008/02/22 08:22:40 fne 1.1.2.13: #i82877# fix for floating windows 2008/02/21 20:07:01 fne 1.1.2.12: #i82877# redesigned hittest 2008/02/21 10:46:25 obr 1.1.2.11: keep a reference on the currently focused object (needed for transient object like table cells) 2008/02/21 05:50:48 obr 1.1.2.10: keep reference to hitChild for transient objects 2008/02/19 19:29:38 obr 1.1.2.9: release only when using factory directly 2008/02/19 12:17:29 obr 1.1.2.8: fixed a bunch of memory leaks 2008/02/18 22:43:04 obr 1.1.2.7: simulate focus notifications for active descendant changed events 2008/02/18 06:08:55 obr 1.1.2.6: make sure the SalFrameView gets inserted to the wrapper repository early enough and make the listener objects own their wrappers 2008/02/15 07:55:40 obr 1.1.2.5: removed mpParent 2008/02/15 07:41:41 obr 1.1.2.4: objects now create a wrapper for their parent objects on demand 2008/02/12 15:40:01 fne 1.1.2.3: #i82877# support for the following text attributes: fontname, fontsize, bold, italic, underline 2008/02/10 08:27:41 fne 1.1.2.2: #i82877# fixes for text areas 2008/02/06 07:55:46 fne 1.1.2.1: #i82877# renamed cxx to mm
2008-04-15 12:13:46 +00:00
[ AquaA11yValueWrapper addAttributeNamesTo: attributeNames ];
}
[ nativeSubrole release ];
[ title release ];
return attributeNames;
} catch ( DisposedException & e ) { // Object is no longer available
if ( nativeSubrole ) {
INTEGRATION: CWS aqua11y01 (1.1.2); FILE ADDED 2008/04/15 07:58:36 rt 1.1.2.19: Update license header to LGPL 3. 2008/02/28 14:58:26 fne 1.1.2.18: #i82877# fix: do not manually hit test lists 2008/02/28 11:40:22 fne 1.1.2.17: #i82877# corrected relations label_for and labeled_by 2008/02/26 11:31:01 fne 1.1.2.16: #i82877# linkedUIElements attribute and some small fixes 2008/02/25 11:46:14 fne 1.1.2.15: #i82877# small fixes 2008/02/22 14:23:59 fne 1.1.2.14: #i82877# fix for floating windows mk2 2008/02/22 08:22:40 fne 1.1.2.13: #i82877# fix for floating windows 2008/02/21 20:07:01 fne 1.1.2.12: #i82877# redesigned hittest 2008/02/21 10:46:25 obr 1.1.2.11: keep a reference on the currently focused object (needed for transient object like table cells) 2008/02/21 05:50:48 obr 1.1.2.10: keep reference to hitChild for transient objects 2008/02/19 19:29:38 obr 1.1.2.9: release only when using factory directly 2008/02/19 12:17:29 obr 1.1.2.8: fixed a bunch of memory leaks 2008/02/18 22:43:04 obr 1.1.2.7: simulate focus notifications for active descendant changed events 2008/02/18 06:08:55 obr 1.1.2.6: make sure the SalFrameView gets inserted to the wrapper repository early enough and make the listener objects own their wrappers 2008/02/15 07:55:40 obr 1.1.2.5: removed mpParent 2008/02/15 07:41:41 obr 1.1.2.4: objects now create a wrapper for their parent objects on demand 2008/02/12 15:40:01 fne 1.1.2.3: #i82877# support for the following text attributes: fontname, fontsize, bold, italic, underline 2008/02/10 08:27:41 fne 1.1.2.2: #i82877# fixes for text areas 2008/02/06 07:55:46 fne 1.1.2.1: #i82877# renamed cxx to mm
2008-04-15 12:13:46 +00:00
[ nativeSubrole release ];
}
if ( title ) {
INTEGRATION: CWS aqua11y01 (1.1.2); FILE ADDED 2008/04/15 07:58:36 rt 1.1.2.19: Update license header to LGPL 3. 2008/02/28 14:58:26 fne 1.1.2.18: #i82877# fix: do not manually hit test lists 2008/02/28 11:40:22 fne 1.1.2.17: #i82877# corrected relations label_for and labeled_by 2008/02/26 11:31:01 fne 1.1.2.16: #i82877# linkedUIElements attribute and some small fixes 2008/02/25 11:46:14 fne 1.1.2.15: #i82877# small fixes 2008/02/22 14:23:59 fne 1.1.2.14: #i82877# fix for floating windows mk2 2008/02/22 08:22:40 fne 1.1.2.13: #i82877# fix for floating windows 2008/02/21 20:07:01 fne 1.1.2.12: #i82877# redesigned hittest 2008/02/21 10:46:25 obr 1.1.2.11: keep a reference on the currently focused object (needed for transient object like table cells) 2008/02/21 05:50:48 obr 1.1.2.10: keep reference to hitChild for transient objects 2008/02/19 19:29:38 obr 1.1.2.9: release only when using factory directly 2008/02/19 12:17:29 obr 1.1.2.8: fixed a bunch of memory leaks 2008/02/18 22:43:04 obr 1.1.2.7: simulate focus notifications for active descendant changed events 2008/02/18 06:08:55 obr 1.1.2.6: make sure the SalFrameView gets inserted to the wrapper repository early enough and make the listener objects own their wrappers 2008/02/15 07:55:40 obr 1.1.2.5: removed mpParent 2008/02/15 07:41:41 obr 1.1.2.4: objects now create a wrapper for their parent objects on demand 2008/02/12 15:40:01 fne 1.1.2.3: #i82877# support for the following text attributes: fontname, fontsize, bold, italic, underline 2008/02/10 08:27:41 fne 1.1.2.2: #i82877# fixes for text areas 2008/02/06 07:55:46 fne 1.1.2.1: #i82877# renamed cxx to mm
2008-04-15 12:13:46 +00:00
[ title release ];
}
if ( attributeNames ) {
INTEGRATION: CWS aqua11y01 (1.1.2); FILE ADDED 2008/04/15 07:58:36 rt 1.1.2.19: Update license header to LGPL 3. 2008/02/28 14:58:26 fne 1.1.2.18: #i82877# fix: do not manually hit test lists 2008/02/28 11:40:22 fne 1.1.2.17: #i82877# corrected relations label_for and labeled_by 2008/02/26 11:31:01 fne 1.1.2.16: #i82877# linkedUIElements attribute and some small fixes 2008/02/25 11:46:14 fne 1.1.2.15: #i82877# small fixes 2008/02/22 14:23:59 fne 1.1.2.14: #i82877# fix for floating windows mk2 2008/02/22 08:22:40 fne 1.1.2.13: #i82877# fix for floating windows 2008/02/21 20:07:01 fne 1.1.2.12: #i82877# redesigned hittest 2008/02/21 10:46:25 obr 1.1.2.11: keep a reference on the currently focused object (needed for transient object like table cells) 2008/02/21 05:50:48 obr 1.1.2.10: keep reference to hitChild for transient objects 2008/02/19 19:29:38 obr 1.1.2.9: release only when using factory directly 2008/02/19 12:17:29 obr 1.1.2.8: fixed a bunch of memory leaks 2008/02/18 22:43:04 obr 1.1.2.7: simulate focus notifications for active descendant changed events 2008/02/18 06:08:55 obr 1.1.2.6: make sure the SalFrameView gets inserted to the wrapper repository early enough and make the listener objects own their wrappers 2008/02/15 07:55:40 obr 1.1.2.5: removed mpParent 2008/02/15 07:41:41 obr 1.1.2.4: objects now create a wrapper for their parent objects on demand 2008/02/12 15:40:01 fne 1.1.2.3: #i82877# support for the following text attributes: fontname, fontsize, bold, italic, underline 2008/02/10 08:27:41 fne 1.1.2.2: #i82877# fixes for text areas 2008/02/06 07:55:46 fne 1.1.2.1: #i82877# renamed cxx to mm
2008-04-15 12:13:46 +00:00
[ attributeNames release ];
}
[ AquaA11yFactory removeFromWrapperRepositoryFor: [ self accessibleContext ] ];
return [ [ NSArray alloc ] init ];
INTEGRATION: CWS aqua11y01 (1.1.2); FILE ADDED 2008/04/15 07:58:36 rt 1.1.2.19: Update license header to LGPL 3. 2008/02/28 14:58:26 fne 1.1.2.18: #i82877# fix: do not manually hit test lists 2008/02/28 11:40:22 fne 1.1.2.17: #i82877# corrected relations label_for and labeled_by 2008/02/26 11:31:01 fne 1.1.2.16: #i82877# linkedUIElements attribute and some small fixes 2008/02/25 11:46:14 fne 1.1.2.15: #i82877# small fixes 2008/02/22 14:23:59 fne 1.1.2.14: #i82877# fix for floating windows mk2 2008/02/22 08:22:40 fne 1.1.2.13: #i82877# fix for floating windows 2008/02/21 20:07:01 fne 1.1.2.12: #i82877# redesigned hittest 2008/02/21 10:46:25 obr 1.1.2.11: keep a reference on the currently focused object (needed for transient object like table cells) 2008/02/21 05:50:48 obr 1.1.2.10: keep reference to hitChild for transient objects 2008/02/19 19:29:38 obr 1.1.2.9: release only when using factory directly 2008/02/19 12:17:29 obr 1.1.2.8: fixed a bunch of memory leaks 2008/02/18 22:43:04 obr 1.1.2.7: simulate focus notifications for active descendant changed events 2008/02/18 06:08:55 obr 1.1.2.6: make sure the SalFrameView gets inserted to the wrapper repository early enough and make the listener objects own their wrappers 2008/02/15 07:55:40 obr 1.1.2.5: removed mpParent 2008/02/15 07:41:41 obr 1.1.2.4: objects now create a wrapper for their parent objects on demand 2008/02/12 15:40:01 fne 1.1.2.3: #i82877# support for the following text attributes: fontname, fontsize, bold, italic, underline 2008/02/10 08:27:41 fne 1.1.2.2: #i82877# fixes for text areas 2008/02/06 07:55:46 fne 1.1.2.1: #i82877# renamed cxx to mm
2008-04-15 12:13:46 +00:00
}
}
-(BOOL)accessibilityIsAttributeSettable:(NSString *)attribute {
SAL_INFO("vcl.a11y", "[" << self << " accessibilityAttributeIsSettable:" << attribute << "]");
BOOL isSettable = NO;
if ( [ self accessibleText ] ) {
INTEGRATION: CWS aqua11y01 (1.1.2); FILE ADDED 2008/04/15 07:58:36 rt 1.1.2.19: Update license header to LGPL 3. 2008/02/28 14:58:26 fne 1.1.2.18: #i82877# fix: do not manually hit test lists 2008/02/28 11:40:22 fne 1.1.2.17: #i82877# corrected relations label_for and labeled_by 2008/02/26 11:31:01 fne 1.1.2.16: #i82877# linkedUIElements attribute and some small fixes 2008/02/25 11:46:14 fne 1.1.2.15: #i82877# small fixes 2008/02/22 14:23:59 fne 1.1.2.14: #i82877# fix for floating windows mk2 2008/02/22 08:22:40 fne 1.1.2.13: #i82877# fix for floating windows 2008/02/21 20:07:01 fne 1.1.2.12: #i82877# redesigned hittest 2008/02/21 10:46:25 obr 1.1.2.11: keep a reference on the currently focused object (needed for transient object like table cells) 2008/02/21 05:50:48 obr 1.1.2.10: keep reference to hitChild for transient objects 2008/02/19 19:29:38 obr 1.1.2.9: release only when using factory directly 2008/02/19 12:17:29 obr 1.1.2.8: fixed a bunch of memory leaks 2008/02/18 22:43:04 obr 1.1.2.7: simulate focus notifications for active descendant changed events 2008/02/18 06:08:55 obr 1.1.2.6: make sure the SalFrameView gets inserted to the wrapper repository early enough and make the listener objects own their wrappers 2008/02/15 07:55:40 obr 1.1.2.5: removed mpParent 2008/02/15 07:41:41 obr 1.1.2.4: objects now create a wrapper for their parent objects on demand 2008/02/12 15:40:01 fne 1.1.2.3: #i82877# support for the following text attributes: fontname, fontsize, bold, italic, underline 2008/02/10 08:27:41 fne 1.1.2.2: #i82877# fixes for text areas 2008/02/06 07:55:46 fne 1.1.2.1: #i82877# renamed cxx to mm
2008-04-15 12:13:46 +00:00
isSettable = [ AquaA11yTextWrapper isAttributeSettable: attribute forElement: self ];
}
if ( ! isSettable && [ self accessibleComponent ] ) {
INTEGRATION: CWS aqua11y01 (1.1.2); FILE ADDED 2008/04/15 07:58:36 rt 1.1.2.19: Update license header to LGPL 3. 2008/02/28 14:58:26 fne 1.1.2.18: #i82877# fix: do not manually hit test lists 2008/02/28 11:40:22 fne 1.1.2.17: #i82877# corrected relations label_for and labeled_by 2008/02/26 11:31:01 fne 1.1.2.16: #i82877# linkedUIElements attribute and some small fixes 2008/02/25 11:46:14 fne 1.1.2.15: #i82877# small fixes 2008/02/22 14:23:59 fne 1.1.2.14: #i82877# fix for floating windows mk2 2008/02/22 08:22:40 fne 1.1.2.13: #i82877# fix for floating windows 2008/02/21 20:07:01 fne 1.1.2.12: #i82877# redesigned hittest 2008/02/21 10:46:25 obr 1.1.2.11: keep a reference on the currently focused object (needed for transient object like table cells) 2008/02/21 05:50:48 obr 1.1.2.10: keep reference to hitChild for transient objects 2008/02/19 19:29:38 obr 1.1.2.9: release only when using factory directly 2008/02/19 12:17:29 obr 1.1.2.8: fixed a bunch of memory leaks 2008/02/18 22:43:04 obr 1.1.2.7: simulate focus notifications for active descendant changed events 2008/02/18 06:08:55 obr 1.1.2.6: make sure the SalFrameView gets inserted to the wrapper repository early enough and make the listener objects own their wrappers 2008/02/15 07:55:40 obr 1.1.2.5: removed mpParent 2008/02/15 07:41:41 obr 1.1.2.4: objects now create a wrapper for their parent objects on demand 2008/02/12 15:40:01 fne 1.1.2.3: #i82877# support for the following text attributes: fontname, fontsize, bold, italic, underline 2008/02/10 08:27:41 fne 1.1.2.2: #i82877# fixes for text areas 2008/02/06 07:55:46 fne 1.1.2.1: #i82877# renamed cxx to mm
2008-04-15 12:13:46 +00:00
isSettable = [ AquaA11yComponentWrapper isAttributeSettable: attribute forElement: self ];
}
if ( ! isSettable && [ self accessibleSelection ] ) {
INTEGRATION: CWS aqua11y01 (1.1.2); FILE ADDED 2008/04/15 07:58:36 rt 1.1.2.19: Update license header to LGPL 3. 2008/02/28 14:58:26 fne 1.1.2.18: #i82877# fix: do not manually hit test lists 2008/02/28 11:40:22 fne 1.1.2.17: #i82877# corrected relations label_for and labeled_by 2008/02/26 11:31:01 fne 1.1.2.16: #i82877# linkedUIElements attribute and some small fixes 2008/02/25 11:46:14 fne 1.1.2.15: #i82877# small fixes 2008/02/22 14:23:59 fne 1.1.2.14: #i82877# fix for floating windows mk2 2008/02/22 08:22:40 fne 1.1.2.13: #i82877# fix for floating windows 2008/02/21 20:07:01 fne 1.1.2.12: #i82877# redesigned hittest 2008/02/21 10:46:25 obr 1.1.2.11: keep a reference on the currently focused object (needed for transient object like table cells) 2008/02/21 05:50:48 obr 1.1.2.10: keep reference to hitChild for transient objects 2008/02/19 19:29:38 obr 1.1.2.9: release only when using factory directly 2008/02/19 12:17:29 obr 1.1.2.8: fixed a bunch of memory leaks 2008/02/18 22:43:04 obr 1.1.2.7: simulate focus notifications for active descendant changed events 2008/02/18 06:08:55 obr 1.1.2.6: make sure the SalFrameView gets inserted to the wrapper repository early enough and make the listener objects own their wrappers 2008/02/15 07:55:40 obr 1.1.2.5: removed mpParent 2008/02/15 07:41:41 obr 1.1.2.4: objects now create a wrapper for their parent objects on demand 2008/02/12 15:40:01 fne 1.1.2.3: #i82877# support for the following text attributes: fontname, fontsize, bold, italic, underline 2008/02/10 08:27:41 fne 1.1.2.2: #i82877# fixes for text areas 2008/02/06 07:55:46 fne 1.1.2.1: #i82877# renamed cxx to mm
2008-04-15 12:13:46 +00:00
isSettable = [ AquaA11ySelectionWrapper isAttributeSettable: attribute forElement: self ];
}
if ( ! isSettable && [ self accessibleValue ] ) {
INTEGRATION: CWS aqua11y01 (1.1.2); FILE ADDED 2008/04/15 07:58:36 rt 1.1.2.19: Update license header to LGPL 3. 2008/02/28 14:58:26 fne 1.1.2.18: #i82877# fix: do not manually hit test lists 2008/02/28 11:40:22 fne 1.1.2.17: #i82877# corrected relations label_for and labeled_by 2008/02/26 11:31:01 fne 1.1.2.16: #i82877# linkedUIElements attribute and some small fixes 2008/02/25 11:46:14 fne 1.1.2.15: #i82877# small fixes 2008/02/22 14:23:59 fne 1.1.2.14: #i82877# fix for floating windows mk2 2008/02/22 08:22:40 fne 1.1.2.13: #i82877# fix for floating windows 2008/02/21 20:07:01 fne 1.1.2.12: #i82877# redesigned hittest 2008/02/21 10:46:25 obr 1.1.2.11: keep a reference on the currently focused object (needed for transient object like table cells) 2008/02/21 05:50:48 obr 1.1.2.10: keep reference to hitChild for transient objects 2008/02/19 19:29:38 obr 1.1.2.9: release only when using factory directly 2008/02/19 12:17:29 obr 1.1.2.8: fixed a bunch of memory leaks 2008/02/18 22:43:04 obr 1.1.2.7: simulate focus notifications for active descendant changed events 2008/02/18 06:08:55 obr 1.1.2.6: make sure the SalFrameView gets inserted to the wrapper repository early enough and make the listener objects own their wrappers 2008/02/15 07:55:40 obr 1.1.2.5: removed mpParent 2008/02/15 07:41:41 obr 1.1.2.4: objects now create a wrapper for their parent objects on demand 2008/02/12 15:40:01 fne 1.1.2.3: #i82877# support for the following text attributes: fontname, fontsize, bold, italic, underline 2008/02/10 08:27:41 fne 1.1.2.2: #i82877# fixes for text areas 2008/02/06 07:55:46 fne 1.1.2.1: #i82877# renamed cxx to mm
2008-04-15 12:13:46 +00:00
isSettable = [ AquaA11yValueWrapper isAttributeSettable: attribute forElement: self ];
}
return isSettable; // TODO: to be completed
}
-(NSArray *)accessibilityParameterizedAttributeNames {
SAL_INFO("vcl.a11y", "[" << self << " accessibilityParameterizedAttributeNames]");
INTEGRATION: CWS aqua11y01 (1.1.2); FILE ADDED 2008/04/15 07:58:36 rt 1.1.2.19: Update license header to LGPL 3. 2008/02/28 14:58:26 fne 1.1.2.18: #i82877# fix: do not manually hit test lists 2008/02/28 11:40:22 fne 1.1.2.17: #i82877# corrected relations label_for and labeled_by 2008/02/26 11:31:01 fne 1.1.2.16: #i82877# linkedUIElements attribute and some small fixes 2008/02/25 11:46:14 fne 1.1.2.15: #i82877# small fixes 2008/02/22 14:23:59 fne 1.1.2.14: #i82877# fix for floating windows mk2 2008/02/22 08:22:40 fne 1.1.2.13: #i82877# fix for floating windows 2008/02/21 20:07:01 fne 1.1.2.12: #i82877# redesigned hittest 2008/02/21 10:46:25 obr 1.1.2.11: keep a reference on the currently focused object (needed for transient object like table cells) 2008/02/21 05:50:48 obr 1.1.2.10: keep reference to hitChild for transient objects 2008/02/19 19:29:38 obr 1.1.2.9: release only when using factory directly 2008/02/19 12:17:29 obr 1.1.2.8: fixed a bunch of memory leaks 2008/02/18 22:43:04 obr 1.1.2.7: simulate focus notifications for active descendant changed events 2008/02/18 06:08:55 obr 1.1.2.6: make sure the SalFrameView gets inserted to the wrapper repository early enough and make the listener objects own their wrappers 2008/02/15 07:55:40 obr 1.1.2.5: removed mpParent 2008/02/15 07:41:41 obr 1.1.2.4: objects now create a wrapper for their parent objects on demand 2008/02/12 15:40:01 fne 1.1.2.3: #i82877# support for the following text attributes: fontname, fontsize, bold, italic, underline 2008/02/10 08:27:41 fne 1.1.2.2: #i82877# fixes for text areas 2008/02/06 07:55:46 fne 1.1.2.1: #i82877# renamed cxx to mm
2008-04-15 12:13:46 +00:00
NSMutableArray * attributeNames = [ [ NSMutableArray alloc ] init ];
// Special Attributes depending on interface
if ( [ self accessibleText ] ) {
INTEGRATION: CWS aqua11y01 (1.1.2); FILE ADDED 2008/04/15 07:58:36 rt 1.1.2.19: Update license header to LGPL 3. 2008/02/28 14:58:26 fne 1.1.2.18: #i82877# fix: do not manually hit test lists 2008/02/28 11:40:22 fne 1.1.2.17: #i82877# corrected relations label_for and labeled_by 2008/02/26 11:31:01 fne 1.1.2.16: #i82877# linkedUIElements attribute and some small fixes 2008/02/25 11:46:14 fne 1.1.2.15: #i82877# small fixes 2008/02/22 14:23:59 fne 1.1.2.14: #i82877# fix for floating windows mk2 2008/02/22 08:22:40 fne 1.1.2.13: #i82877# fix for floating windows 2008/02/21 20:07:01 fne 1.1.2.12: #i82877# redesigned hittest 2008/02/21 10:46:25 obr 1.1.2.11: keep a reference on the currently focused object (needed for transient object like table cells) 2008/02/21 05:50:48 obr 1.1.2.10: keep reference to hitChild for transient objects 2008/02/19 19:29:38 obr 1.1.2.9: release only when using factory directly 2008/02/19 12:17:29 obr 1.1.2.8: fixed a bunch of memory leaks 2008/02/18 22:43:04 obr 1.1.2.7: simulate focus notifications for active descendant changed events 2008/02/18 06:08:55 obr 1.1.2.6: make sure the SalFrameView gets inserted to the wrapper repository early enough and make the listener objects own their wrappers 2008/02/15 07:55:40 obr 1.1.2.5: removed mpParent 2008/02/15 07:41:41 obr 1.1.2.4: objects now create a wrapper for their parent objects on demand 2008/02/12 15:40:01 fne 1.1.2.3: #i82877# support for the following text attributes: fontname, fontsize, bold, italic, underline 2008/02/10 08:27:41 fne 1.1.2.2: #i82877# fixes for text areas 2008/02/06 07:55:46 fne 1.1.2.1: #i82877# renamed cxx to mm
2008-04-15 12:13:46 +00:00
[ AquaA11yTextWrapper addParameterizedAttributeNamesTo: attributeNames ];
}
return attributeNames; // TODO: to be completed
}
-(id)accessibilityAttributeValue:(NSString *)attribute forParameter:(id)parameter {
SAL_INFO("vcl.a11y", "[" << self << " accessibilityAttributeValue:" << attribute << " forParameter:" << ((NSObject*)parameter) << "]");
INTEGRATION: CWS aqua11y01 (1.1.2); FILE ADDED 2008/04/15 07:58:36 rt 1.1.2.19: Update license header to LGPL 3. 2008/02/28 14:58:26 fne 1.1.2.18: #i82877# fix: do not manually hit test lists 2008/02/28 11:40:22 fne 1.1.2.17: #i82877# corrected relations label_for and labeled_by 2008/02/26 11:31:01 fne 1.1.2.16: #i82877# linkedUIElements attribute and some small fixes 2008/02/25 11:46:14 fne 1.1.2.15: #i82877# small fixes 2008/02/22 14:23:59 fne 1.1.2.14: #i82877# fix for floating windows mk2 2008/02/22 08:22:40 fne 1.1.2.13: #i82877# fix for floating windows 2008/02/21 20:07:01 fne 1.1.2.12: #i82877# redesigned hittest 2008/02/21 10:46:25 obr 1.1.2.11: keep a reference on the currently focused object (needed for transient object like table cells) 2008/02/21 05:50:48 obr 1.1.2.10: keep reference to hitChild for transient objects 2008/02/19 19:29:38 obr 1.1.2.9: release only when using factory directly 2008/02/19 12:17:29 obr 1.1.2.8: fixed a bunch of memory leaks 2008/02/18 22:43:04 obr 1.1.2.7: simulate focus notifications for active descendant changed events 2008/02/18 06:08:55 obr 1.1.2.6: make sure the SalFrameView gets inserted to the wrapper repository early enough and make the listener objects own their wrappers 2008/02/15 07:55:40 obr 1.1.2.5: removed mpParent 2008/02/15 07:41:41 obr 1.1.2.4: objects now create a wrapper for their parent objects on demand 2008/02/12 15:40:01 fne 1.1.2.3: #i82877# support for the following text attributes: fontname, fontsize, bold, italic, underline 2008/02/10 08:27:41 fne 1.1.2.2: #i82877# fixes for text areas 2008/02/06 07:55:46 fne 1.1.2.1: #i82877# renamed cxx to mm
2008-04-15 12:13:46 +00:00
SEL methodSelector = [ self selectorForAttribute: attribute asGetter: YES withGetterParameter: YES ];
if ( [ self respondsToSelector: methodSelector ] ) {
return [ self performSelector: methodSelector withObject: parameter ];
}
return nil; // TODO: to be completed
}
2011-03-24 13:56:11 +01:00
-(BOOL)accessibilitySetOverrideValue:(id)value forAttribute:(NSString *)attribute
{
SAL_INFO("vcl.a11y", "[" << self << " accessibilitySetOverrideValue:" << ((NSObject*)value) << " forAttribute:" << attribute << "]");
2011-03-24 13:56:11 +01:00
(void)value;
(void)attribute;
INTEGRATION: CWS aqua11y01 (1.1.2); FILE ADDED 2008/04/15 07:58:36 rt 1.1.2.19: Update license header to LGPL 3. 2008/02/28 14:58:26 fne 1.1.2.18: #i82877# fix: do not manually hit test lists 2008/02/28 11:40:22 fne 1.1.2.17: #i82877# corrected relations label_for and labeled_by 2008/02/26 11:31:01 fne 1.1.2.16: #i82877# linkedUIElements attribute and some small fixes 2008/02/25 11:46:14 fne 1.1.2.15: #i82877# small fixes 2008/02/22 14:23:59 fne 1.1.2.14: #i82877# fix for floating windows mk2 2008/02/22 08:22:40 fne 1.1.2.13: #i82877# fix for floating windows 2008/02/21 20:07:01 fne 1.1.2.12: #i82877# redesigned hittest 2008/02/21 10:46:25 obr 1.1.2.11: keep a reference on the currently focused object (needed for transient object like table cells) 2008/02/21 05:50:48 obr 1.1.2.10: keep reference to hitChild for transient objects 2008/02/19 19:29:38 obr 1.1.2.9: release only when using factory directly 2008/02/19 12:17:29 obr 1.1.2.8: fixed a bunch of memory leaks 2008/02/18 22:43:04 obr 1.1.2.7: simulate focus notifications for active descendant changed events 2008/02/18 06:08:55 obr 1.1.2.6: make sure the SalFrameView gets inserted to the wrapper repository early enough and make the listener objects own their wrappers 2008/02/15 07:55:40 obr 1.1.2.5: removed mpParent 2008/02/15 07:41:41 obr 1.1.2.4: objects now create a wrapper for their parent objects on demand 2008/02/12 15:40:01 fne 1.1.2.3: #i82877# support for the following text attributes: fontname, fontsize, bold, italic, underline 2008/02/10 08:27:41 fne 1.1.2.2: #i82877# fixes for text areas 2008/02/06 07:55:46 fne 1.1.2.1: #i82877# renamed cxx to mm
2008-04-15 12:13:46 +00:00
return NO; // TODO
}
-(void)accessibilitySetValue:(id)value forAttribute:(NSString *)attribute {
SAL_INFO("vcl.a11y", "[" << self << " accessibilitySetValue:" << ((NSObject*)value) << " forAttribute:" << attribute << "]");
INTEGRATION: CWS aqua11y01 (1.1.2); FILE ADDED 2008/04/15 07:58:36 rt 1.1.2.19: Update license header to LGPL 3. 2008/02/28 14:58:26 fne 1.1.2.18: #i82877# fix: do not manually hit test lists 2008/02/28 11:40:22 fne 1.1.2.17: #i82877# corrected relations label_for and labeled_by 2008/02/26 11:31:01 fne 1.1.2.16: #i82877# linkedUIElements attribute and some small fixes 2008/02/25 11:46:14 fne 1.1.2.15: #i82877# small fixes 2008/02/22 14:23:59 fne 1.1.2.14: #i82877# fix for floating windows mk2 2008/02/22 08:22:40 fne 1.1.2.13: #i82877# fix for floating windows 2008/02/21 20:07:01 fne 1.1.2.12: #i82877# redesigned hittest 2008/02/21 10:46:25 obr 1.1.2.11: keep a reference on the currently focused object (needed for transient object like table cells) 2008/02/21 05:50:48 obr 1.1.2.10: keep reference to hitChild for transient objects 2008/02/19 19:29:38 obr 1.1.2.9: release only when using factory directly 2008/02/19 12:17:29 obr 1.1.2.8: fixed a bunch of memory leaks 2008/02/18 22:43:04 obr 1.1.2.7: simulate focus notifications for active descendant changed events 2008/02/18 06:08:55 obr 1.1.2.6: make sure the SalFrameView gets inserted to the wrapper repository early enough and make the listener objects own their wrappers 2008/02/15 07:55:40 obr 1.1.2.5: removed mpParent 2008/02/15 07:41:41 obr 1.1.2.4: objects now create a wrapper for their parent objects on demand 2008/02/12 15:40:01 fne 1.1.2.3: #i82877# support for the following text attributes: fontname, fontsize, bold, italic, underline 2008/02/10 08:27:41 fne 1.1.2.2: #i82877# fixes for text areas 2008/02/06 07:55:46 fne 1.1.2.1: #i82877# renamed cxx to mm
2008-04-15 12:13:46 +00:00
SEL methodSelector = [ self selectorForAttribute: attribute asGetter: NO withGetterParameter: NO ];
if ( [ AquaA11yComponentWrapper respondsToSelector: methodSelector ] ) {
[ AquaA11yComponentWrapper performSelector: methodSelector withObject: self withObject: value ];
}
if ( [ AquaA11yTextWrapper respondsToSelector: methodSelector ] ) {
[ AquaA11yTextWrapper performSelector: methodSelector withObject: self withObject: value ];
}
if ( [ AquaA11ySelectionWrapper respondsToSelector: methodSelector ] ) {
[ AquaA11ySelectionWrapper performSelector: methodSelector withObject: self withObject: value ];
}
if ( [ AquaA11yValueWrapper respondsToSelector: methodSelector ] ) {
[ AquaA11yValueWrapper performSelector: methodSelector withObject: self withObject: value ];
}
}
-(id)accessibilityFocusedUIElement {
SAL_INFO("vcl.a11y", "[" << self << " accessibilityFocusedUIElement]");
// #i90575# guard NSAccessibility protocol against unwanted access
if ( isPopupMenuOpen ) {
return nil;
}
INTEGRATION: CWS aqua11y01 (1.1.2); FILE ADDED 2008/04/15 07:58:36 rt 1.1.2.19: Update license header to LGPL 3. 2008/02/28 14:58:26 fne 1.1.2.18: #i82877# fix: do not manually hit test lists 2008/02/28 11:40:22 fne 1.1.2.17: #i82877# corrected relations label_for and labeled_by 2008/02/26 11:31:01 fne 1.1.2.16: #i82877# linkedUIElements attribute and some small fixes 2008/02/25 11:46:14 fne 1.1.2.15: #i82877# small fixes 2008/02/22 14:23:59 fne 1.1.2.14: #i82877# fix for floating windows mk2 2008/02/22 08:22:40 fne 1.1.2.13: #i82877# fix for floating windows 2008/02/21 20:07:01 fne 1.1.2.12: #i82877# redesigned hittest 2008/02/21 10:46:25 obr 1.1.2.11: keep a reference on the currently focused object (needed for transient object like table cells) 2008/02/21 05:50:48 obr 1.1.2.10: keep reference to hitChild for transient objects 2008/02/19 19:29:38 obr 1.1.2.9: release only when using factory directly 2008/02/19 12:17:29 obr 1.1.2.8: fixed a bunch of memory leaks 2008/02/18 22:43:04 obr 1.1.2.7: simulate focus notifications for active descendant changed events 2008/02/18 06:08:55 obr 1.1.2.6: make sure the SalFrameView gets inserted to the wrapper repository early enough and make the listener objects own their wrappers 2008/02/15 07:55:40 obr 1.1.2.5: removed mpParent 2008/02/15 07:41:41 obr 1.1.2.4: objects now create a wrapper for their parent objects on demand 2008/02/12 15:40:01 fne 1.1.2.3: #i82877# support for the following text attributes: fontname, fontsize, bold, italic, underline 2008/02/10 08:27:41 fne 1.1.2.2: #i82877# fixes for text areas 2008/02/06 07:55:46 fne 1.1.2.1: #i82877# renamed cxx to mm
2008-04-15 12:13:46 +00:00
// as this seems to be the first API call on a newly created SalFrameView object,
// make sure self gets registered in the repository ..
[ self accessibleContext ];
INTEGRATION: CWS aqua11y01 (1.1.2); FILE ADDED 2008/04/15 07:58:36 rt 1.1.2.19: Update license header to LGPL 3. 2008/02/28 14:58:26 fne 1.1.2.18: #i82877# fix: do not manually hit test lists 2008/02/28 11:40:22 fne 1.1.2.17: #i82877# corrected relations label_for and labeled_by 2008/02/26 11:31:01 fne 1.1.2.16: #i82877# linkedUIElements attribute and some small fixes 2008/02/25 11:46:14 fne 1.1.2.15: #i82877# small fixes 2008/02/22 14:23:59 fne 1.1.2.14: #i82877# fix for floating windows mk2 2008/02/22 08:22:40 fne 1.1.2.13: #i82877# fix for floating windows 2008/02/21 20:07:01 fne 1.1.2.12: #i82877# redesigned hittest 2008/02/21 10:46:25 obr 1.1.2.11: keep a reference on the currently focused object (needed for transient object like table cells) 2008/02/21 05:50:48 obr 1.1.2.10: keep reference to hitChild for transient objects 2008/02/19 19:29:38 obr 1.1.2.9: release only when using factory directly 2008/02/19 12:17:29 obr 1.1.2.8: fixed a bunch of memory leaks 2008/02/18 22:43:04 obr 1.1.2.7: simulate focus notifications for active descendant changed events 2008/02/18 06:08:55 obr 1.1.2.6: make sure the SalFrameView gets inserted to the wrapper repository early enough and make the listener objects own their wrappers 2008/02/15 07:55:40 obr 1.1.2.5: removed mpParent 2008/02/15 07:41:41 obr 1.1.2.4: objects now create a wrapper for their parent objects on demand 2008/02/12 15:40:01 fne 1.1.2.3: #i82877# support for the following text attributes: fontname, fontsize, bold, italic, underline 2008/02/10 08:27:41 fne 1.1.2.2: #i82877# fixes for text areas 2008/02/06 07:55:46 fne 1.1.2.1: #i82877# renamed cxx to mm
2008-04-15 12:13:46 +00:00
AquaA11yWrapper * focusedUIElement = AquaA11yFocusListener::get()->getFocusedUIElement();
// AquaA11yWrapper * ancestor = focusedUIElement;
INTEGRATION: CWS aqua11y01 (1.1.2); FILE ADDED 2008/04/15 07:58:36 rt 1.1.2.19: Update license header to LGPL 3. 2008/02/28 14:58:26 fne 1.1.2.18: #i82877# fix: do not manually hit test lists 2008/02/28 11:40:22 fne 1.1.2.17: #i82877# corrected relations label_for and labeled_by 2008/02/26 11:31:01 fne 1.1.2.16: #i82877# linkedUIElements attribute and some small fixes 2008/02/25 11:46:14 fne 1.1.2.15: #i82877# small fixes 2008/02/22 14:23:59 fne 1.1.2.14: #i82877# fix for floating windows mk2 2008/02/22 08:22:40 fne 1.1.2.13: #i82877# fix for floating windows 2008/02/21 20:07:01 fne 1.1.2.12: #i82877# redesigned hittest 2008/02/21 10:46:25 obr 1.1.2.11: keep a reference on the currently focused object (needed for transient object like table cells) 2008/02/21 05:50:48 obr 1.1.2.10: keep reference to hitChild for transient objects 2008/02/19 19:29:38 obr 1.1.2.9: release only when using factory directly 2008/02/19 12:17:29 obr 1.1.2.8: fixed a bunch of memory leaks 2008/02/18 22:43:04 obr 1.1.2.7: simulate focus notifications for active descendant changed events 2008/02/18 06:08:55 obr 1.1.2.6: make sure the SalFrameView gets inserted to the wrapper repository early enough and make the listener objects own their wrappers 2008/02/15 07:55:40 obr 1.1.2.5: removed mpParent 2008/02/15 07:41:41 obr 1.1.2.4: objects now create a wrapper for their parent objects on demand 2008/02/12 15:40:01 fne 1.1.2.3: #i82877# support for the following text attributes: fontname, fontsize, bold, italic, underline 2008/02/10 08:27:41 fne 1.1.2.2: #i82877# fixes for text areas 2008/02/06 07:55:46 fne 1.1.2.1: #i82877# renamed cxx to mm
2008-04-15 12:13:46 +00:00
// Make sure the focused object is a descendant of self
// do {
// if( self == ancestor )
return focusedUIElement;
INTEGRATION: CWS aqua11y01 (1.1.2); FILE ADDED 2008/04/15 07:58:36 rt 1.1.2.19: Update license header to LGPL 3. 2008/02/28 14:58:26 fne 1.1.2.18: #i82877# fix: do not manually hit test lists 2008/02/28 11:40:22 fne 1.1.2.17: #i82877# corrected relations label_for and labeled_by 2008/02/26 11:31:01 fne 1.1.2.16: #i82877# linkedUIElements attribute and some small fixes 2008/02/25 11:46:14 fne 1.1.2.15: #i82877# small fixes 2008/02/22 14:23:59 fne 1.1.2.14: #i82877# fix for floating windows mk2 2008/02/22 08:22:40 fne 1.1.2.13: #i82877# fix for floating windows 2008/02/21 20:07:01 fne 1.1.2.12: #i82877# redesigned hittest 2008/02/21 10:46:25 obr 1.1.2.11: keep a reference on the currently focused object (needed for transient object like table cells) 2008/02/21 05:50:48 obr 1.1.2.10: keep reference to hitChild for transient objects 2008/02/19 19:29:38 obr 1.1.2.9: release only when using factory directly 2008/02/19 12:17:29 obr 1.1.2.8: fixed a bunch of memory leaks 2008/02/18 22:43:04 obr 1.1.2.7: simulate focus notifications for active descendant changed events 2008/02/18 06:08:55 obr 1.1.2.6: make sure the SalFrameView gets inserted to the wrapper repository early enough and make the listener objects own their wrappers 2008/02/15 07:55:40 obr 1.1.2.5: removed mpParent 2008/02/15 07:41:41 obr 1.1.2.4: objects now create a wrapper for their parent objects on demand 2008/02/12 15:40:01 fne 1.1.2.3: #i82877# support for the following text attributes: fontname, fontsize, bold, italic, underline 2008/02/10 08:27:41 fne 1.1.2.2: #i82877# fixes for text areas 2008/02/06 07:55:46 fne 1.1.2.1: #i82877# renamed cxx to mm
2008-04-15 12:13:46 +00:00
// ancestor = [ ancestor accessibilityAttributeValue: NSAccessibilityParentAttribute ];
// } while( nil != ancestor );
INTEGRATION: CWS aqua11y01 (1.1.2); FILE ADDED 2008/04/15 07:58:36 rt 1.1.2.19: Update license header to LGPL 3. 2008/02/28 14:58:26 fne 1.1.2.18: #i82877# fix: do not manually hit test lists 2008/02/28 11:40:22 fne 1.1.2.17: #i82877# corrected relations label_for and labeled_by 2008/02/26 11:31:01 fne 1.1.2.16: #i82877# linkedUIElements attribute and some small fixes 2008/02/25 11:46:14 fne 1.1.2.15: #i82877# small fixes 2008/02/22 14:23:59 fne 1.1.2.14: #i82877# fix for floating windows mk2 2008/02/22 08:22:40 fne 1.1.2.13: #i82877# fix for floating windows 2008/02/21 20:07:01 fne 1.1.2.12: #i82877# redesigned hittest 2008/02/21 10:46:25 obr 1.1.2.11: keep a reference on the currently focused object (needed for transient object like table cells) 2008/02/21 05:50:48 obr 1.1.2.10: keep reference to hitChild for transient objects 2008/02/19 19:29:38 obr 1.1.2.9: release only when using factory directly 2008/02/19 12:17:29 obr 1.1.2.8: fixed a bunch of memory leaks 2008/02/18 22:43:04 obr 1.1.2.7: simulate focus notifications for active descendant changed events 2008/02/18 06:08:55 obr 1.1.2.6: make sure the SalFrameView gets inserted to the wrapper repository early enough and make the listener objects own their wrappers 2008/02/15 07:55:40 obr 1.1.2.5: removed mpParent 2008/02/15 07:41:41 obr 1.1.2.4: objects now create a wrapper for their parent objects on demand 2008/02/12 15:40:01 fne 1.1.2.3: #i82877# support for the following text attributes: fontname, fontsize, bold, italic, underline 2008/02/10 08:27:41 fne 1.1.2.2: #i82877# fixes for text areas 2008/02/06 07:55:46 fne 1.1.2.1: #i82877# renamed cxx to mm
2008-04-15 12:13:46 +00:00
return self;
}
-(NSString *)accessibilityActionDescription:(NSString *)action {
SAL_INFO("vcl.a11y", "[" << self << " accessibilityActionDescription:" << action << "]");
return NSAccessibilityActionDescription(action);
INTEGRATION: CWS aqua11y01 (1.1.2); FILE ADDED 2008/04/15 07:58:36 rt 1.1.2.19: Update license header to LGPL 3. 2008/02/28 14:58:26 fne 1.1.2.18: #i82877# fix: do not manually hit test lists 2008/02/28 11:40:22 fne 1.1.2.17: #i82877# corrected relations label_for and labeled_by 2008/02/26 11:31:01 fne 1.1.2.16: #i82877# linkedUIElements attribute and some small fixes 2008/02/25 11:46:14 fne 1.1.2.15: #i82877# small fixes 2008/02/22 14:23:59 fne 1.1.2.14: #i82877# fix for floating windows mk2 2008/02/22 08:22:40 fne 1.1.2.13: #i82877# fix for floating windows 2008/02/21 20:07:01 fne 1.1.2.12: #i82877# redesigned hittest 2008/02/21 10:46:25 obr 1.1.2.11: keep a reference on the currently focused object (needed for transient object like table cells) 2008/02/21 05:50:48 obr 1.1.2.10: keep reference to hitChild for transient objects 2008/02/19 19:29:38 obr 1.1.2.9: release only when using factory directly 2008/02/19 12:17:29 obr 1.1.2.8: fixed a bunch of memory leaks 2008/02/18 22:43:04 obr 1.1.2.7: simulate focus notifications for active descendant changed events 2008/02/18 06:08:55 obr 1.1.2.6: make sure the SalFrameView gets inserted to the wrapper repository early enough and make the listener objects own their wrappers 2008/02/15 07:55:40 obr 1.1.2.5: removed mpParent 2008/02/15 07:41:41 obr 1.1.2.4: objects now create a wrapper for their parent objects on demand 2008/02/12 15:40:01 fne 1.1.2.3: #i82877# support for the following text attributes: fontname, fontsize, bold, italic, underline 2008/02/10 08:27:41 fne 1.1.2.2: #i82877# fixes for text areas 2008/02/06 07:55:46 fne 1.1.2.1: #i82877# renamed cxx to mm
2008-04-15 12:13:46 +00:00
}
-(AquaA11yWrapper *)actionResponder {
AquaA11yWrapper * wrapper = nil;
// get some information
NSString * role = (NSString *) [ self accessibilityAttributeValue: NSAccessibilityRoleAttribute ];
id enabledAttr = [ self enabledAttribute ];
BOOL enabled = [ enabledAttr boolValue ];
INTEGRATION: CWS aqua11y01 (1.1.2); FILE ADDED 2008/04/15 07:58:36 rt 1.1.2.19: Update license header to LGPL 3. 2008/02/28 14:58:26 fne 1.1.2.18: #i82877# fix: do not manually hit test lists 2008/02/28 11:40:22 fne 1.1.2.17: #i82877# corrected relations label_for and labeled_by 2008/02/26 11:31:01 fne 1.1.2.16: #i82877# linkedUIElements attribute and some small fixes 2008/02/25 11:46:14 fne 1.1.2.15: #i82877# small fixes 2008/02/22 14:23:59 fne 1.1.2.14: #i82877# fix for floating windows mk2 2008/02/22 08:22:40 fne 1.1.2.13: #i82877# fix for floating windows 2008/02/21 20:07:01 fne 1.1.2.12: #i82877# redesigned hittest 2008/02/21 10:46:25 obr 1.1.2.11: keep a reference on the currently focused object (needed for transient object like table cells) 2008/02/21 05:50:48 obr 1.1.2.10: keep reference to hitChild for transient objects 2008/02/19 19:29:38 obr 1.1.2.9: release only when using factory directly 2008/02/19 12:17:29 obr 1.1.2.8: fixed a bunch of memory leaks 2008/02/18 22:43:04 obr 1.1.2.7: simulate focus notifications for active descendant changed events 2008/02/18 06:08:55 obr 1.1.2.6: make sure the SalFrameView gets inserted to the wrapper repository early enough and make the listener objects own their wrappers 2008/02/15 07:55:40 obr 1.1.2.5: removed mpParent 2008/02/15 07:41:41 obr 1.1.2.4: objects now create a wrapper for their parent objects on demand 2008/02/12 15:40:01 fne 1.1.2.3: #i82877# support for the following text attributes: fontname, fontsize, bold, italic, underline 2008/02/10 08:27:41 fne 1.1.2.2: #i82877# fixes for text areas 2008/02/06 07:55:46 fne 1.1.2.1: #i82877# renamed cxx to mm
2008-04-15 12:13:46 +00:00
NSView * parent = (NSView *) [ self accessibilityAttributeValue: NSAccessibilityParentAttribute ];
AquaA11yWrapper * parentAsWrapper = nil;
if ( [ parent isKindOfClass: [ AquaA11yWrapper class ] ] ) {
parentAsWrapper = (AquaA11yWrapper *) parent;
}
SAL_WNODEPRECATED_DECLARATIONS_PUSH
//TODO: 10.10 accessibilityAttributeValue:
INTEGRATION: CWS aqua11y01 (1.1.2); FILE ADDED 2008/04/15 07:58:36 rt 1.1.2.19: Update license header to LGPL 3. 2008/02/28 14:58:26 fne 1.1.2.18: #i82877# fix: do not manually hit test lists 2008/02/28 11:40:22 fne 1.1.2.17: #i82877# corrected relations label_for and labeled_by 2008/02/26 11:31:01 fne 1.1.2.16: #i82877# linkedUIElements attribute and some small fixes 2008/02/25 11:46:14 fne 1.1.2.15: #i82877# small fixes 2008/02/22 14:23:59 fne 1.1.2.14: #i82877# fix for floating windows mk2 2008/02/22 08:22:40 fne 1.1.2.13: #i82877# fix for floating windows 2008/02/21 20:07:01 fne 1.1.2.12: #i82877# redesigned hittest 2008/02/21 10:46:25 obr 1.1.2.11: keep a reference on the currently focused object (needed for transient object like table cells) 2008/02/21 05:50:48 obr 1.1.2.10: keep reference to hitChild for transient objects 2008/02/19 19:29:38 obr 1.1.2.9: release only when using factory directly 2008/02/19 12:17:29 obr 1.1.2.8: fixed a bunch of memory leaks 2008/02/18 22:43:04 obr 1.1.2.7: simulate focus notifications for active descendant changed events 2008/02/18 06:08:55 obr 1.1.2.6: make sure the SalFrameView gets inserted to the wrapper repository early enough and make the listener objects own their wrappers 2008/02/15 07:55:40 obr 1.1.2.5: removed mpParent 2008/02/15 07:41:41 obr 1.1.2.4: objects now create a wrapper for their parent objects on demand 2008/02/12 15:40:01 fne 1.1.2.3: #i82877# support for the following text attributes: fontname, fontsize, bold, italic, underline 2008/02/10 08:27:41 fne 1.1.2.2: #i82877# fixes for text areas 2008/02/06 07:55:46 fne 1.1.2.1: #i82877# renamed cxx to mm
2008-04-15 12:13:46 +00:00
NSString * parentRole = (NSString *) [ parent accessibilityAttributeValue: NSAccessibilityRoleAttribute ];
SAL_WNODEPRECATED_DECLARATIONS_POP
INTEGRATION: CWS aqua11y01 (1.1.2); FILE ADDED 2008/04/15 07:58:36 rt 1.1.2.19: Update license header to LGPL 3. 2008/02/28 14:58:26 fne 1.1.2.18: #i82877# fix: do not manually hit test lists 2008/02/28 11:40:22 fne 1.1.2.17: #i82877# corrected relations label_for and labeled_by 2008/02/26 11:31:01 fne 1.1.2.16: #i82877# linkedUIElements attribute and some small fixes 2008/02/25 11:46:14 fne 1.1.2.15: #i82877# small fixes 2008/02/22 14:23:59 fne 1.1.2.14: #i82877# fix for floating windows mk2 2008/02/22 08:22:40 fne 1.1.2.13: #i82877# fix for floating windows 2008/02/21 20:07:01 fne 1.1.2.12: #i82877# redesigned hittest 2008/02/21 10:46:25 obr 1.1.2.11: keep a reference on the currently focused object (needed for transient object like table cells) 2008/02/21 05:50:48 obr 1.1.2.10: keep reference to hitChild for transient objects 2008/02/19 19:29:38 obr 1.1.2.9: release only when using factory directly 2008/02/19 12:17:29 obr 1.1.2.8: fixed a bunch of memory leaks 2008/02/18 22:43:04 obr 1.1.2.7: simulate focus notifications for active descendant changed events 2008/02/18 06:08:55 obr 1.1.2.6: make sure the SalFrameView gets inserted to the wrapper repository early enough and make the listener objects own their wrappers 2008/02/15 07:55:40 obr 1.1.2.5: removed mpParent 2008/02/15 07:41:41 obr 1.1.2.4: objects now create a wrapper for their parent objects on demand 2008/02/12 15:40:01 fne 1.1.2.3: #i82877# support for the following text attributes: fontname, fontsize, bold, italic, underline 2008/02/10 08:27:41 fne 1.1.2.2: #i82877# fixes for text areas 2008/02/06 07:55:46 fne 1.1.2.1: #i82877# renamed cxx to mm
2008-04-15 12:13:46 +00:00
// if we are a textarea inside a combobox, then the combobox is the action responder
if ( enabled
&& [ role isEqualToString: NSAccessibilityTextAreaRole ]
&& [ parentRole isEqualToString: NSAccessibilityComboBoxRole ]
&& parentAsWrapper ) {
INTEGRATION: CWS aqua11y01 (1.1.2); FILE ADDED 2008/04/15 07:58:36 rt 1.1.2.19: Update license header to LGPL 3. 2008/02/28 14:58:26 fne 1.1.2.18: #i82877# fix: do not manually hit test lists 2008/02/28 11:40:22 fne 1.1.2.17: #i82877# corrected relations label_for and labeled_by 2008/02/26 11:31:01 fne 1.1.2.16: #i82877# linkedUIElements attribute and some small fixes 2008/02/25 11:46:14 fne 1.1.2.15: #i82877# small fixes 2008/02/22 14:23:59 fne 1.1.2.14: #i82877# fix for floating windows mk2 2008/02/22 08:22:40 fne 1.1.2.13: #i82877# fix for floating windows 2008/02/21 20:07:01 fne 1.1.2.12: #i82877# redesigned hittest 2008/02/21 10:46:25 obr 1.1.2.11: keep a reference on the currently focused object (needed for transient object like table cells) 2008/02/21 05:50:48 obr 1.1.2.10: keep reference to hitChild for transient objects 2008/02/19 19:29:38 obr 1.1.2.9: release only when using factory directly 2008/02/19 12:17:29 obr 1.1.2.8: fixed a bunch of memory leaks 2008/02/18 22:43:04 obr 1.1.2.7: simulate focus notifications for active descendant changed events 2008/02/18 06:08:55 obr 1.1.2.6: make sure the SalFrameView gets inserted to the wrapper repository early enough and make the listener objects own their wrappers 2008/02/15 07:55:40 obr 1.1.2.5: removed mpParent 2008/02/15 07:41:41 obr 1.1.2.4: objects now create a wrapper for their parent objects on demand 2008/02/12 15:40:01 fne 1.1.2.3: #i82877# support for the following text attributes: fontname, fontsize, bold, italic, underline 2008/02/10 08:27:41 fne 1.1.2.2: #i82877# fixes for text areas 2008/02/06 07:55:46 fne 1.1.2.1: #i82877# renamed cxx to mm
2008-04-15 12:13:46 +00:00
wrapper = parentAsWrapper;
} else if ( enabled && [ self accessibleAction ] ) {
INTEGRATION: CWS aqua11y01 (1.1.2); FILE ADDED 2008/04/15 07:58:36 rt 1.1.2.19: Update license header to LGPL 3. 2008/02/28 14:58:26 fne 1.1.2.18: #i82877# fix: do not manually hit test lists 2008/02/28 11:40:22 fne 1.1.2.17: #i82877# corrected relations label_for and labeled_by 2008/02/26 11:31:01 fne 1.1.2.16: #i82877# linkedUIElements attribute and some small fixes 2008/02/25 11:46:14 fne 1.1.2.15: #i82877# small fixes 2008/02/22 14:23:59 fne 1.1.2.14: #i82877# fix for floating windows mk2 2008/02/22 08:22:40 fne 1.1.2.13: #i82877# fix for floating windows 2008/02/21 20:07:01 fne 1.1.2.12: #i82877# redesigned hittest 2008/02/21 10:46:25 obr 1.1.2.11: keep a reference on the currently focused object (needed for transient object like table cells) 2008/02/21 05:50:48 obr 1.1.2.10: keep reference to hitChild for transient objects 2008/02/19 19:29:38 obr 1.1.2.9: release only when using factory directly 2008/02/19 12:17:29 obr 1.1.2.8: fixed a bunch of memory leaks 2008/02/18 22:43:04 obr 1.1.2.7: simulate focus notifications for active descendant changed events 2008/02/18 06:08:55 obr 1.1.2.6: make sure the SalFrameView gets inserted to the wrapper repository early enough and make the listener objects own their wrappers 2008/02/15 07:55:40 obr 1.1.2.5: removed mpParent 2008/02/15 07:41:41 obr 1.1.2.4: objects now create a wrapper for their parent objects on demand 2008/02/12 15:40:01 fne 1.1.2.3: #i82877# support for the following text attributes: fontname, fontsize, bold, italic, underline 2008/02/10 08:27:41 fne 1.1.2.2: #i82877# fixes for text areas 2008/02/06 07:55:46 fne 1.1.2.1: #i82877# renamed cxx to mm
2008-04-15 12:13:46 +00:00
wrapper = self ;
}
[ parentRole release ];
[ enabledAttr release ];
[ role release ];
return wrapper;
}
-(void)accessibilityPerformAction:(NSString *)action {
SAL_INFO("vcl.a11y", "[" << self << " accessibilityPerformAction:" << action << "]");
INTEGRATION: CWS aqua11y01 (1.1.2); FILE ADDED 2008/04/15 07:58:36 rt 1.1.2.19: Update license header to LGPL 3. 2008/02/28 14:58:26 fne 1.1.2.18: #i82877# fix: do not manually hit test lists 2008/02/28 11:40:22 fne 1.1.2.17: #i82877# corrected relations label_for and labeled_by 2008/02/26 11:31:01 fne 1.1.2.16: #i82877# linkedUIElements attribute and some small fixes 2008/02/25 11:46:14 fne 1.1.2.15: #i82877# small fixes 2008/02/22 14:23:59 fne 1.1.2.14: #i82877# fix for floating windows mk2 2008/02/22 08:22:40 fne 1.1.2.13: #i82877# fix for floating windows 2008/02/21 20:07:01 fne 1.1.2.12: #i82877# redesigned hittest 2008/02/21 10:46:25 obr 1.1.2.11: keep a reference on the currently focused object (needed for transient object like table cells) 2008/02/21 05:50:48 obr 1.1.2.10: keep reference to hitChild for transient objects 2008/02/19 19:29:38 obr 1.1.2.9: release only when using factory directly 2008/02/19 12:17:29 obr 1.1.2.8: fixed a bunch of memory leaks 2008/02/18 22:43:04 obr 1.1.2.7: simulate focus notifications for active descendant changed events 2008/02/18 06:08:55 obr 1.1.2.6: make sure the SalFrameView gets inserted to the wrapper repository early enough and make the listener objects own their wrappers 2008/02/15 07:55:40 obr 1.1.2.5: removed mpParent 2008/02/15 07:41:41 obr 1.1.2.4: objects now create a wrapper for their parent objects on demand 2008/02/12 15:40:01 fne 1.1.2.3: #i82877# support for the following text attributes: fontname, fontsize, bold, italic, underline 2008/02/10 08:27:41 fne 1.1.2.2: #i82877# fixes for text areas 2008/02/06 07:55:46 fne 1.1.2.1: #i82877# renamed cxx to mm
2008-04-15 12:13:46 +00:00
AquaA11yWrapper * actionResponder = [ self actionResponder ];
if ( actionResponder ) {
INTEGRATION: CWS aqua11y01 (1.1.2); FILE ADDED 2008/04/15 07:58:36 rt 1.1.2.19: Update license header to LGPL 3. 2008/02/28 14:58:26 fne 1.1.2.18: #i82877# fix: do not manually hit test lists 2008/02/28 11:40:22 fne 1.1.2.17: #i82877# corrected relations label_for and labeled_by 2008/02/26 11:31:01 fne 1.1.2.16: #i82877# linkedUIElements attribute and some small fixes 2008/02/25 11:46:14 fne 1.1.2.15: #i82877# small fixes 2008/02/22 14:23:59 fne 1.1.2.14: #i82877# fix for floating windows mk2 2008/02/22 08:22:40 fne 1.1.2.13: #i82877# fix for floating windows 2008/02/21 20:07:01 fne 1.1.2.12: #i82877# redesigned hittest 2008/02/21 10:46:25 obr 1.1.2.11: keep a reference on the currently focused object (needed for transient object like table cells) 2008/02/21 05:50:48 obr 1.1.2.10: keep reference to hitChild for transient objects 2008/02/19 19:29:38 obr 1.1.2.9: release only when using factory directly 2008/02/19 12:17:29 obr 1.1.2.8: fixed a bunch of memory leaks 2008/02/18 22:43:04 obr 1.1.2.7: simulate focus notifications for active descendant changed events 2008/02/18 06:08:55 obr 1.1.2.6: make sure the SalFrameView gets inserted to the wrapper repository early enough and make the listener objects own their wrappers 2008/02/15 07:55:40 obr 1.1.2.5: removed mpParent 2008/02/15 07:41:41 obr 1.1.2.4: objects now create a wrapper for their parent objects on demand 2008/02/12 15:40:01 fne 1.1.2.3: #i82877# support for the following text attributes: fontname, fontsize, bold, italic, underline 2008/02/10 08:27:41 fne 1.1.2.2: #i82877# fixes for text areas 2008/02/06 07:55:46 fne 1.1.2.1: #i82877# renamed cxx to mm
2008-04-15 12:13:46 +00:00
[ AquaA11yActionWrapper doAction: action ofElement: actionResponder ];
}
}
-(NSArray *)accessibilityActionNames {
SAL_INFO("vcl.a11y", "[" << self << " accessibilityActionNames]");
INTEGRATION: CWS aqua11y01 (1.1.2); FILE ADDED 2008/04/15 07:58:36 rt 1.1.2.19: Update license header to LGPL 3. 2008/02/28 14:58:26 fne 1.1.2.18: #i82877# fix: do not manually hit test lists 2008/02/28 11:40:22 fne 1.1.2.17: #i82877# corrected relations label_for and labeled_by 2008/02/26 11:31:01 fne 1.1.2.16: #i82877# linkedUIElements attribute and some small fixes 2008/02/25 11:46:14 fne 1.1.2.15: #i82877# small fixes 2008/02/22 14:23:59 fne 1.1.2.14: #i82877# fix for floating windows mk2 2008/02/22 08:22:40 fne 1.1.2.13: #i82877# fix for floating windows 2008/02/21 20:07:01 fne 1.1.2.12: #i82877# redesigned hittest 2008/02/21 10:46:25 obr 1.1.2.11: keep a reference on the currently focused object (needed for transient object like table cells) 2008/02/21 05:50:48 obr 1.1.2.10: keep reference to hitChild for transient objects 2008/02/19 19:29:38 obr 1.1.2.9: release only when using factory directly 2008/02/19 12:17:29 obr 1.1.2.8: fixed a bunch of memory leaks 2008/02/18 22:43:04 obr 1.1.2.7: simulate focus notifications for active descendant changed events 2008/02/18 06:08:55 obr 1.1.2.6: make sure the SalFrameView gets inserted to the wrapper repository early enough and make the listener objects own their wrappers 2008/02/15 07:55:40 obr 1.1.2.5: removed mpParent 2008/02/15 07:41:41 obr 1.1.2.4: objects now create a wrapper for their parent objects on demand 2008/02/12 15:40:01 fne 1.1.2.3: #i82877# support for the following text attributes: fontname, fontsize, bold, italic, underline 2008/02/10 08:27:41 fne 1.1.2.2: #i82877# fixes for text areas 2008/02/06 07:55:46 fne 1.1.2.1: #i82877# renamed cxx to mm
2008-04-15 12:13:46 +00:00
NSArray * actionNames = nil;
AquaA11yWrapper * actionResponder = [ self actionResponder ];
if ( actionResponder ) {
INTEGRATION: CWS aqua11y01 (1.1.2); FILE ADDED 2008/04/15 07:58:36 rt 1.1.2.19: Update license header to LGPL 3. 2008/02/28 14:58:26 fne 1.1.2.18: #i82877# fix: do not manually hit test lists 2008/02/28 11:40:22 fne 1.1.2.17: #i82877# corrected relations label_for and labeled_by 2008/02/26 11:31:01 fne 1.1.2.16: #i82877# linkedUIElements attribute and some small fixes 2008/02/25 11:46:14 fne 1.1.2.15: #i82877# small fixes 2008/02/22 14:23:59 fne 1.1.2.14: #i82877# fix for floating windows mk2 2008/02/22 08:22:40 fne 1.1.2.13: #i82877# fix for floating windows 2008/02/21 20:07:01 fne 1.1.2.12: #i82877# redesigned hittest 2008/02/21 10:46:25 obr 1.1.2.11: keep a reference on the currently focused object (needed for transient object like table cells) 2008/02/21 05:50:48 obr 1.1.2.10: keep reference to hitChild for transient objects 2008/02/19 19:29:38 obr 1.1.2.9: release only when using factory directly 2008/02/19 12:17:29 obr 1.1.2.8: fixed a bunch of memory leaks 2008/02/18 22:43:04 obr 1.1.2.7: simulate focus notifications for active descendant changed events 2008/02/18 06:08:55 obr 1.1.2.6: make sure the SalFrameView gets inserted to the wrapper repository early enough and make the listener objects own their wrappers 2008/02/15 07:55:40 obr 1.1.2.5: removed mpParent 2008/02/15 07:41:41 obr 1.1.2.4: objects now create a wrapper for their parent objects on demand 2008/02/12 15:40:01 fne 1.1.2.3: #i82877# support for the following text attributes: fontname, fontsize, bold, italic, underline 2008/02/10 08:27:41 fne 1.1.2.2: #i82877# fixes for text areas 2008/02/06 07:55:46 fne 1.1.2.1: #i82877# renamed cxx to mm
2008-04-15 12:13:46 +00:00
actionNames = [ AquaA11yActionWrapper actionNamesForElement: actionResponder ];
} else {
actionNames = [ [ NSArray alloc ] init ];
}
return actionNames;
}
#pragma mark -
#pragma mark Hit Test
-(BOOL)isViewElement:(NSObject *)viewElement hitByPoint:(NSPoint)point {
BOOL hit = NO;
INTEGRATION: CWS aqua11y01 (1.1.2); FILE ADDED 2008/04/15 07:58:36 rt 1.1.2.19: Update license header to LGPL 3. 2008/02/28 14:58:26 fne 1.1.2.18: #i82877# fix: do not manually hit test lists 2008/02/28 11:40:22 fne 1.1.2.17: #i82877# corrected relations label_for and labeled_by 2008/02/26 11:31:01 fne 1.1.2.16: #i82877# linkedUIElements attribute and some small fixes 2008/02/25 11:46:14 fne 1.1.2.15: #i82877# small fixes 2008/02/22 14:23:59 fne 1.1.2.14: #i82877# fix for floating windows mk2 2008/02/22 08:22:40 fne 1.1.2.13: #i82877# fix for floating windows 2008/02/21 20:07:01 fne 1.1.2.12: #i82877# redesigned hittest 2008/02/21 10:46:25 obr 1.1.2.11: keep a reference on the currently focused object (needed for transient object like table cells) 2008/02/21 05:50:48 obr 1.1.2.10: keep reference to hitChild for transient objects 2008/02/19 19:29:38 obr 1.1.2.9: release only when using factory directly 2008/02/19 12:17:29 obr 1.1.2.8: fixed a bunch of memory leaks 2008/02/18 22:43:04 obr 1.1.2.7: simulate focus notifications for active descendant changed events 2008/02/18 06:08:55 obr 1.1.2.6: make sure the SalFrameView gets inserted to the wrapper repository early enough and make the listener objects own their wrappers 2008/02/15 07:55:40 obr 1.1.2.5: removed mpParent 2008/02/15 07:41:41 obr 1.1.2.4: objects now create a wrapper for their parent objects on demand 2008/02/12 15:40:01 fne 1.1.2.3: #i82877# support for the following text attributes: fontname, fontsize, bold, italic, underline 2008/02/10 08:27:41 fne 1.1.2.2: #i82877# fixes for text areas 2008/02/06 07:55:46 fne 1.1.2.1: #i82877# renamed cxx to mm
2008-04-15 12:13:46 +00:00
NSAutoreleasePool * pool = [ [ NSAutoreleasePool alloc ] init ];
SAL_WNODEPRECATED_DECLARATIONS_PUSH
//TODO: 10.10 accessibilityAttributeValue:
INTEGRATION: CWS aqua11y01 (1.1.2); FILE ADDED 2008/04/15 07:58:36 rt 1.1.2.19: Update license header to LGPL 3. 2008/02/28 14:58:26 fne 1.1.2.18: #i82877# fix: do not manually hit test lists 2008/02/28 11:40:22 fne 1.1.2.17: #i82877# corrected relations label_for and labeled_by 2008/02/26 11:31:01 fne 1.1.2.16: #i82877# linkedUIElements attribute and some small fixes 2008/02/25 11:46:14 fne 1.1.2.15: #i82877# small fixes 2008/02/22 14:23:59 fne 1.1.2.14: #i82877# fix for floating windows mk2 2008/02/22 08:22:40 fne 1.1.2.13: #i82877# fix for floating windows 2008/02/21 20:07:01 fne 1.1.2.12: #i82877# redesigned hittest 2008/02/21 10:46:25 obr 1.1.2.11: keep a reference on the currently focused object (needed for transient object like table cells) 2008/02/21 05:50:48 obr 1.1.2.10: keep reference to hitChild for transient objects 2008/02/19 19:29:38 obr 1.1.2.9: release only when using factory directly 2008/02/19 12:17:29 obr 1.1.2.8: fixed a bunch of memory leaks 2008/02/18 22:43:04 obr 1.1.2.7: simulate focus notifications for active descendant changed events 2008/02/18 06:08:55 obr 1.1.2.6: make sure the SalFrameView gets inserted to the wrapper repository early enough and make the listener objects own their wrappers 2008/02/15 07:55:40 obr 1.1.2.5: removed mpParent 2008/02/15 07:41:41 obr 1.1.2.4: objects now create a wrapper for their parent objects on demand 2008/02/12 15:40:01 fne 1.1.2.3: #i82877# support for the following text attributes: fontname, fontsize, bold, italic, underline 2008/02/10 08:27:41 fne 1.1.2.2: #i82877# fixes for text areas 2008/02/06 07:55:46 fne 1.1.2.1: #i82877# renamed cxx to mm
2008-04-15 12:13:46 +00:00
NSValue * position = [ viewElement accessibilityAttributeValue: NSAccessibilityPositionAttribute ];
NSValue * size = [ viewElement accessibilityAttributeValue: NSAccessibilitySizeAttribute ];
SAL_WNODEPRECATED_DECLARATIONS_POP
if ( position && size ) {
INTEGRATION: CWS aqua11y01 (1.1.2); FILE ADDED 2008/04/15 07:58:36 rt 1.1.2.19: Update license header to LGPL 3. 2008/02/28 14:58:26 fne 1.1.2.18: #i82877# fix: do not manually hit test lists 2008/02/28 11:40:22 fne 1.1.2.17: #i82877# corrected relations label_for and labeled_by 2008/02/26 11:31:01 fne 1.1.2.16: #i82877# linkedUIElements attribute and some small fixes 2008/02/25 11:46:14 fne 1.1.2.15: #i82877# small fixes 2008/02/22 14:23:59 fne 1.1.2.14: #i82877# fix for floating windows mk2 2008/02/22 08:22:40 fne 1.1.2.13: #i82877# fix for floating windows 2008/02/21 20:07:01 fne 1.1.2.12: #i82877# redesigned hittest 2008/02/21 10:46:25 obr 1.1.2.11: keep a reference on the currently focused object (needed for transient object like table cells) 2008/02/21 05:50:48 obr 1.1.2.10: keep reference to hitChild for transient objects 2008/02/19 19:29:38 obr 1.1.2.9: release only when using factory directly 2008/02/19 12:17:29 obr 1.1.2.8: fixed a bunch of memory leaks 2008/02/18 22:43:04 obr 1.1.2.7: simulate focus notifications for active descendant changed events 2008/02/18 06:08:55 obr 1.1.2.6: make sure the SalFrameView gets inserted to the wrapper repository early enough and make the listener objects own their wrappers 2008/02/15 07:55:40 obr 1.1.2.5: removed mpParent 2008/02/15 07:41:41 obr 1.1.2.4: objects now create a wrapper for their parent objects on demand 2008/02/12 15:40:01 fne 1.1.2.3: #i82877# support for the following text attributes: fontname, fontsize, bold, italic, underline 2008/02/10 08:27:41 fne 1.1.2.2: #i82877# fixes for text areas 2008/02/06 07:55:46 fne 1.1.2.1: #i82877# renamed cxx to mm
2008-04-15 12:13:46 +00:00
float minX = [ position pointValue ].x;
float minY = [ position pointValue ].y;
float maxX = minX + [ size sizeValue ].width;
float maxY = minY + [ size sizeValue ].height;
if ( minX < point.x && maxX > point.x && minY < point.y && maxY > point.y ) {
hit = YES;
}
}
[ pool release ];
return hit;
}
Reference < XAccessibleContext > hitTestRunner ( com::sun::star::awt::Point point,
Reference < XAccessibleContext > rxAccessibleContext ) {
INTEGRATION: CWS aqua11y01 (1.1.2); FILE ADDED 2008/04/15 07:58:36 rt 1.1.2.19: Update license header to LGPL 3. 2008/02/28 14:58:26 fne 1.1.2.18: #i82877# fix: do not manually hit test lists 2008/02/28 11:40:22 fne 1.1.2.17: #i82877# corrected relations label_for and labeled_by 2008/02/26 11:31:01 fne 1.1.2.16: #i82877# linkedUIElements attribute and some small fixes 2008/02/25 11:46:14 fne 1.1.2.15: #i82877# small fixes 2008/02/22 14:23:59 fne 1.1.2.14: #i82877# fix for floating windows mk2 2008/02/22 08:22:40 fne 1.1.2.13: #i82877# fix for floating windows 2008/02/21 20:07:01 fne 1.1.2.12: #i82877# redesigned hittest 2008/02/21 10:46:25 obr 1.1.2.11: keep a reference on the currently focused object (needed for transient object like table cells) 2008/02/21 05:50:48 obr 1.1.2.10: keep reference to hitChild for transient objects 2008/02/19 19:29:38 obr 1.1.2.9: release only when using factory directly 2008/02/19 12:17:29 obr 1.1.2.8: fixed a bunch of memory leaks 2008/02/18 22:43:04 obr 1.1.2.7: simulate focus notifications for active descendant changed events 2008/02/18 06:08:55 obr 1.1.2.6: make sure the SalFrameView gets inserted to the wrapper repository early enough and make the listener objects own their wrappers 2008/02/15 07:55:40 obr 1.1.2.5: removed mpParent 2008/02/15 07:41:41 obr 1.1.2.4: objects now create a wrapper for their parent objects on demand 2008/02/12 15:40:01 fne 1.1.2.3: #i82877# support for the following text attributes: fontname, fontsize, bold, italic, underline 2008/02/10 08:27:41 fne 1.1.2.2: #i82877# fixes for text areas 2008/02/06 07:55:46 fne 1.1.2.1: #i82877# renamed cxx to mm
2008-04-15 12:13:46 +00:00
Reference < XAccessibleContext > hitChild;
Reference < XAccessibleContext > emptyReference;
try {
Reference < XAccessibleComponent > rxAccessibleComponent ( rxAccessibleContext, UNO_QUERY );
if ( rxAccessibleComponent.is() ) {
com::sun::star::awt::Point location = rxAccessibleComponent -> getLocationOnScreen();
com::sun::star::awt::Point hitPoint ( point.X - location.X , point.Y - location.Y);
INTEGRATION: CWS aqua11y01 (1.1.2); FILE ADDED 2008/04/15 07:58:36 rt 1.1.2.19: Update license header to LGPL 3. 2008/02/28 14:58:26 fne 1.1.2.18: #i82877# fix: do not manually hit test lists 2008/02/28 11:40:22 fne 1.1.2.17: #i82877# corrected relations label_for and labeled_by 2008/02/26 11:31:01 fne 1.1.2.16: #i82877# linkedUIElements attribute and some small fixes 2008/02/25 11:46:14 fne 1.1.2.15: #i82877# small fixes 2008/02/22 14:23:59 fne 1.1.2.14: #i82877# fix for floating windows mk2 2008/02/22 08:22:40 fne 1.1.2.13: #i82877# fix for floating windows 2008/02/21 20:07:01 fne 1.1.2.12: #i82877# redesigned hittest 2008/02/21 10:46:25 obr 1.1.2.11: keep a reference on the currently focused object (needed for transient object like table cells) 2008/02/21 05:50:48 obr 1.1.2.10: keep reference to hitChild for transient objects 2008/02/19 19:29:38 obr 1.1.2.9: release only when using factory directly 2008/02/19 12:17:29 obr 1.1.2.8: fixed a bunch of memory leaks 2008/02/18 22:43:04 obr 1.1.2.7: simulate focus notifications for active descendant changed events 2008/02/18 06:08:55 obr 1.1.2.6: make sure the SalFrameView gets inserted to the wrapper repository early enough and make the listener objects own their wrappers 2008/02/15 07:55:40 obr 1.1.2.5: removed mpParent 2008/02/15 07:41:41 obr 1.1.2.4: objects now create a wrapper for their parent objects on demand 2008/02/12 15:40:01 fne 1.1.2.3: #i82877# support for the following text attributes: fontname, fontsize, bold, italic, underline 2008/02/10 08:27:41 fne 1.1.2.2: #i82877# fixes for text areas 2008/02/06 07:55:46 fne 1.1.2.1: #i82877# renamed cxx to mm
2008-04-15 12:13:46 +00:00
Reference < XAccessible > rxAccessible = rxAccessibleComponent -> getAccessibleAtPoint ( hitPoint );
if ( rxAccessible.is() && rxAccessible -> getAccessibleContext().is() &&
rxAccessible -> getAccessibleContext() -> getAccessibleChildCount() == 0 ) {
hitChild = rxAccessible -> getAccessibleContext();
INTEGRATION: CWS aqua11y01 (1.1.2); FILE ADDED 2008/04/15 07:58:36 rt 1.1.2.19: Update license header to LGPL 3. 2008/02/28 14:58:26 fne 1.1.2.18: #i82877# fix: do not manually hit test lists 2008/02/28 11:40:22 fne 1.1.2.17: #i82877# corrected relations label_for and labeled_by 2008/02/26 11:31:01 fne 1.1.2.16: #i82877# linkedUIElements attribute and some small fixes 2008/02/25 11:46:14 fne 1.1.2.15: #i82877# small fixes 2008/02/22 14:23:59 fne 1.1.2.14: #i82877# fix for floating windows mk2 2008/02/22 08:22:40 fne 1.1.2.13: #i82877# fix for floating windows 2008/02/21 20:07:01 fne 1.1.2.12: #i82877# redesigned hittest 2008/02/21 10:46:25 obr 1.1.2.11: keep a reference on the currently focused object (needed for transient object like table cells) 2008/02/21 05:50:48 obr 1.1.2.10: keep reference to hitChild for transient objects 2008/02/19 19:29:38 obr 1.1.2.9: release only when using factory directly 2008/02/19 12:17:29 obr 1.1.2.8: fixed a bunch of memory leaks 2008/02/18 22:43:04 obr 1.1.2.7: simulate focus notifications for active descendant changed events 2008/02/18 06:08:55 obr 1.1.2.6: make sure the SalFrameView gets inserted to the wrapper repository early enough and make the listener objects own their wrappers 2008/02/15 07:55:40 obr 1.1.2.5: removed mpParent 2008/02/15 07:41:41 obr 1.1.2.4: objects now create a wrapper for their parent objects on demand 2008/02/12 15:40:01 fne 1.1.2.3: #i82877# support for the following text attributes: fontname, fontsize, bold, italic, underline 2008/02/10 08:27:41 fne 1.1.2.2: #i82877# fixes for text areas 2008/02/06 07:55:46 fne 1.1.2.1: #i82877# renamed cxx to mm
2008-04-15 12:13:46 +00:00
}
}
// iterate the hirerachy looking doing recursive hit testing.
// apparently necessary as a special treatment for e.g. comboboxes
if ( !hitChild.is() ) {
bool bSafeToIterate = true;
sal_Int32 nCount = rxAccessibleContext -> getAccessibleChildCount();
if ( nCount < 0 || nCount > SAL_MAX_UINT16 /* slow enough for anyone */ )
bSafeToIterate = false;
else { // manages descendants is an horror from the a11y standards guys.
Reference< XAccessibleStateSet > xStateSet;
xStateSet = rxAccessibleContext -> getAccessibleStateSet();
if (xStateSet.is() && xStateSet -> contains(AccessibleStateType::MANAGES_DESCENDANTS ) )
bSafeToIterate = false;
}
if( bSafeToIterate ) {
for ( int i = 0; i < rxAccessibleContext -> getAccessibleChildCount(); i++ ) {
Reference < XAccessible > rxAccessibleChild = rxAccessibleContext -> getAccessibleChild ( i );
if ( rxAccessibleChild.is() && rxAccessibleChild -> getAccessibleContext().is() && rxAccessibleChild -> getAccessibleContext() -> getAccessibleRole() != AccessibleRole::LIST ) {
Reference < XAccessibleContext > myHitChild = hitTestRunner ( point, rxAccessibleChild -> getAccessibleContext() );
if ( myHitChild.is() ) {
hitChild = myHitChild;
break;
}
INTEGRATION: CWS aqua11y01 (1.1.2); FILE ADDED 2008/04/15 07:58:36 rt 1.1.2.19: Update license header to LGPL 3. 2008/02/28 14:58:26 fne 1.1.2.18: #i82877# fix: do not manually hit test lists 2008/02/28 11:40:22 fne 1.1.2.17: #i82877# corrected relations label_for and labeled_by 2008/02/26 11:31:01 fne 1.1.2.16: #i82877# linkedUIElements attribute and some small fixes 2008/02/25 11:46:14 fne 1.1.2.15: #i82877# small fixes 2008/02/22 14:23:59 fne 1.1.2.14: #i82877# fix for floating windows mk2 2008/02/22 08:22:40 fne 1.1.2.13: #i82877# fix for floating windows 2008/02/21 20:07:01 fne 1.1.2.12: #i82877# redesigned hittest 2008/02/21 10:46:25 obr 1.1.2.11: keep a reference on the currently focused object (needed for transient object like table cells) 2008/02/21 05:50:48 obr 1.1.2.10: keep reference to hitChild for transient objects 2008/02/19 19:29:38 obr 1.1.2.9: release only when using factory directly 2008/02/19 12:17:29 obr 1.1.2.8: fixed a bunch of memory leaks 2008/02/18 22:43:04 obr 1.1.2.7: simulate focus notifications for active descendant changed events 2008/02/18 06:08:55 obr 1.1.2.6: make sure the SalFrameView gets inserted to the wrapper repository early enough and make the listener objects own their wrappers 2008/02/15 07:55:40 obr 1.1.2.5: removed mpParent 2008/02/15 07:41:41 obr 1.1.2.4: objects now create a wrapper for their parent objects on demand 2008/02/12 15:40:01 fne 1.1.2.3: #i82877# support for the following text attributes: fontname, fontsize, bold, italic, underline 2008/02/10 08:27:41 fne 1.1.2.2: #i82877# fixes for text areas 2008/02/06 07:55:46 fne 1.1.2.1: #i82877# renamed cxx to mm
2008-04-15 12:13:46 +00:00
}
}
}
}
} catch ( RuntimeException ) {
return emptyReference;
}
return hitChild;
}
-(id)accessibilityHitTest:(NSPoint)point {
SAL_INFO("vcl.a11y", "[" << self << " accessibilityHitTest:" << point << "]");
INTEGRATION: CWS aqua11y01 (1.1.2); FILE ADDED 2008/04/15 07:58:36 rt 1.1.2.19: Update license header to LGPL 3. 2008/02/28 14:58:26 fne 1.1.2.18: #i82877# fix: do not manually hit test lists 2008/02/28 11:40:22 fne 1.1.2.17: #i82877# corrected relations label_for and labeled_by 2008/02/26 11:31:01 fne 1.1.2.16: #i82877# linkedUIElements attribute and some small fixes 2008/02/25 11:46:14 fne 1.1.2.15: #i82877# small fixes 2008/02/22 14:23:59 fne 1.1.2.14: #i82877# fix for floating windows mk2 2008/02/22 08:22:40 fne 1.1.2.13: #i82877# fix for floating windows 2008/02/21 20:07:01 fne 1.1.2.12: #i82877# redesigned hittest 2008/02/21 10:46:25 obr 1.1.2.11: keep a reference on the currently focused object (needed for transient object like table cells) 2008/02/21 05:50:48 obr 1.1.2.10: keep reference to hitChild for transient objects 2008/02/19 19:29:38 obr 1.1.2.9: release only when using factory directly 2008/02/19 12:17:29 obr 1.1.2.8: fixed a bunch of memory leaks 2008/02/18 22:43:04 obr 1.1.2.7: simulate focus notifications for active descendant changed events 2008/02/18 06:08:55 obr 1.1.2.6: make sure the SalFrameView gets inserted to the wrapper repository early enough and make the listener objects own their wrappers 2008/02/15 07:55:40 obr 1.1.2.5: removed mpParent 2008/02/15 07:41:41 obr 1.1.2.4: objects now create a wrapper for their parent objects on demand 2008/02/12 15:40:01 fne 1.1.2.3: #i82877# support for the following text attributes: fontname, fontsize, bold, italic, underline 2008/02/10 08:27:41 fne 1.1.2.2: #i82877# fixes for text areas 2008/02/06 07:55:46 fne 1.1.2.1: #i82877# renamed cxx to mm
2008-04-15 12:13:46 +00:00
static id wrapper = nil;
if ( nil != wrapper ) {
[ wrapper release ];
wrapper = nil;
}
Reference < XAccessibleContext > hitChild;
NSRect screenRect = [ [ NSScreen mainScreen ] frame ];
com::sun::star::awt::Point hitPoint ( static_cast<long>(point.x) , static_cast<long>(screenRect.size.height - point.y) );
INTEGRATION: CWS aqua11y01 (1.1.2); FILE ADDED 2008/04/15 07:58:36 rt 1.1.2.19: Update license header to LGPL 3. 2008/02/28 14:58:26 fne 1.1.2.18: #i82877# fix: do not manually hit test lists 2008/02/28 11:40:22 fne 1.1.2.17: #i82877# corrected relations label_for and labeled_by 2008/02/26 11:31:01 fne 1.1.2.16: #i82877# linkedUIElements attribute and some small fixes 2008/02/25 11:46:14 fne 1.1.2.15: #i82877# small fixes 2008/02/22 14:23:59 fne 1.1.2.14: #i82877# fix for floating windows mk2 2008/02/22 08:22:40 fne 1.1.2.13: #i82877# fix for floating windows 2008/02/21 20:07:01 fne 1.1.2.12: #i82877# redesigned hittest 2008/02/21 10:46:25 obr 1.1.2.11: keep a reference on the currently focused object (needed for transient object like table cells) 2008/02/21 05:50:48 obr 1.1.2.10: keep reference to hitChild for transient objects 2008/02/19 19:29:38 obr 1.1.2.9: release only when using factory directly 2008/02/19 12:17:29 obr 1.1.2.8: fixed a bunch of memory leaks 2008/02/18 22:43:04 obr 1.1.2.7: simulate focus notifications for active descendant changed events 2008/02/18 06:08:55 obr 1.1.2.6: make sure the SalFrameView gets inserted to the wrapper repository early enough and make the listener objects own their wrappers 2008/02/15 07:55:40 obr 1.1.2.5: removed mpParent 2008/02/15 07:41:41 obr 1.1.2.4: objects now create a wrapper for their parent objects on demand 2008/02/12 15:40:01 fne 1.1.2.3: #i82877# support for the following text attributes: fontname, fontsize, bold, italic, underline 2008/02/10 08:27:41 fne 1.1.2.2: #i82877# fixes for text areas 2008/02/06 07:55:46 fne 1.1.2.1: #i82877# renamed cxx to mm
2008-04-15 12:13:46 +00:00
// check child windows first
NSWindow * window = (NSWindow *) [ self accessibilityAttributeValue: NSAccessibilityWindowAttribute ];
NSArray * childWindows = [ window childWindows ];
if ( [ childWindows count ] > 0 ) {
NSWindow * element = nil;
NSEnumerator * enumerator = [ childWindows objectEnumerator ];
while ( ( element = [ enumerator nextObject ] ) && !hitChild.is() ) {
INTEGRATION: CWS aqua11y01 (1.1.2); FILE ADDED 2008/04/15 07:58:36 rt 1.1.2.19: Update license header to LGPL 3. 2008/02/28 14:58:26 fne 1.1.2.18: #i82877# fix: do not manually hit test lists 2008/02/28 11:40:22 fne 1.1.2.17: #i82877# corrected relations label_for and labeled_by 2008/02/26 11:31:01 fne 1.1.2.16: #i82877# linkedUIElements attribute and some small fixes 2008/02/25 11:46:14 fne 1.1.2.15: #i82877# small fixes 2008/02/22 14:23:59 fne 1.1.2.14: #i82877# fix for floating windows mk2 2008/02/22 08:22:40 fne 1.1.2.13: #i82877# fix for floating windows 2008/02/21 20:07:01 fne 1.1.2.12: #i82877# redesigned hittest 2008/02/21 10:46:25 obr 1.1.2.11: keep a reference on the currently focused object (needed for transient object like table cells) 2008/02/21 05:50:48 obr 1.1.2.10: keep reference to hitChild for transient objects 2008/02/19 19:29:38 obr 1.1.2.9: release only when using factory directly 2008/02/19 12:17:29 obr 1.1.2.8: fixed a bunch of memory leaks 2008/02/18 22:43:04 obr 1.1.2.7: simulate focus notifications for active descendant changed events 2008/02/18 06:08:55 obr 1.1.2.6: make sure the SalFrameView gets inserted to the wrapper repository early enough and make the listener objects own their wrappers 2008/02/15 07:55:40 obr 1.1.2.5: removed mpParent 2008/02/15 07:41:41 obr 1.1.2.4: objects now create a wrapper for their parent objects on demand 2008/02/12 15:40:01 fne 1.1.2.3: #i82877# support for the following text attributes: fontname, fontsize, bold, italic, underline 2008/02/10 08:27:41 fne 1.1.2.2: #i82877# fixes for text areas 2008/02/06 07:55:46 fne 1.1.2.1: #i82877# renamed cxx to mm
2008-04-15 12:13:46 +00:00
if ( [ element isKindOfClass: [ SalFrameWindow class ] ] && [ self isViewElement: element hitByPoint: point ] ) {
// we have a child window that is hit
Reference < XAccessibleRelationSet > relationSet = [ ( ( SalFrameWindow * ) element ) accessibleContext ] -> getAccessibleRelationSet();
if ( relationSet.is() && relationSet -> containsRelation ( AccessibleRelationType::SUB_WINDOW_OF )) {
// we have a valid relation to the parent element
AccessibleRelation relation = relationSet -> getRelationByType ( AccessibleRelationType::SUB_WINDOW_OF );
for ( int i = 0; i < relation.TargetSet.getLength() && !hitChild.is(); i++ ) {
Reference < XAccessible > rxAccessible ( relation.TargetSet [ i ], UNO_QUERY );
if ( rxAccessible.is() && rxAccessible -> getAccessibleContext().is() ) {
// hit test for children of parent
hitChild = hitTestRunner ( hitPoint, rxAccessible -> getAccessibleContext() );
}
}
}
}
}
}
// nothing hit yet, so check ourself
if ( ! hitChild.is() ) {
if ( !mpReferenceWrapper ) {
INTEGRATION: CWS aqua11y01 (1.1.2); FILE ADDED 2008/04/15 07:58:36 rt 1.1.2.19: Update license header to LGPL 3. 2008/02/28 14:58:26 fne 1.1.2.18: #i82877# fix: do not manually hit test lists 2008/02/28 11:40:22 fne 1.1.2.17: #i82877# corrected relations label_for and labeled_by 2008/02/26 11:31:01 fne 1.1.2.16: #i82877# linkedUIElements attribute and some small fixes 2008/02/25 11:46:14 fne 1.1.2.15: #i82877# small fixes 2008/02/22 14:23:59 fne 1.1.2.14: #i82877# fix for floating windows mk2 2008/02/22 08:22:40 fne 1.1.2.13: #i82877# fix for floating windows 2008/02/21 20:07:01 fne 1.1.2.12: #i82877# redesigned hittest 2008/02/21 10:46:25 obr 1.1.2.11: keep a reference on the currently focused object (needed for transient object like table cells) 2008/02/21 05:50:48 obr 1.1.2.10: keep reference to hitChild for transient objects 2008/02/19 19:29:38 obr 1.1.2.9: release only when using factory directly 2008/02/19 12:17:29 obr 1.1.2.8: fixed a bunch of memory leaks 2008/02/18 22:43:04 obr 1.1.2.7: simulate focus notifications for active descendant changed events 2008/02/18 06:08:55 obr 1.1.2.6: make sure the SalFrameView gets inserted to the wrapper repository early enough and make the listener objects own their wrappers 2008/02/15 07:55:40 obr 1.1.2.5: removed mpParent 2008/02/15 07:41:41 obr 1.1.2.4: objects now create a wrapper for their parent objects on demand 2008/02/12 15:40:01 fne 1.1.2.3: #i82877# support for the following text attributes: fontname, fontsize, bold, italic, underline 2008/02/10 08:27:41 fne 1.1.2.2: #i82877# fixes for text areas 2008/02/06 07:55:46 fne 1.1.2.1: #i82877# renamed cxx to mm
2008-04-15 12:13:46 +00:00
[ self setDefaults: [ self accessibleContext ] ];
}
hitChild = hitTestRunner ( hitPoint, mpReferenceWrapper -> rAccessibleContext );
}
if ( hitChild.is() ) {
wrapper = [ AquaA11yFactory wrapperForAccessibleContext: hitChild ];
}
if ( wrapper ) {
INTEGRATION: CWS aqua11y01 (1.1.2); FILE ADDED 2008/04/15 07:58:36 rt 1.1.2.19: Update license header to LGPL 3. 2008/02/28 14:58:26 fne 1.1.2.18: #i82877# fix: do not manually hit test lists 2008/02/28 11:40:22 fne 1.1.2.17: #i82877# corrected relations label_for and labeled_by 2008/02/26 11:31:01 fne 1.1.2.16: #i82877# linkedUIElements attribute and some small fixes 2008/02/25 11:46:14 fne 1.1.2.15: #i82877# small fixes 2008/02/22 14:23:59 fne 1.1.2.14: #i82877# fix for floating windows mk2 2008/02/22 08:22:40 fne 1.1.2.13: #i82877# fix for floating windows 2008/02/21 20:07:01 fne 1.1.2.12: #i82877# redesigned hittest 2008/02/21 10:46:25 obr 1.1.2.11: keep a reference on the currently focused object (needed for transient object like table cells) 2008/02/21 05:50:48 obr 1.1.2.10: keep reference to hitChild for transient objects 2008/02/19 19:29:38 obr 1.1.2.9: release only when using factory directly 2008/02/19 12:17:29 obr 1.1.2.8: fixed a bunch of memory leaks 2008/02/18 22:43:04 obr 1.1.2.7: simulate focus notifications for active descendant changed events 2008/02/18 06:08:55 obr 1.1.2.6: make sure the SalFrameView gets inserted to the wrapper repository early enough and make the listener objects own their wrappers 2008/02/15 07:55:40 obr 1.1.2.5: removed mpParent 2008/02/15 07:41:41 obr 1.1.2.4: objects now create a wrapper for their parent objects on demand 2008/02/12 15:40:01 fne 1.1.2.3: #i82877# support for the following text attributes: fontname, fontsize, bold, italic, underline 2008/02/10 08:27:41 fne 1.1.2.2: #i82877# fixes for text areas 2008/02/06 07:55:46 fne 1.1.2.1: #i82877# renamed cxx to mm
2008-04-15 12:13:46 +00:00
[ wrapper retain ]; // TODO: retain only when transient ?
}
return wrapper;
}
#pragma mark -
#pragma mark Access Methods
-(XAccessibleAction *)accessibleAction {
return mpReferenceWrapper -> rAccessibleAction.get();
}
-(XAccessibleContext *)accessibleContext {
return mpReferenceWrapper -> rAccessibleContext.get();
}
-(XAccessibleComponent *)accessibleComponent {
return mpReferenceWrapper -> rAccessibleComponent.get();
}
-(XAccessibleExtendedComponent *)accessibleExtendedComponent {
return mpReferenceWrapper -> rAccessibleExtendedComponent.get();
}
-(XAccessibleSelection *)accessibleSelection {
return mpReferenceWrapper -> rAccessibleSelection.get();
}
-(XAccessibleTable *)accessibleTable {
return mpReferenceWrapper -> rAccessibleTable.get();
}
-(XAccessibleText *)accessibleText {
return mpReferenceWrapper -> rAccessibleText.get();
}
-(XAccessibleEditableText *)accessibleEditableText {
return mpReferenceWrapper -> rAccessibleEditableText.get();
}
-(XAccessibleValue *)accessibleValue {
return mpReferenceWrapper -> rAccessibleValue.get();
}
-(XAccessibleTextAttributes *)accessibleTextAttributes {
return mpReferenceWrapper -> rAccessibleTextAttributes.get();
}
-(XAccessibleMultiLineText *)accessibleMultiLineText {
return mpReferenceWrapper -> rAccessibleMultiLineText.get();
}
-(XAccessibleTextMarkup *)accessibleTextMarkup {
return mpReferenceWrapper -> rAccessibleTextMarkup.get();
}
-(NSWindow*)windowForParent {
return [self window];
INTEGRATION: CWS aqua11y01 (1.1.2); FILE ADDED 2008/04/15 07:58:36 rt 1.1.2.19: Update license header to LGPL 3. 2008/02/28 14:58:26 fne 1.1.2.18: #i82877# fix: do not manually hit test lists 2008/02/28 11:40:22 fne 1.1.2.17: #i82877# corrected relations label_for and labeled_by 2008/02/26 11:31:01 fne 1.1.2.16: #i82877# linkedUIElements attribute and some small fixes 2008/02/25 11:46:14 fne 1.1.2.15: #i82877# small fixes 2008/02/22 14:23:59 fne 1.1.2.14: #i82877# fix for floating windows mk2 2008/02/22 08:22:40 fne 1.1.2.13: #i82877# fix for floating windows 2008/02/21 20:07:01 fne 1.1.2.12: #i82877# redesigned hittest 2008/02/21 10:46:25 obr 1.1.2.11: keep a reference on the currently focused object (needed for transient object like table cells) 2008/02/21 05:50:48 obr 1.1.2.10: keep reference to hitChild for transient objects 2008/02/19 19:29:38 obr 1.1.2.9: release only when using factory directly 2008/02/19 12:17:29 obr 1.1.2.8: fixed a bunch of memory leaks 2008/02/18 22:43:04 obr 1.1.2.7: simulate focus notifications for active descendant changed events 2008/02/18 06:08:55 obr 1.1.2.6: make sure the SalFrameView gets inserted to the wrapper repository early enough and make the listener objects own their wrappers 2008/02/15 07:55:40 obr 1.1.2.5: removed mpParent 2008/02/15 07:41:41 obr 1.1.2.4: objects now create a wrapper for their parent objects on demand 2008/02/12 15:40:01 fne 1.1.2.3: #i82877# support for the following text attributes: fontname, fontsize, bold, italic, underline 2008/02/10 08:27:41 fne 1.1.2.2: #i82877# fixes for text areas 2008/02/06 07:55:46 fne 1.1.2.1: #i82877# renamed cxx to mm
2008-04-15 12:13:46 +00:00
}
// These four are for AXTextAreas only. They are needed, because bold and italic
// attributes have to be bound to a font on the Mac. Our UNO-API instead handles
// and reports them independently. When they occur we bundle them to a font with
// this information here to create a according NSFont.
-(void)setActsAsRadioGroup:(BOOL)actsAsRadioGroup {
mActsAsRadioGroup = actsAsRadioGroup;
}
-(BOOL)actsAsRadioGroup {
return mActsAsRadioGroup;
}
+(void)setPopupMenuOpen:(BOOL)popupMenuOpen {
isPopupMenuOpen = popupMenuOpen;
}
INTEGRATION: CWS aqua11y01 (1.1.2); FILE ADDED 2008/04/15 07:58:36 rt 1.1.2.19: Update license header to LGPL 3. 2008/02/28 14:58:26 fne 1.1.2.18: #i82877# fix: do not manually hit test lists 2008/02/28 11:40:22 fne 1.1.2.17: #i82877# corrected relations label_for and labeled_by 2008/02/26 11:31:01 fne 1.1.2.16: #i82877# linkedUIElements attribute and some small fixes 2008/02/25 11:46:14 fne 1.1.2.15: #i82877# small fixes 2008/02/22 14:23:59 fne 1.1.2.14: #i82877# fix for floating windows mk2 2008/02/22 08:22:40 fne 1.1.2.13: #i82877# fix for floating windows 2008/02/21 20:07:01 fne 1.1.2.12: #i82877# redesigned hittest 2008/02/21 10:46:25 obr 1.1.2.11: keep a reference on the currently focused object (needed for transient object like table cells) 2008/02/21 05:50:48 obr 1.1.2.10: keep reference to hitChild for transient objects 2008/02/19 19:29:38 obr 1.1.2.9: release only when using factory directly 2008/02/19 12:17:29 obr 1.1.2.8: fixed a bunch of memory leaks 2008/02/18 22:43:04 obr 1.1.2.7: simulate focus notifications for active descendant changed events 2008/02/18 06:08:55 obr 1.1.2.6: make sure the SalFrameView gets inserted to the wrapper repository early enough and make the listener objects own their wrappers 2008/02/15 07:55:40 obr 1.1.2.5: removed mpParent 2008/02/15 07:41:41 obr 1.1.2.4: objects now create a wrapper for their parent objects on demand 2008/02/12 15:40:01 fne 1.1.2.3: #i82877# support for the following text attributes: fontname, fontsize, bold, italic, underline 2008/02/10 08:27:41 fne 1.1.2.2: #i82877# fixes for text areas 2008/02/06 07:55:46 fne 1.1.2.1: #i82877# renamed cxx to mm
2008-04-15 12:13:46 +00:00
@end
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */