Revision: 27724
          http://sourceforge.net/p/bibdesk/svn/27724
Author:   hofman
Date:     2022-07-12 21:55:44 +0000 (Tue, 12 Jul 2022)
Log Message:
-----------
resize view is accessible as a splitter

Modified Paths:
--------------
    trunk/bibdesk/BDSKFontWell.m
    trunk/bibdesk/BDSKResizeView.m

Modified: trunk/bibdesk/BDSKFontWell.m
===================================================================
--- trunk/bibdesk/BDSKFontWell.m        2022-07-12 17:13:39 UTC (rev 27723)
+++ trunk/bibdesk/BDSKFontWell.m        2022-07-12 21:55:44 UTC (rev 27724)
@@ -364,7 +364,7 @@
     NSRectFill(cellFrame);
 }
 
-- 
(id)accessibilityAttributeValue:(NSAccessibilityParameterizedAttributeName)attribute
 {
+- (id)accessibilityAttributeValue:(NSString *)attribute {
     if ([attribute isEqualToString:NSAccessibilitySubroleAttribute])
         return @"AXFontWell";
     else if ([attribute isEqualToString:NSAccessibilityValueAttribute])

Modified: trunk/bibdesk/BDSKResizeView.m
===================================================================
--- trunk/bibdesk/BDSKResizeView.m      2022-07-12 17:13:39 UTC (rev 27723)
+++ trunk/bibdesk/BDSKResizeView.m      2022-07-12 21:55:44 UTC (rev 27724)
@@ -39,6 +39,12 @@
 #import "BDSKResizeView.h"
 
 
+#if SDK_BEFORE(10_10)
+@interface NSObject (BDSKYosemiteDeclarations)
+- (BOOL)isAccessibilitySelectorAllowed:(SEL)selector {
+@end
+#endif
+
 @implementation BDSKResizeView
 
 @synthesize constraint, minValue, maxValue;
@@ -117,4 +123,67 @@
     }
 }
 
+- (NSArray *)accessibilityAttributeNames {
+    static NSArray *attributes = nil;
+    if (attributes == nil) {
+        NSMutableArray *array = [[super accessibilityAttributeNames] 
mutableCopy];
+        [array removeObjectsInArray:[NSArray 
arrayWithObjects:NSAccessibilitySplittersAttribute, nil]];
+        [array addObjectsFromArray:[NSArray 
arrayWithObjects:NSAccessibilityOrientationAttribute, 
NSAccessibilityValueAttribute, NSAccessibilityMinValueAttribute, 
NSAccessibilityMaxValueAttribute, nil]];
+        attributes = [array copy];
+        [array release];
+    }
+    return attributes;
+}
+
+- (id)accessibilityAttributeValue:(NSString *)attribute {
+    if ([attribute isEqualToString:NSAccessibilityRoleAttribute]) {
+        return NSAccessibilitySplitterRole;
+    } else if ([attribute 
isEqualToString:NSAccessibilityRoleDescriptionAttribute]) {
+        return NSAccessibilityRoleDescription(NSAccessibilitySplitterRole, 
nil);
+    } else if ([attribute 
isEqualToString:NSAccessibilityOrientationAttribute]) {
+        return [self isVertical] ? NSAccessibilityVerticalOrientationValue : 
NSAccessibilityHorizontalOrientationValue;
+    } else if ([attribute isEqualToString:NSAccessibilityValueAttribute]) {
+        return [NSNumber numberWithDouble:[constraint constant]];
+    } else if ([attribute isEqualToString:NSAccessibilityMinValueAttribute]) {
+        return [NSNumber numberWithDouble:minValue];
+    } else if ([attribute isEqualToString:NSAccessibilityMaxValueAttribute]) {
+        return [NSNumber numberWithDouble:maxValue];
+    } else {
+        return [super accessibilityAttributeValue:attribute];
+    }
+}
+
+- (NSString *)accessibilityRole {
+    return NSAccessibilitySplitterRole;
+}
+
+- (NSString *)accessibilityRoleDescription {
+    return NSAccessibilityRoleDescription(NSAccessibilitySplitterRole, nil);
+}
+
+- (NSAccessibilityOrientation)accessibilityOrientation {
+    return [self isVertical] ? NSAccessibilityOrientationVertical : 
NSAccessibilityOrientationHorizontal;
+}
+
+- (id)accessibilityValue {
+    return [NSNumber numberWithDouble:[constraint constant]];
+}
+
+- (id)accessibilityMinValue {
+    return [NSNumber numberWithDouble:minValue];
+}
+
+- (id)accessibilityMaxValue {
+    return [NSNumber numberWithDouble:maxValue];
+}
+
+- (BOOL)isAccessibilitySelectorAllowed:(SEL)selector {
+    if (selector == @selector(accessibilityChildren) || selector == 
@selector(accessibilityChildrenInNavigationOrder))
+        return NO;
+    else if ([[BDSKResizeView superclass] instancesRespondToSelector:_cmd])
+        return [super isAccessibilitySelectorAllowed:selector];
+    else
+        return YES;
+}
+
 @end

This was sent by the SourceForge.net collaborative development platform, the 
world's largest Open Source development site.



_______________________________________________
Bibdesk-commit mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/bibdesk-commit

Reply via email to