procedure TGUITestRunner.SetNodeState(node: TTreeNode; enabled :boolean);
var
MostSeniorChanged :TTReeNode;
begin
assert(node <> nil);
// update ancestors if enabling
NodeToTest(Node).Enabled := enabled;
MostSeniorChanged := Node;
if enabled then
begin
while Node.Parent <> nil do
begin
Node := Node.Parent;
if Node.StateIndex < imgENABLED then
begin // changed
NodeToTest(Node).Enabled := true;
Node.StateIndex := imgENABLED;
MostSeniorChanged := Node;
end
end;
end;
TestTree.Items.BeginUpdate;
try
UpdateNodeState(MostSeniorChanged);
finally
TestTree.Items.EndUpdate;
end
End; |