mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-08-12 04:16:06 +02:00
LCL-CustomDrawn-Cocoa: Advances further the accessibility
git-svn-id: trunk@36109 -
This commit is contained in:
parent
32c73d9d34
commit
0400c12137
@ -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;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user