diff options
author | Boris Dušek <me@dusek.me> | 2013-08-02 00:14:53 +0200 |
---|---|---|
committer | Norbert Thiebaud <nthiebaud@gmail.com> | 2013-08-07 19:06:52 +0000 |
commit | e83f61b29eb74286dbdb053bb3d067fe3e2f8073 (patch) | |
tree | b90cbccb6717426e09bbdc60ced85d84db070525 /vcl/aqua | |
parent | 54a138db910554e8bf2868facc85e47b1776bac2 (diff) |
Add debugging output for OS X accessibility
In case someone needs to debug accessibility on OS X, provide ready
debugging messages to be enabled by changing #if 0 to #if 1.
Change-Id: I4d0c0b11d12aa2419c53da7656a881f43c436d87
Reviewed-on: https://gerrit.libreoffice.org/5237
Reviewed-by: Norbert Thiebaud <nthiebaud@gmail.com>
Tested-by: Norbert Thiebaud <nthiebaud@gmail.com>
Diffstat (limited to 'vcl/aqua')
-rw-r--r-- | vcl/aqua/source/a11y/aqua11ywrapper.mm | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/vcl/aqua/source/a11y/aqua11ywrapper.mm b/vcl/aqua/source/a11y/aqua11ywrapper.mm index 04c29ad8bdc6..82163ae7c528 100644 --- a/vcl/aqua/source/a11y/aqua11ywrapper.mm +++ b/vcl/aqua/source/a11y/aqua11ywrapper.mm @@ -58,6 +58,22 @@ using namespace ::com::sun::star::uno; static BOOL isPopupMenuOpen = NO; + +#if 0 + +static std::ostream &operator<<(std::ostream &s, NSObject *obj) { + return s << [[obj description] UTF8String]; +} + +static std::ostream &operator<<(std::ostream &s, NSPoint point) { + return s << NSStringFromPoint(point); +} +#define AX_SAL_DEBUG(...) SAL_DEBUG(__VA_ARGS__) + +#else +#define AX_SAL_DEBUG(...) +#endif + @implementation AquaA11yWrapper : NSView #pragma mark - @@ -668,6 +684,7 @@ static BOOL isPopupMenuOpen = NO; #pragma mark Accessibility Protocol -(id)accessibilityAttributeValue:(NSString *)attribute { + AX_SAL_DEBUG("[" << self << " accessibilityAttributeValue:" << attribute << "]"); // #i90575# guard NSAccessibility protocol against unwanted access if ( isPopupMenuOpen ) { return nil; @@ -697,6 +714,7 @@ static BOOL isPopupMenuOpen = NO; } -(BOOL)accessibilityIsIgnored { + AX_SAL_DEBUG("[" << self << " accessibilityIsIgnored]"); // #i90575# guard NSAccessibility protocol against unwanted access if ( isPopupMenuOpen ) { return NO; @@ -720,6 +738,7 @@ static BOOL isPopupMenuOpen = NO; } -(NSArray *)accessibilityAttributeNames { + AX_SAL_DEBUG("[" << self << " accessibilityAttributeNames]"); // #i90575# guard NSAccessibility protocol against unwanted access if ( isPopupMenuOpen ) { return nil; @@ -800,6 +819,7 @@ static BOOL isPopupMenuOpen = NO; } -(BOOL)accessibilityIsAttributeSettable:(NSString *)attribute { + AX_SAL_DEBUG("[" << self << " accessibilityAttributeIsSettable:" << attribute << "]"); BOOL isSettable = NO; if ( [ self accessibleText ] != nil ) { isSettable = [ AquaA11yTextWrapper isAttributeSettable: attribute forElement: self ]; @@ -817,6 +837,7 @@ static BOOL isPopupMenuOpen = NO; } -(NSArray *)accessibilityParameterizedAttributeNames { + AX_SAL_DEBUG("[" << self << " accessibilityParameterizedAttributeNames]"); NSMutableArray * attributeNames = [ [ NSMutableArray alloc ] init ]; // Special Attributes depending on interface if ( [ self accessibleText ] != nil ) { @@ -826,6 +847,7 @@ static BOOL isPopupMenuOpen = NO; } -(id)accessibilityAttributeValue:(NSString *)attribute forParameter:(id)parameter { + AX_SAL_DEBUG("[" << self << " accessibilityAttributeValue:" << attribute << " forParameter:" << parameter << "]"); SEL methodSelector = [ self selectorForAttribute: attribute asGetter: YES withGetterParameter: YES ]; if ( [ self respondsToSelector: methodSelector ] ) { return [ self performSelector: methodSelector withObject: parameter ]; @@ -835,12 +857,14 @@ static BOOL isPopupMenuOpen = NO; -(BOOL)accessibilitySetOverrideValue:(id)value forAttribute:(NSString *)attribute { + AX_SAL_DEBUG("[" << self << " accessibilitySetOverrideValue:" << value << " forAttribute:" << attribute << "]"); (void)value; (void)attribute; return NO; // TODO } -(void)accessibilitySetValue:(id)value forAttribute:(NSString *)attribute { + AX_SAL_DEBUG("[" << self << " accessibilitySetValue:" << value << " forAttribute:" << attribute << "]"); SEL methodSelector = [ self selectorForAttribute: attribute asGetter: NO withGetterParameter: NO ]; if ( [ AquaA11yComponentWrapper respondsToSelector: methodSelector ] ) { [ AquaA11yComponentWrapper performSelector: methodSelector withObject: self withObject: value ]; @@ -857,6 +881,7 @@ static BOOL isPopupMenuOpen = NO; } -(id)accessibilityFocusedUIElement { + AX_SAL_DEBUG("[" << self << " accessibilityFocusedUIElement]"); // #i90575# guard NSAccessibility protocol against unwanted access if ( isPopupMenuOpen ) { return nil; @@ -882,6 +907,7 @@ static BOOL isPopupMenuOpen = NO; // TODO: hard-coded like the role descriptions. is there a better way? -(NSString *)accessibilityActionDescription:(NSString *)action { + AX_SAL_DEBUG("[" << self << " accessibilityActionDescription:" << action << "]"); if ( [ action isEqualToString: NSAccessibilityConfirmAction ] ) { return @"confirm"; } else if ( [ action isEqualToString: NSAccessibilityDecrementAction ] ) { @@ -933,6 +959,7 @@ static BOOL isPopupMenuOpen = NO; } -(void)accessibilityPerformAction:(NSString *)action { + AX_SAL_DEBUG("[" << self << " accessibilityPerformAction:" << action << "]"); AquaA11yWrapper * actionResponder = [ self actionResponder ]; if ( actionResponder != nil ) { [ AquaA11yActionWrapper doAction: action ofElement: actionResponder ]; @@ -940,6 +967,7 @@ static BOOL isPopupMenuOpen = NO; } -(NSArray *)accessibilityActionNames { + AX_SAL_DEBUG("[" << self << " accessibilityActionNames]"); NSArray * actionNames = nil; AquaA11yWrapper * actionResponder = [ self actionResponder ]; if ( actionResponder != nil ) { @@ -1022,6 +1050,7 @@ Reference < XAccessibleContext > hitTestRunner ( com::sun::star::awt::Point poin } -(id)accessibilityHitTest:(NSPoint)point { + AX_SAL_DEBUG("[" << self << " accessibilityHitTest:" << point << "]"); static id wrapper = nil; if ( nil != wrapper ) { [ wrapper release ]; |