1*323de322SAndrew Rist/************************************************************** 2cdf0e10cSrcweir * 3*323de322SAndrew Rist * Licensed to the Apache Software Foundation (ASF) under one 4*323de322SAndrew Rist * or more contributor license agreements. See the NOTICE file 5*323de322SAndrew Rist * distributed with this work for additional information 6*323de322SAndrew Rist * regarding copyright ownership. The ASF licenses this file 7*323de322SAndrew Rist * to you under the Apache License, Version 2.0 (the 8*323de322SAndrew Rist * "License"); you may not use this file except in compliance 9*323de322SAndrew Rist * with the License. You may obtain a copy of the License at 10cdf0e10cSrcweir * 11*323de322SAndrew Rist * http://www.apache.org/licenses/LICENSE-2.0 12cdf0e10cSrcweir * 13*323de322SAndrew Rist * Unless required by applicable law or agreed to in writing, 14*323de322SAndrew Rist * software distributed under the License is distributed on an 15*323de322SAndrew Rist * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16*323de322SAndrew Rist * KIND, either express or implied. See the License for the 17*323de322SAndrew Rist * specific language governing permissions and limitations 18*323de322SAndrew Rist * under the License. 19cdf0e10cSrcweir * 20*323de322SAndrew Rist *************************************************************/ 21*323de322SAndrew Rist 22*323de322SAndrew Rist 23cdf0e10cSrcweir 24cdf0e10cSrcweir// MARKER(update_precomp.py): autogen include statement, do not remove 25cdf0e10cSrcweir#include "precompiled_vcl.hxx" 26cdf0e10cSrcweir 27cdf0e10cSrcweir#include "aqua/salinst.h" 28cdf0e10cSrcweir 29cdf0e10cSrcweir#include "aqua11ywrapperscrollarea.h" 30cdf0e10cSrcweir#include "aqua11ywrapperscrollbar.h" 31cdf0e10cSrcweir#include "aqua11yrolehelper.h" 32cdf0e10cSrcweir 33cdf0e10cSrcweir// Wrapper for AXScrollArea role 34cdf0e10cSrcweir 35cdf0e10cSrcweir@implementation AquaA11yWrapperScrollArea : AquaA11yWrapper 36cdf0e10cSrcweir 37cdf0e10cSrcweir-(id)scrollBarWithOrientation:(NSString *)orientation { 38cdf0e10cSrcweir AquaA11yWrapper * theScrollBar = nil; 39cdf0e10cSrcweir NSAutoreleasePool * pool = [ [ NSAutoreleasePool alloc ] init ]; 40cdf0e10cSrcweir NSArray * elementChildren = [ self accessibilityAttributeValue: NSAccessibilityChildrenAttribute ]; 41cdf0e10cSrcweir if ( [ elementChildren count ] > 0 ) { 42cdf0e10cSrcweir NSEnumerator * enumerator = [ elementChildren objectEnumerator ]; 43cdf0e10cSrcweir id child; 44cdf0e10cSrcweir while ( ( child = [ enumerator nextObject ] ) ) { 45cdf0e10cSrcweir AquaA11yWrapper * element = ( AquaA11yWrapper * ) child; 46cdf0e10cSrcweir if ( [ element isKindOfClass: [ AquaA11yWrapperScrollBar class ] ] ) { 47cdf0e10cSrcweir AquaA11yWrapperScrollBar * scrollBar = (AquaA11yWrapperScrollBar *) element; 48cdf0e10cSrcweir if ( [ [ scrollBar orientationAttribute ] isEqualToString: orientation ] ) { 49cdf0e10cSrcweir theScrollBar = scrollBar; 50cdf0e10cSrcweir break; 51cdf0e10cSrcweir } 52cdf0e10cSrcweir } 53cdf0e10cSrcweir } 54cdf0e10cSrcweir } 55cdf0e10cSrcweir [ pool release ]; 56cdf0e10cSrcweir return theScrollBar; 57cdf0e10cSrcweir} 58cdf0e10cSrcweir 59cdf0e10cSrcweir-(id)verticalScrollBarAttribute { 60cdf0e10cSrcweir return [ self scrollBarWithOrientation: NSAccessibilityVerticalOrientationValue ]; 61cdf0e10cSrcweir} 62cdf0e10cSrcweir 63cdf0e10cSrcweir-(id)horizontalScrollBarAttribute { 64cdf0e10cSrcweir return [ self scrollBarWithOrientation: NSAccessibilityHorizontalOrientationValue ]; 65cdf0e10cSrcweir} 66cdf0e10cSrcweir 67cdf0e10cSrcweir-(NSArray *)accessibilityAttributeNames { 68cdf0e10cSrcweir // Default Attributes 69cdf0e10cSrcweir NSMutableArray * attributeNames = [ NSMutableArray arrayWithArray: [ super accessibilityAttributeNames ] ]; 70cdf0e10cSrcweir // Special Attributes and removing unwanted attributes depending on role 71cdf0e10cSrcweir [ attributeNames removeObject: NSAccessibilityEnabledAttribute ]; 72cdf0e10cSrcweir [ attributeNames addObjectsFromArray: [ NSArray arrayWithObjects: 73cdf0e10cSrcweir NSAccessibilityContentsAttribute, 74cdf0e10cSrcweir NSAccessibilityVerticalScrollBarAttribute, 75cdf0e10cSrcweir NSAccessibilityHorizontalScrollBarAttribute, 76cdf0e10cSrcweir nil ] 77cdf0e10cSrcweir ]; 78cdf0e10cSrcweir return attributeNames; 79cdf0e10cSrcweir} 80cdf0e10cSrcweir 81cdf0e10cSrcweir@end 82