mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-08-12 16:09:41 +02:00
LCL: TTreeView: tvoShowRoot: showing first node, bug #12866
git-svn-id: trunk@17968 -
This commit is contained in:
parent
09753e55c4
commit
a189d6f6b4
@ -842,9 +842,6 @@ begin
|
|||||||
end;
|
end;
|
||||||
end else
|
end else
|
||||||
Result := Parent;
|
Result := Parent;
|
||||||
if (Result.Parent=nil) and (Result.GetPrevSibling=nil)
|
|
||||||
and (not (tvoShowRoot in TreeView.Options)) then
|
|
||||||
Result:=nil;
|
|
||||||
end;
|
end;
|
||||||
|
|
||||||
function TTreeNode.GetNextChild(AValue: TTreeNode): TTreeNode;
|
function TTreeNode.GetNextChild(AValue: TTreeNode): TTreeNode;
|
||||||
@ -3074,16 +3071,10 @@ procedure TCustomTreeView.UpdateAllTops;
|
|||||||
end;
|
end;
|
||||||
|
|
||||||
var i: integer;
|
var i: integer;
|
||||||
StartNode: TTreeNode;
|
|
||||||
begin
|
begin
|
||||||
if not (tvsTopsNeedsUpdate in FStates) then exit;
|
if not (tvsTopsNeedsUpdate in FStates) then exit;
|
||||||
i:=0;
|
i:=0;
|
||||||
StartNode:=Items.GetFirstNode;
|
CalculateTops(Items.GetFirstNode,i);
|
||||||
if (not (tvoShowRoot in Options)) and (StartNode<>nil) then begin
|
|
||||||
StartNode.FTop:=0;
|
|
||||||
StartNode:=StartNode.GetNextExpanded;
|
|
||||||
end;
|
|
||||||
CalculateTops(StartNode,i);
|
|
||||||
Exclude(FStates,tvsTopsNeedsUpdate);
|
Exclude(FStates,tvsTopsNeedsUpdate);
|
||||||
Include(FStates,tvsScrollbarChanged);
|
Include(FStates,tvsScrollbarChanged);
|
||||||
end;
|
end;
|
||||||
@ -3294,9 +3285,6 @@ begin
|
|||||||
else
|
else
|
||||||
break;
|
break;
|
||||||
end;
|
end;
|
||||||
if (not (tvoShowRoot in Options))
|
|
||||||
and (Result=Items.FTopLvlItems[0]) then
|
|
||||||
Result:=nil;
|
|
||||||
end else
|
end else
|
||||||
Result:=nil;
|
Result:=nil;
|
||||||
end;
|
end;
|
||||||
@ -3492,7 +3480,6 @@ begin
|
|||||||
// ' ',dbgs(FScrolledTop)+'>=',dbgs(ANode.Top+ANode.Height)+' or =',dbgs(FScrolledTop),'+'+dbgs(ClientHeight)+'<',dbgs(ANode.Top));
|
// ' ',dbgs(FScrolledTop)+'>=',dbgs(ANode.Top+ANode.Height)+' or =',dbgs(FScrolledTop),'+'+dbgs(ClientHeight)+'<',dbgs(ANode.Top));
|
||||||
if (FScrolledTop>=ANode.Top+ANode.Height)
|
if (FScrolledTop>=ANode.Top+ANode.Height)
|
||||||
or (FScrolledTop+(ClientHeight-ScrollBarWidth)-2*BorderWidth<ANode.Top)
|
or (FScrolledTop+(ClientHeight-ScrollBarWidth)-2*BorderWidth<ANode.Top)
|
||||||
or ((not (tvoShowRoot in Options)) and (ANode.fParent=nil) and (ANode.FPrevBrother=nil))
|
|
||||||
then
|
then
|
||||||
Result:=false;
|
Result:=false;
|
||||||
end;
|
end;
|
||||||
@ -3511,7 +3498,6 @@ begin
|
|||||||
if (FScrolledTop>ANode.Top)
|
if (FScrolledTop>ANode.Top)
|
||||||
or (FScrolledTop+(ClientHeight-ScrollBarWidth)-2*BorderWidth
|
or (FScrolledTop+(ClientHeight-ScrollBarWidth)-2*BorderWidth
|
||||||
<ANode.Top+ANode.Height)
|
<ANode.Top+ANode.Height)
|
||||||
or ((not (tvoShowRoot in Options)) and (ANode.fParent=nil) and (ANode.FPrevBrother=nil))
|
|
||||||
then
|
then
|
||||||
Result:=false;
|
Result:=false;
|
||||||
end;
|
end;
|
||||||
@ -3559,12 +3545,8 @@ begin
|
|||||||
if lNode.Expanded then
|
if lNode.Expanded then
|
||||||
lNode.Expanded := False
|
lNode.Expanded := False
|
||||||
else
|
else
|
||||||
if lNode.Parent <> nil then begin
|
if lNode.Parent <> nil then
|
||||||
lNode := lNode.Parent;
|
lNode := lNode.Parent;
|
||||||
if (not (tvoShowRoot in Options)) and (lNode.Parent=nil)
|
|
||||||
and (lNode.GetPrevSibling=nil) then
|
|
||||||
lNode:=lNode.GetNextSibling;
|
|
||||||
end;
|
|
||||||
end;
|
end;
|
||||||
|
|
||||||
VK_RIGHT:
|
VK_RIGHT:
|
||||||
@ -3585,11 +3567,8 @@ begin
|
|||||||
lNode.Expanded := False;
|
lNode.Expanded := False;
|
||||||
|
|
||||||
VK_HOME:
|
VK_HOME:
|
||||||
if Items.GetFirstNode<>nil then begin
|
if Items.GetFirstNode<>nil then
|
||||||
lNode := Items.GetFirstNode;
|
lNode := Items.GetFirstNode;
|
||||||
if (not (tvoShowRoot in Options)) then
|
|
||||||
lNode:=lNode.GetNextExpanded;
|
|
||||||
end;
|
|
||||||
|
|
||||||
VK_END:
|
VK_END:
|
||||||
if Items.GetFirstNode<>nil then
|
if Items.GetFirstNode<>nil then
|
||||||
|
Loading…
Reference in New Issue
Block a user