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