LCL-CustomDrawn-Cocoa: Advances further the accessibility

git-svn-id: trunk@36109 -
This commit is contained in:
sekelsenmat 2012-03-17 11:24:17 +00:00
parent 32c73d9d34
commit 0400c12137

View File

@ -877,8 +877,14 @@ end;
function TCocoaAccessibleObject.accessibilityAttributeValue(attribute: NSString): id; function TCocoaAccessibleObject.accessibilityAttributeValue(attribute: NSString): id;
var var
lStrAttr: String; lStrAttr: String;
//
lAResult: NSArray; lAResult: NSArray;
lMAResult: NSMutableArray; lMAResult: NSMutableArray;
lSize: TSize;
lNSSize: NSSize;
lPoint: TPoint;
lNSPoint: NSPoint;
//
i: Integer; i: Integer;
lChildAcc: TLazAccessibleObject; lChildAcc: TLazAccessibleObject;
lForm: TCustomForm; lForm: TCustomForm;
@ -891,8 +897,8 @@ begin
if attribute = NSAccessibilityRoleAttribute then if attribute = NSAccessibilityRoleAttribute then
begin begin
{DebugLn('[TCocoaAccessibleObject.accessibilityAttributeValue] NSAccessibilityRoleAttribute'); DebugLn('[TCocoaAccessibleObject.accessibilityAttributeValue] NSAccessibilityRoleAttribute');
Result := TCocoaCustomControl.LazRoleToCocoaRole(LCLAcc.AccessibleRole);} Result := TCocoaCustomControl.LazRoleToCocoaRole(LCLAcc.AccessibleRole);
end end
else if attribute = NSAccessibilityRoleDescriptionAttribute then else if attribute = NSAccessibilityRoleDescriptionAttribute then
begin begin
@ -914,13 +920,14 @@ begin
end end
else if attribute = NSAccessibilityParentAttribute then else if attribute = NSAccessibilityParentAttribute then
begin begin
{ lParent := LCLControl.Parent; lParent := LCLControl.Parent;
Result := TCocoaAccessibleObject(lParent.GetAccessibleObject().Handle);} if lParent <> nil then
Result := TCocoaAccessibleObject(lParent.GetAccessibleObject().Handle);
end end
else if (attribute = NSAccessibilityChildrenAttribute) else if (attribute = NSAccessibilityChildrenAttribute)
or (attribute = NSAccessibilityVisibleChildrenAttribute) then or (attribute = NSAccessibilityVisibleChildrenAttribute) then
begin begin
{DebugLn('[TCocoaAccessibleObject.accessibilityAttributeValue] NSAccessibilityChildrenAttribute'); DebugLn('[TCocoaAccessibleObject.accessibilityAttributeValue] NSAccessibilityChildrenAttribute');
lAResult := NSArray(Result); lAResult := NSArray(Result);
lMAResult := lAResult.mutableCopy(); lMAResult := lAResult.mutableCopy();
for i := 0 to LCLAcc.GetChildAccessibleObjectsCount() - 1 do for i := 0 to LCLAcc.GetChildAccessibleObjectsCount() - 1 do
@ -928,12 +935,12 @@ begin
lChildAcc := LCLAcc.GetChildAccessibleObject(i); lChildAcc := LCLAcc.GetChildAccessibleObject(i);
lMAResult.addObject(TCocoaAccessibleObject(lChildAcc.Handle)); lMAResult.addObject(TCocoaAccessibleObject(lChildAcc.Handle));
end; end;
Result := lMAResult;} Result := lMAResult;
end end
else if attribute = NSAccessibilityWindowAttribute then else if attribute = NSAccessibilityWindowAttribute then
begin begin
{lForm := Forms.GetParentForm(LCLControl); lForm := Forms.GetParentForm(LCLControl);
Result := TCocoaAccessibleObject(lForm.GetAccessibleObject().Handle);} Result := TCocoaAccessibleObject(lForm.GetAccessibleObject().Handle);
end end
else if attribute = NSAccessibilityTopLevelUIElementAttribute then else if attribute = NSAccessibilityTopLevelUIElementAttribute then
begin begin
@ -945,11 +952,19 @@ begin
end end
else if attribute = NSAccessibilityPositionAttribute then else if attribute = NSAccessibilityPositionAttribute then
begin begin
//LCLAcc.Position; lPoint := LCLAcc.Position;
lNSPoint.x := lPoint.X;
lNSPoint.y := lPoint.Y;
Result := NSValue.valueWithPoint(lNSPoint);
DebugLn(Format('[TCocoaAccessibleObject.accessibilityAttributeValue] NSAccessibilityPositionAttribute Result=%d,%d', [lPoint.X, lPoint.Y]));
end end
else if attribute = NSAccessibilitySizeAttribute then else if attribute = NSAccessibilitySizeAttribute then
begin begin
//LCLAcc.Size; lSize := LCLAcc.Size;
lNSSize.width := lSize.CX;
lNSSize.height := lSize.CY;
Result := NSValue.valueWithSize(lNSSize);
DebugLn(Format('[TCocoaAccessibleObject.accessibilityAttributeValue] NSAccessibilitySizeAttribute Result=%d,%d', [lSize.CX, lSize.CY]));
end; end;
end; end;