1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
3 * This file is part of the LibreOffice project.
5 * This Source Code Form is subject to the terms of the Mozilla Public
6 * License, v. 2.0. If a copy of the MPL was not distributed with this
7 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
9 * This file incorporates work covered by the following license notice:
11 * Licensed to the Apache Software Foundation (ASF) under one or more
12 * contributor license agreements. See the NOTICE file distributed
13 * with this work for additional information regarding copyright
14 * ownership. The ASF licenses this file to you under the Apache
15 * License, Version 2.0 (the "License"); you may not use this file
16 * except in compliance with the License. You may obtain a copy of
17 * the License at http://www.apache.org/licenses/LICENSE-2.0 .
20 #ifndef _SV_AQUA11WRAPPER_H
21 #define _SV_AQUA11WRAPPER_H
23 #include "aquavcltypes.h"
24 #include <com/sun/star/accessibility/XAccessibleAction.hpp>
25 #include <com/sun/star/accessibility/XAccessibleContext.hpp>
26 #include <com/sun/star/accessibility/XAccessibleComponent.hpp>
27 #include <com/sun/star/accessibility/XAccessibleExtendedComponent.hpp>
28 #include <com/sun/star/accessibility/XAccessibleSelection.hpp>
29 #include <com/sun/star/accessibility/XAccessibleTable.hpp>
30 #include <com/sun/star/accessibility/XAccessibleText.hpp>
31 #include <com/sun/star/accessibility/XAccessibleTextAttributes.hpp>
32 #include <com/sun/star/accessibility/XAccessibleEditableText.hpp>
33 #include <com/sun/star/accessibility/XAccessibleValue.hpp>
34 #include <com/sun/star/accessibility/XAccessibleMultiLineText.hpp>
35 #include <com/sun/star/accessibility/XAccessibleTextMarkup.hpp>
37 // rAccessibleXYZ as a field in an Objective-C-Class would not call Con-/Destructor, so use a struct instead
38 struct ReferenceWrapper
40 ::com::sun::star::uno::Reference
< ::com::sun::star::accessibility::XAccessibleAction
> rAccessibleAction
;
41 ::com::sun::star::uno::Reference
< ::com::sun::star::accessibility::XAccessibleContext
> rAccessibleContext
;
42 ::com::sun::star::uno::Reference
< ::com::sun::star::accessibility::XAccessibleComponent
> rAccessibleComponent
;
43 ::com::sun::star::uno::Reference
< ::com::sun::star::accessibility::XAccessibleExtendedComponent
> rAccessibleExtendedComponent
;
44 ::com::sun::star::uno::Reference
< ::com::sun::star::accessibility::XAccessibleSelection
> rAccessibleSelection
;
45 ::com::sun::star::uno::Reference
< ::com::sun::star::accessibility::XAccessibleTable
> rAccessibleTable
;
46 ::com::sun::star::uno::Reference
< ::com::sun::star::accessibility::XAccessibleText
> rAccessibleText
;
47 ::com::sun::star::uno::Reference
< ::com::sun::star::accessibility::XAccessibleEditableText
> rAccessibleEditableText
;
48 ::com::sun::star::uno::Reference
< ::com::sun::star::accessibility::XAccessibleValue
> rAccessibleValue
;
49 ::com::sun::star::uno::Reference
< ::com::sun::star::accessibility::XAccessibleTextAttributes
> rAccessibleTextAttributes
;
50 ::com::sun::star::uno::Reference
< ::com::sun::star::accessibility::XAccessibleMultiLineText
> rAccessibleMultiLineText
;
51 ::com::sun::star::uno::Reference
< ::com::sun::star::accessibility::XAccessibleTextMarkup
> rAccessibleTextMarkup
;
54 @interface AquaA11yWrapper
: NSView
56 ReferenceWrapper
* mpReferenceWrapper
;
57 NSString
* mpDefaultFontname
;
58 float mDefaultFontsize
;
59 int mDefaultFonttraits
;
60 BOOL mActsAsRadioGroup
;
63 // NSAccessibility Protocol
64 -(id
)accessibilityAttributeValue
:(NSString
*)attribute
;
65 -(BOOL
)accessibilityIsIgnored
;
66 -(NSArray
*)accessibilityAttributeNames
;
67 -(BOOL
)accessibilityIsAttributeSettable
:(NSString
*)attribute
;
68 -(NSArray
*)accessibilityParameterizedAttributeNames
;
69 -(BOOL
)accessibilitySetOverrideValue
:(id
)value forAttribute
:(NSString
*)attribute
;
70 -(void)accessibilitySetValue
:(id
)value forAttribute
:(NSString
*)attribute
;
71 -(id
)accessibilityAttributeValue
:(NSString
*)attribute forParameter
:(id
)parameter
;
72 -(id
)accessibilityFocusedUIElement
;
73 -(NSString
*)accessibilityActionDescription
:(NSString
*)action
;
74 -(void)accessibilityPerformAction
:(NSString
*)action
;
75 -(NSArray
*)accessibilityActionNames
;
76 -(id
)accessibilityHitTest
:(NSPoint
)point
;
82 -(id
)numberOfCharactersAttribute
;
83 -(id
)selectedTextAttribute
;
84 -(id
)selectedTextRangeAttribute
;
85 -(id
)visibleCharacterRangeAttribute
;
86 -(id
)childrenAttribute
;
87 -(id
)orientationAttribute
;
90 -(void)setActsAsRadioGroup
:(BOOL
)actsAsRadioGroup
;
91 -(BOOL
)actsAsRadioGroup
;
92 -(NSView
*)viewElementForParent
;
93 -(id
)initWithAccessibleContext
: (::com::sun::star::uno::Reference
< ::com::sun::star::accessibility::XAccessibleContext
>) anAccessibleContext
;
94 -(void) setDefaults
: (::com::sun::star::uno::Reference
< ::com::sun::star::accessibility::XAccessibleContext
>) rxAccessibleContext
;
96 -(void)setDefaultFontname
:(NSString
*)fontname
;
97 -(NSString
*)defaultFontname
;
98 -(void)setDefaultFontsize
:(float)fontsize
;
99 -(float)defaultFontsize
;
100 -(void)setDefaultFonttraits
:(int)fonttraits
;
101 -(int)defaultFonttraits
;
102 +(void)setPopupMenuOpen
:(BOOL
)popupMenuOpen
;
103 -(::com::sun::star::accessibility::XAccessibleAction
*)accessibleAction
;
104 -(::com::sun::star::accessibility::XAccessibleContext
*)accessibleContext
;
105 -(::com::sun::star::accessibility::XAccessibleComponent
*)accessibleComponent
;
106 -(::com::sun::star::accessibility::XAccessibleExtendedComponent
*)accessibleExtendedComponent
;
107 -(::com::sun::star::accessibility::XAccessibleSelection
*)accessibleSelection
;
108 -(::com::sun::star::accessibility::XAccessibleTable
*)accessibleTable
;
109 -(::com::sun::star::accessibility::XAccessibleText
*)accessibleText
;
110 -(::com::sun::star::accessibility::XAccessibleEditableText
*)accessibleEditableText
;
111 -(::com::sun::star::accessibility::XAccessibleValue
*)accessibleValue
;
112 -(::com::sun::star::accessibility::XAccessibleTextAttributes
*)accessibleTextAttributes
;
113 -(::com::sun::star::accessibility::XAccessibleMultiLineText
*)accessibleMultiLineText
;
114 -(::com::sun::star::accessibility::XAccessibleTextMarkup
*)accessibleTextMarkup
;
117 #endif // _SV_AQUA11WRAPPER_H
119 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */