LCL: added TLazAccessibleObject enumerator

git-svn-id: trunk@35394 -
This commit is contained in:
mattias 2012-02-16 09:17:30 +00:00
parent f7827d2275
commit f1f99b4a6e
4 changed files with 27 additions and 1 deletions

View File

@ -54,7 +54,7 @@ type
{ TAvgLvlTreeNodeEnumerator - left to right, low to high }
TAvgLvlTreeNodeEnumerator = class
private
protected
FTree: TAvgLvlTree;
FCurrent: TAvgLvlTreeNode;
public

View File

@ -14213,6 +14213,8 @@ End;
<element name="TWinControl.AutoSizeDelayedHandle">
<short>Returns true if AutoSize should be skipped / delayed because of its handle.</short>
</element>
<element name="TLazAccessibleObject.GetEnumerator"><short>Default enumerator for the children</short>
</element>
</module>
<!-- Controls -->
</package>

View File

@ -925,6 +925,17 @@ type
// The Child Accessible Objects are designed for non-TControl children
// of a TCustomControl descendent, for example the items of a TTreeView
TLazAccessibleObject = class;
{ TLazAccessibleObjectEnumerator }
TLazAccessibleObjectEnumerator = class(TAvgLvlTreeNodeEnumerator)
private
function GetCurrent: TLazAccessibleObject;
public
property Current: TLazAccessibleObject read GetCurrent;
end;
{ TLazAccessibleObject }
TLazAccessibleObject = class
@ -972,6 +983,7 @@ type
property Position: TPoint read GetPosition write SetPosition;
property Size: TSize read GetSize write SetSize;
property Handle: PtrInt read GetHandle write SetHandle;
function GetEnumerator: TLazAccessibleObjectEnumerator;
end;
{* Note on TControl.Caption

View File

@ -26,6 +26,13 @@
{ $DEFINE CHECK_POSITION}
{ TLazAccessibleObjectEnumerator }
function TLazAccessibleObjectEnumerator.GetCurrent: TLazAccessibleObject;
begin
Result:=TLazAccessibleObject(FCurrent.Data);
end;
{ TLazAccessibleObject }
function TLazAccessibleObject.GetHandle: PtrInt;
@ -253,6 +260,11 @@ begin
Result := OwnerControl.GetChildAccessibleObjectAtPos(APos);
end;
function TLazAccessibleObject.GetEnumerator: TLazAccessibleObjectEnumerator;
begin
Result:=TLazAccessibleObjectEnumerator.Create(FChildrenSortedForDataObject);
end;
{------------------------------------------------------------------------------
TControl.AdjustSize