Revision: 27754
http://sourceforge.net/p/bibdesk/svn/27754
Author: hofman
Date: 2022-07-22 14:38:44 +0000 (Fri, 22 Jul 2022)
Log Message:
-----------
keep cell proxy private for controls that have them, returned as child
Modified Paths:
--------------
trunk/bibdesk/BDSKAddressTextField.m
trunk/bibdesk/BDSKAddressTextFieldCell.m
trunk/bibdesk/BDSKCellProxy.m
trunk/bibdesk/BDSKEditorTextField.h
trunk/bibdesk/BDSKEditorTextField.m
Modified: trunk/bibdesk/BDSKAddressTextField.m
===================================================================
--- trunk/bibdesk/BDSKAddressTextField.m 2022-07-21 22:22:13 UTC (rev
27753)
+++ trunk/bibdesk/BDSKAddressTextField.m 2022-07-22 14:38:44 UTC (rev
27754)
@@ -46,15 +46,13 @@
#define CONTROL_MARGIN 3.0
@interface BDSKAddressButton : NSButton {
- id cellProxy;
+ BDSKButtonCellProxy *cellProxy;
}
-@property (nonatomic, readonly) id cellProxy;
@end
@interface BDSKAddressImageView : BDSKDragImageView {
- id cellProxy;
+ BDSKImageCellProxy *cellProxy;
}
-@property (nonatomic, readonly) id cellProxy;
@end
@@ -198,43 +196,61 @@
@implementation BDSKAddressButton
-@dynamic cellProxy;
-
- (void)dealloc {
BDSKDESTROY(cellProxy);
[super dealloc];
}
-- (id)cellProxy {
+- (BDSKButtonCellProxy *)cellProxy {
if (cellProxy == nil)
cellProxy = [[BDSKButtonCellProxy alloc] initWithParent:[(NSControl
*)[self superview] cell] cell:[self cell]];
return cellProxy;
}
+- (NSArray *)accessibilityChildren {
+ return NSAccessibilityUnignoredChildren([NSArray arrayWithObjects:[self
cellProxy], nil]);
+}
+
- (id)accessibilityHitTest:(NSPoint)point {
return NSAccessibilityUnignoredAncestor([self cellProxy]);
}
+- (id)accessibilityAttributeValue:(NSString *)attribute {
+ if ([attribute isEqualToString:NSAccessibilityChildrenAttribute])
+ return NSAccessibilityUnignoredChildren([NSArray
arrayWithObjects:[self cellProxy], nil]);
+ else
+ return [super accessibilityAttributeValue:attribute];
+}
+
@end
@implementation BDSKAddressImageView
-@dynamic cellProxy;
-
- (void)dealloc {
BDSKDESTROY(cellProxy);
[super dealloc];
}
-- (id)cellProxy {
+- (BDSKImageCellProxy *)cellProxy {
if (cellProxy == nil)
cellProxy = [[BDSKImageCellProxy alloc] initWithParent:[(NSControl
*)[self superview] cell] cell:[self cell]];
return cellProxy;
}
+- (NSArray *)accessibilityChildren {
+ return NSAccessibilityUnignoredChildren([NSArray arrayWithObjects:[self
cellProxy], nil]);
+}
+
- (id)accessibilityHitTest:(NSPoint)point {
return NSAccessibilityUnignoredAncestor([self cellProxy]);
}
+- (id)accessibilityAttributeValue:(NSString *)attribute {
+ if ([attribute isEqualToString:NSAccessibilityChildrenAttribute])
+ return NSAccessibilityUnignoredChildren([NSArray
arrayWithObjects:[self cellProxy], nil]);
+ else
+ return [super accessibilityAttributeValue:attribute];
+}
+
@end
Modified: trunk/bibdesk/BDSKAddressTextFieldCell.m
===================================================================
--- trunk/bibdesk/BDSKAddressTextFieldCell.m 2022-07-21 22:22:13 UTC (rev
27753)
+++ trunk/bibdesk/BDSKAddressTextFieldCell.m 2022-07-22 14:38:44 UTC (rev
27754)
@@ -141,8 +141,7 @@
}
- (NSArray *)accessibilityChildren {
- NSArray *subcontrols = [(BDSKAddressTextField *)[self controlView]
subcontrols];
- return NSAccessibilityUnignoredChildren([subcontrols
valueForKey:@"cellProxy"]);
+ return NSAccessibilityUnignoredChildren([(BDSKAddressTextField *)[self
controlView] subcontrols]);
}
- (id)accessibilityHitTest:(NSPoint)point {
Modified: trunk/bibdesk/BDSKCellProxy.m
===================================================================
--- trunk/bibdesk/BDSKCellProxy.m 2022-07-21 22:22:13 UTC (rev 27753)
+++ trunk/bibdesk/BDSKCellProxy.m 2022-07-22 14:38:44 UTC (rev 27754)
@@ -74,10 +74,6 @@
return [cell accessibilityFrame];
}
-- (NSString *)accessibilityIdentifier {
- return [cell accessibilityIdentifier];
-}
-
- (NSString *)accessibilityHelp {
return [cell accessibilityHelp];
}
@@ -115,7 +111,10 @@
- (id)accessibilityAttributeValue:(NSString *)attribute {
if ([attribute isEqualToString:NSAccessibilityParentAttribute])
return NSAccessibilityUnignoredAncestor(parent);
- return [cell accessibilityAttributeValue:attribute];
+ else if ([attribute isEqualToString:NSAccessibilityChildrenAttribute])
+ return nil;
+ else
+ return [cell accessibilityAttributeValue:attribute];
}
- (BOOL)accessibilityIsAttributeSettable:(NSString *)attribute {
Modified: trunk/bibdesk/BDSKEditorTextField.h
===================================================================
--- trunk/bibdesk/BDSKEditorTextField.h 2022-07-21 22:22:13 UTC (rev 27753)
+++ trunk/bibdesk/BDSKEditorTextField.h 2022-07-22 14:38:44 UTC (rev 27754)
@@ -60,7 +60,6 @@
@interface BDSKDragButton : NSButton <NSDraggingSource> {
id cellProxy;
}
-@property (nonatomic, readonly) id cellProxy;
@end
@interface BDSKDragButtonCell : NSButtonCell
Modified: trunk/bibdesk/BDSKEditorTextField.m
===================================================================
--- trunk/bibdesk/BDSKEditorTextField.m 2022-07-21 22:22:13 UTC (rev 27753)
+++ trunk/bibdesk/BDSKEditorTextField.m 2022-07-22 14:38:44 UTC (rev 27754)
@@ -182,7 +182,7 @@
- (NSArray *)accessibilityChildren {
BDSKDragButton *button = [(BDSKEditorTextField *)[self controlView]
button];
if (button)
- return NSAccessibilityUnignoredChildren([NSArray
arrayWithObjects:[button cellProxy], nil]);
+ return NSAccessibilityUnignoredChildren([NSArray
arrayWithObjects:button, nil]);
return nil;
}
@@ -211,8 +211,6 @@
@implementation BDSKDragButton : NSButton
-@dynamic cellProxy;
-
+ (Class)cellClass { return [BDSKDragButtonCell class]; }
- (void)dealloc {
@@ -226,16 +224,27 @@
return NSDragOperationGeneric;
}
-- (id)cellProxy {
+- (BDSKButtonCellProxy *)cellProxy {
if (cellProxy == nil)
- cellProxy = [[BDSKButtonCellProxy alloc] initWithParent:[(id)[self
superview] cell] cell:[self cell]];
+ cellProxy = [[BDSKButtonCellProxy alloc] initWithParent:[(NSControl
*)[self superview] cell] cell:[self cell]];
return cellProxy;
}
+- (NSArray *)accessibilityChildren {
+ return NSAccessibilityUnignoredChildren([NSArray arrayWithObjects:[self
cellProxy], nil]);
+}
+
- (id)accessibilityHitTest:(NSPoint)point {
return NSAccessibilityUnignoredAncestor([self cellProxy]);
}
+- (id)accessibilityAttributeValue:(NSString *)attribute {
+ if ([attribute isEqualToString:NSAccessibilityChildrenAttribute])
+ return NSAccessibilityUnignoredChildren([NSArray
arrayWithObjects:[self cellProxy], nil]);
+ else
+ return [super accessibilityAttributeValue:attribute];
+}
+
@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