Revision: 27723
http://sourceforge.net/p/bibdesk/svn/27723
Author: hofman
Date: 2022-07-12 17:13:39 +0000 (Tue, 12 Jul 2022)
Log Message:
-----------
file view accessibility as grid. Add actions to icons for increment and
decrement.
Modified Paths:
--------------
trunk/bibdesk_vendorsrc/amaxwell/FileView/FVAccessibilityIconElement.h
trunk/bibdesk_vendorsrc/amaxwell/FileView/FVAccessibilityIconElement.m
trunk/bibdesk_vendorsrc/amaxwell/FileView/FVFileView.m
Modified: trunk/bibdesk_vendorsrc/amaxwell/FileView/FVAccessibilityIconElement.h
===================================================================
--- trunk/bibdesk_vendorsrc/amaxwell/FileView/FVAccessibilityIconElement.h
2022-07-12 08:10:43 UTC (rev 27722)
+++ trunk/bibdesk_vendorsrc/amaxwell/FileView/FVAccessibilityIconElement.h
2022-07-12 17:13:39 UTC (rev 27723)
@@ -56,4 +56,6 @@
- (void)setSelected:(BOOL)selected forIconElement:(FVAccessibilityIconElement
*)element;
- (void)openIconElement:(FVAccessibilityIconElement *)element;
- (void)showMenuForIconElement:(FVAccessibilityIconElement *)element;
+- (void)incrementIconElement:(FVAccessibilityIconElement *)element;
+- (void)decrementIconElement:(FVAccessibilityIconElement *)element;
@end
Modified: trunk/bibdesk_vendorsrc/amaxwell/FileView/FVAccessibilityIconElement.m
===================================================================
--- trunk/bibdesk_vendorsrc/amaxwell/FileView/FVAccessibilityIconElement.m
2022-07-12 08:10:43 UTC (rev 27722)
+++ trunk/bibdesk_vendorsrc/amaxwell/FileView/FVAccessibilityIconElement.m
2022-07-12 17:13:39 UTC (rev 27723)
@@ -154,7 +154,7 @@
}
- (NSArray *)accessibilityActionNames {
- return [NSArray arrayWithObjects:NSAccessibilityPressAction,
NSAccessibilityShowMenuAction, nil];
+ return [NSArray arrayWithObjects:NSAccessibilityPressAction,
NSAccessibilityShowMenuAction, NSAccessibilityIncrementAction,
NSAccessibilityDecrementAction, nil];
}
- (NSString *)accessibilityActionDescription:(NSString *)anAction {
@@ -166,6 +166,10 @@
[_parent openIconElement:self];
else if ([anAction isEqualToString:NSAccessibilityShowMenuAction])
[_parent showMenuForIconElement:self];
+ else if ([anAction isEqualToString:NSAccessibilityIncrementAction])
+ [_parent incrementIconElement:self];
+ else if ([anAction isEqualToString:NSAccessibilityDecrementAction])
+ [_parent decrementIconElement:self];
}
- (BOOL)isAccessibilityElement {
@@ -241,12 +245,24 @@
[_parent setSelected:focused forIconElement:self];
}
-- (void)accessibilityPerformPress {
+- (BOOL)accessibilityPerformPress {
[_parent openIconElement:self];
+ return YES;
}
-- (void)accessibilityPerformShowMenu {
+- (BOOL)accessibilityPerformShowMenu {
[_parent showMenuForIconElement:self];
+ return YES;
}
+- (BOOL)accessibilityPerformIncrement {
+ [_parent incrementIconElement:self];
+ return YES;
+}
+
+- (BOOL)accessibilityPerformDecrement {
+ [_parent decrementIconElement:self];
+ return YES;
+}
+
@end
Modified: trunk/bibdesk_vendorsrc/amaxwell/FileView/FVFileView.m
===================================================================
--- trunk/bibdesk_vendorsrc/amaxwell/FileView/FVFileView.m 2022-07-12
08:10:43 UTC (rev 27722)
+++ trunk/bibdesk_vendorsrc/amaxwell/FileView/FVFileView.m 2022-07-12
17:13:39 UTC (rev 27723)
@@ -184,6 +184,13 @@
- (NSColor *)tertiaryLabelColor;
@end
+enum {
+ NSAccessibilityOrientationUnknown,
+ NSAccessibilityOrientationVertical,
+ NSAccessibilityOrientationHorizontal
+};
+typedef NSInteger NSAccessibilityOrientation;
+
#endif
#if !defined(MAC_OS_X_VERSION_10_10) || MAC_OS_X_VERSION_MAX_ALLOWED <
MAC_OS_X_VERSION_10_10
@@ -4545,15 +4552,15 @@
- (NSArray *)accessibilityAttributeNames {
static NSArray *attributes = nil;
if (attributes == nil)
- attributes = [[[super accessibilityAttributeNames]
arrayByAddingObjectsFromArray:[NSArray
arrayWithObjects:NSAccessibilityChildrenAttribute,
NSAccessibilitySelectedChildrenAttribute, nil]] retain];
+ attributes = [[[super accessibilityAttributeNames]
arrayByAddingObjectsFromArray:[NSArray
arrayWithObjects:NSAccessibilityChildrenAttribute,
NSAccessibilitySelectedChildrenAttribute, NSAccessibilityRowCountAttribute,
NSAccessibilityColumnCountAttribute, NSAccessibilityOrientationAttribute,
NSAccessibilityOrderedByRowAttribute, nil]] retain];
return attributes;
}
- (id)accessibilityAttributeValue:(NSString *)attribute {
if ([attribute isEqualToString:NSAccessibilityRoleAttribute]) {
- return NSAccessibilityGroupRole;
+ return NSAccessibilityGridRole;
} else if ([attribute
isEqualToString:NSAccessibilityRoleDescriptionAttribute]) {
- return NSAccessibilityRoleDescription(NSAccessibilityGroupRole, nil);
+ return NSAccessibilityRoleDescription(NSAccessibilityGridRole, nil);
} else if ([attribute isEqualToString:NSAccessibilityChildrenAttribute]) {
NSMutableArray *children = [NSMutableArray array];
NSUInteger i, count = [self numberOfIcons];
@@ -4568,6 +4575,14 @@
i = [_selectionIndexes indexGreaterThanIndex:i];
}
return NSAccessibilityUnignoredChildren(children);
+ } else if ([attribute isEqualToString:NSAccessibilityRowCountAttribute]) {
+ return [NSNumber numberWithInteger:_numberOfRows];
+ } else if ([attribute
isEqualToString:NSAccessibilityColumnCountAttribute]) {
+ return [NSNumber numberWithInteger:_numberOfColumns];
+ } else if ([attribute
isEqualToString:NSAccessibilityOrientationAttribute]) {
+ return _fvFlags.displayMode == FVDisplayModeRow ?
NSAccessibilityHorizontalOrientationValue :
NSAccessibilityVerticalOrientationValue;
+ } else if ([attribute
isEqualToString:NSAccessibilityOrderedByRowAttribute]) {
+ return [NSNumber numberWithBool:_fvFlags.displayMode !=
FVDisplayModeColumn];
} else {
return [super accessibilityAttributeValue:attribute];
}
@@ -4603,11 +4618,11 @@
}
- (NSString *)accessibilityRole {
- return NSAccessibilityGroupRole;
+ return NSAccessibilityGridRole;
}
- (NSString *)accessibilityRoleDescription {
- return NSAccessibilityRoleDescription(NSAccessibilityGroupRole, nil);
+ return NSAccessibilityRoleDescription(NSAccessibilityGridRole, nil);
}
- (NSArray *)accessibilityChildren {
@@ -4628,6 +4643,29 @@
return NSAccessibilityUnignoredChildren(children);
}
+- (void)setAccessibilitySelectedChildren:(NSArray *)elements {
+ NSMutableIndexSet *indexes = [NSMutableIndexSet indexSet];
+ for (FVAccessibilityIconElement *element in elements)
+ [indexes addIndex:[element index]];
+ [self setSelectionIndexes:indexes];
+}
+
+- (NSInteger)accessibilityRowCount {
+ return _numberOfRows;
+}
+
+- (NSInteger)accessibilityColumnCount {
+ return _numberOfColumns;
+}
+
+- (BOOL)isAccessibilityOrderedByRow {
+ return _fvFlags.displayMode != FVDisplayModeColumn;
+}
+
+- (NSAccessibilityOrientation)accessibilityOrientation {
+ return _fvFlags.displayMode == FVDisplayModeRow ?
NSAccessibilityOrientationHorizontal : NSAccessibilityOrientationVertical;
+}
+
- (NSURL *)URLForIconElement:(FVAccessibilityIconElement *)element {
return [self URLAtIndex:[element index]];
}
@@ -4680,6 +4718,26 @@
}
}
+- (void)incrementIconElement:(FVAccessibilityIconElement *)element {
+ if ([element index] < [_orderedURLs count]) {
+ FVIcon *anIcon = [self iconAtIndex:[element index]];
+ if ([anIcon currentPageIndex] < [anIcon pageCount]) {
+ [anIcon showNextPage];
+ [self _redisplayIconAfterPageChanged:anIcon];
+ }
+ }
+}
+
+- (void)decrementIconElement:(FVAccessibilityIconElement *)element {
+ if ([element index] < [_orderedURLs count]) {
+ FVIcon *anIcon = [self iconAtIndex:[element index]];
+ if ([anIcon currentPageIndex] > 1) {
+ [anIcon showPreviousPage];
+ [self _redisplayIconAfterPageChanged:anIcon];
+ }
+ }
+}
+
@end
#pragma mark -
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