virtualtreeview: partially revert 402cffbdfd, issue #41210

This commit is contained in:
wp_xyz 2024-10-30 13:39:01 +01:00
parent 3325629775
commit a775e7be7c

View File

@ -267,7 +267,7 @@ const
DEFAULT_MARGIN = 4; DEFAULT_MARGIN = 4;
DEFAULT_NODE_HEIGHT = 18; DEFAULT_NODE_HEIGHT = 18;
DEFAULT_SPACING = 3; DEFAULT_SPACING = 3;
DEFAULT_MINHEIGHT = 10; DEFAULT_MIN_HEIGHT = 10;
LIS_NORMAL = 1; LIS_NORMAL = 1;
{$EXTERNALSYM LIS_NORMAL} {$EXTERNALSYM LIS_NORMAL}
@ -6930,8 +6930,13 @@ begin
inherited Create(Collection); inherited Create(Collection);
{$IF LCL_FullVersion >= 1080000}
FMargin := Owner.Header.TreeView.Scale96ToFont(DEFAULT_MARGIN);
FSpacing := Owner.Header.TreeView.Scale96ToFont(DEFAULT_SPACING);
{$ELSE}
FMargin := DEFAULT_MARGIN; FMargin := DEFAULT_MARGIN;
FSpacing := DEFAULT_SPACING; FSpacing := DEFAULT_SPACING;
{$IFEND}
FWidth := Owner.FDefaultWidth; FWidth := Owner.FDefaultWidth;
FLastWidth := Owner.FDefaultWidth; FLastWidth := Owner.FDefaultWidth;
@ -7051,14 +7056,22 @@ end;
function TVirtualTreeColumn.IsMarginStored: Boolean; function TVirtualTreeColumn.IsMarginStored: Boolean;
begin begin
{$IF LCL_FullVersion >= 1080000}
Result := FMargin <> Owner.Header.TreeView.Scale96ToFont(DEFAULT_MARGIN);
{$ELSE}
Result := FMargin <> DEFAULT_MARGIN; Result := FMargin <> DEFAULT_MARGIN;
{$IFEND}
end; end;
//---------------------------------------------------------------------------------------------------------------------- //----------------------------------------------------------------------------------------------------------------------
function TVirtualTreeColumn.IsSpacingStored: Boolean; function TVirtualTreeColumn.IsSpacingStored: Boolean;
begin begin
{$IF LCL_FullVersion >= 1080000}
Result := FSpacing <> Owner.Header.TreeView.Scale96ToFont(DEFAULT_SPACING);
{$ELSE}
Result := FSpacing <> DEFAULT_SPACING; Result := FSpacing <> DEFAULT_SPACING;
{$IFEND}
end; end;
//---------------------------------------------------------------------------------------------------------------------- //----------------------------------------------------------------------------------------------------------------------
@ -8095,7 +8108,11 @@ begin
FClickIndex := NoColumn; FClickIndex := NoColumn;
FDropTarget := NoColumn; FDropTarget := NoColumn;
FTrackIndex := NoColumn; FTrackIndex := NoColumn;
{$IF LCL_FullVersion >= 1080000}
FDefaultWidth := Header.TreeView.Scale96ToFont(DEFAULT_COLUMN_WIDTH);
{$ELSE}
FDefaultWidth := DEFAULT_COLUMN_WIDTH; FDefaultWidth := DEFAULT_COLUMN_WIDTH;
{$IFEND}
end; end;
//---------------------------------------------------------------------------------------------------------------------- //----------------------------------------------------------------------------------------------------------------------
@ -8142,7 +8159,11 @@ end;
function TVirtualTreeColumns.IsDefaultWidthStored: Boolean; function TVirtualTreeColumns.IsDefaultWidthStored: Boolean;
begin begin
{$IF LCL_FullVersion >= 1080000}
Result := FDefaultWidth <> Header.TreeView.Scale96ToFont(DEFAULT_COLUMN_WIDTH);
{$ELSE}
Result := FDefaultWidth <> DEFAULT_COLUMN_WIDTH; Result := FDefaultWidth <> DEFAULT_COLUMN_WIDTH;
{$IFEND}
end; end;
//---------------------------------------------------------------------------------------------------------------------- //----------------------------------------------------------------------------------------------------------------------
@ -9854,9 +9875,15 @@ begin
inherited Create; inherited Create;
FOwner := AOwner; FOwner := AOwner;
FColumns := GetColumnsClass.Create(Self); FColumns := GetColumnsClass.Create(Self);
{$IF LCL_FullVersion >= 1080000}
FHeight := FOwner.Scale96ToFont(DEFAULT_HEADER_HEIGHT);
FDefaultHeight := FOwner.Scale96ToFont(DEFAULT_HEADER_HEIGHT);
FMinHeight := FOwner.Scale96ToFont(DEFAULT_MIN_HEIGHT);
{$ELSE}
FHeight := DEFAULT_HEADER_HEIGHT; FHeight := DEFAULT_HEADER_HEIGHT;
FDefaultHeight := DEFAULT_HEADER_HEIGHT; FDefaultHeight := DEFAULT_HEADER_HEIGHT;
FMinHeight := DEFAULT_MINHEIGHT; FMinHeight := 10;
{$IFEND}
FMaxHeight := 10000; FMaxHeight := 10000;
FFont := TFont.Create; FFont := TFont.Create;
FFont.OnChange := FontChanged; FFont.OnChange := FontChanged;
@ -9950,7 +9977,11 @@ end;
function TVTHeader.IsDefaultHeightStored: Boolean; function TVTHeader.IsDefaultHeightStored: Boolean;
begin begin
{$IF LCL_FullVersion >= 1080000}
Result := FDefaultHeight <> FOwner.Scale96ToFont(DEFAULT_HEADER_HEIGHT);
{$ELSE}
Result := FDefaultHeight <> DEFAULT_HEADER_HEIGHT; Result := FDefaultHeight <> DEFAULT_HEADER_HEIGHT;
{$IFEND}
end; end;
//---------------------------------------------------------------------------------------------------------------------- //----------------------------------------------------------------------------------------------------------------------
@ -9965,16 +9996,26 @@ end;
function TVTHeader.IsHeightStored: Boolean; function TVTHeader.IsHeightStored: Boolean;
begin begin
{$IF LCL_FullVersion >= 1080000}
Result := FHeight <> FOwner.Scale96ToFont(DEFAULT_HEADER_HEIGHT);
{$ELSE}
Result := FHeight <> DEFAULT_HEADER_HEIGHT; Result := FHeight <> DEFAULT_HEADER_HEIGHT;
{$IFEND}
end; end;
//---------------------------------------------------------------------------------------------------------------------- //----------------------------------------------------------------------------------------------------------------------
function TVTHeader.IsMinHeightStored: Boolean; function TVTHeader.IsMinHeightStored: Boolean;
begin begin
Result := FMinHeight <> DEFAULT_MINHEIGHT; {$IF LCL_FullVersion >= 1080000}
Result := FMinHeight <> FOwner.Scale96ToFont(DEFAULT_Min_HEIGHT);
{$ELSE}
Result := FMinHeight <> DEFAULT_MIN_HEIGHT;
{$IFEND}
end; end;
//----------------------------------------------------------------------------------------------------------------------
procedure TVTHeader.SetAutoSizeIndex(Value: TColumnIndex); procedure TVTHeader.SetAutoSizeIndex(Value: TColumnIndex);
begin begin
@ -11479,17 +11520,18 @@ var
i: Integer; i: Integer;
col: TVirtualTreeColumn; col: TVirtualTreeColumn;
begin begin
// if not (toAutoChangeScale in Treeview.TreeOptions.AutoOptions) then
// begin
{
if IsDefaultHeightStored then if IsDefaultHeightStored then
FDefaultHeight := Round(FDefaultHeight * AYProportion); FDefaultHeight := Round(FDefaultHeight * AYProportion);
}
if IsHeightStored then
FHeight := Round(FHeight * AYProportion);
if IsMinHeightStored then
FMinHeight := Round(FMinHeight * AYProportion); FMinHeight := Round(FMinHeight * AYProportion);
{
if Columns.IsDefaultWidthStored then if Columns.IsDefaultWidthStored then
Columns.DefaultWidth := Round(Columns.DefaultWidth * AXProportion); Columns.DefaultWidth := Round(Columns.DefaultWidth * AXProportion);
}
for i := 0 to Columns.Count-1 do begin for i := 0 to Columns.Count-1 do begin
col := Columns[i]; col := Columns[i];
if col.IsWidthStored then if col.IsWidthStored then
@ -11499,10 +11541,6 @@ begin
if col.IsMarginStored then if col.IsMarginStored then
col.Margin := Round(col.Margin * AXProportion); col.Margin := Round(col.Margin * AXProportion);
end; end;
// FontChanged(nil);
if IsHeightStored then
FHeight := Round(FHeight * AYProportion);
end; end;
{$IFEND} {$IFEND}
@ -12357,12 +12395,22 @@ begin
FLastSelectionLevel := -1; FLastSelectionLevel := -1;
FSelectionBlendFactor := 128; FSelectionBlendFactor := 128;
{$IF LCL_FullVersion >= 1080000}
FDefaultNodeHeight := Scale96ToFont(DEFAULT_NODE_HEIGHT);
FIndent := Scale96ToFont(DEFAULT_INDENT);
FMargin := Scale96ToFont(DEFAULT_MARGIN);
FTextMargin := Scale96ToFont(DEFAULT_MARGIN);
FDragHeight := Scale96ToFont(DEFAULT_DRAG_HEIGHT);
FDragWidth := Scale96ToFont(DEFAULT_DRAG_WIDTH);
{$ELSE}
FDefaultNodeHeight := DEFAULT_NODE_HEIGHT; FDefaultNodeHeight := DEFAULT_NODE_HEIGHT;
FIndent := DEFAULT_INDENT; FIndent := DEFAULT_INDENT;
FMargin := DEFAULT_MARGIN; FMargin := DEFAULT_MARGIN;
FTextMargin := DEFAULT_MARGIN; FTextMargin := DEFAULT_MARGIN;
FDragHeight := DEFAULT_DRAG_HEIGHT; FDragHeight := DEFAULT_DRAG_HEIGHT;
FDragWidth := DEFAULT_DRAG_WIDTH; FDragWidth := DEFAULT_DRAG_WIDTH;
{$IFEND}
FPlusBM := TBitmap.Create; FPlusBM := TBitmap.Create;
FHotPlusBM := TBitmap.Create; FHotPlusBM := TBitmap.Create;
@ -14041,7 +14089,11 @@ end;
function TBaseVirtualTree.IsDefaultNodeHeightStored: Boolean; function TBaseVirtualTree.IsDefaultNodeHeightStored: Boolean;
begin begin
{$IF LCL_FullVersion >= 1080000}
Result := FDefaultNodeHeight <> Scale96ToFont(DEFAULT_NODE_HEIGHT);
{$ELSE}
Result := FDefaultNodeHeight <> DEFAULT_NODE_HEIGHT; Result := FDefaultNodeHeight <> DEFAULT_NODE_HEIGHT;
{$IFEND}
end; end;
//---------------------------------------------------------------------------------------------------------------------- //----------------------------------------------------------------------------------------------------------------------
@ -14084,28 +14136,44 @@ end;
function TBaseVirtualTree.IsDragHeightStored: Boolean; function TBaseVirtualTree.IsDragHeightStored: Boolean;
begin begin
{$IF LCL_FullVersion >= 1080000}
Result := FDragHeight <> Scale96ToFont(DEFAULT_DRAG_HEIGHT);
{$ELSE}
Result := FDragHeight <> DEFAULT_DRAG_HEIGHT; Result := FDragHeight <> DEFAULT_DRAG_HEIGHT;
{$IFEND}
end; end;
//---------------------------------------------------------------------------------------------------------------------- //----------------------------------------------------------------------------------------------------------------------
function TBaseVirtualTree.IsDragWidthStored: Boolean; function TBaseVirtualTree.IsDragWidthStored: Boolean;
begin begin
{$IF LCL_FullVersion >= 1080000}
Result := FDragWidth <> Scale96ToFont(DEFAULT_DRAG_WIDTH);
{$ELSE}
Result := FDragWidth <> DEFAULT_DRAG_WIDTH; Result := FDragWidth <> DEFAULT_DRAG_WIDTH;
{$IFEND}
end; end;
//---------------------------------------------------------------------------------------------------------------------- //----------------------------------------------------------------------------------------------------------------------
function TBaseVirtualTree.IsIndentStored: Boolean; function TBaseVirtualTree.IsIndentStored: Boolean;
begin begin
{$IF LCL_FullVersion >= 1080000}
Result := FIndent <> Scale96ToFont(DEFAULT_INDENT);
{$ELSE}
Result := FIndent <> DEFAULT_INDENT; Result := FIndent <> DEFAULT_INDENT;
{$IFEND}
end; end;
//---------------------------------------------------------------------------------------------------------------------- //----------------------------------------------------------------------------------------------------------------------
function TBaseVirtualTree.IsMarginStored: Boolean; function TBaseVirtualTree.IsMarginStored: Boolean;
begin begin
{$IF LCL_FullVersion >= 1080000}
Result := FMargin <> Scale96ToFont(DEFAULT_MARGIN);
{$ELSE}
Result := FMargin <> DEFAULT_MARGIN; Result := FMargin <> DEFAULT_MARGIN;
{$IFEND}
end; end;
//---------------------------------------------------------------------------------------------------------------------- //----------------------------------------------------------------------------------------------------------------------
@ -14119,7 +14187,11 @@ end;
function TBaseVirtualTree.IsTextMarginStored: Boolean; function TBaseVirtualTree.IsTextMarginStored: Boolean;
begin begin
{$IF LCL_FullVersion >= 1080000}
Result := FTextMargin <> Scale96ToFont(DEFAULT_MARGIN);
{$ELSE}
Result := FTextMargin <> DEFAULT_MARGIN; Result := FTextMargin <> DEFAULT_MARGIN;
{$IFEND}
end; end;
//---------------------------------------------------------------------------------------------------------------------- //----------------------------------------------------------------------------------------------------------------------
@ -14855,7 +14927,11 @@ procedure TBaseVirtualTree.SetDefaultNodeHeight(Value: Cardinal);
begin begin
if Value = 0 then if Value = 0 then
{$IF LCL_FullVersion >= 2000000}
Value := Scale96ToFont(DEFAULT_NODE_HEIGHT);
{$ELSE}
Value := DEFAULT_NODE_HEIGHT; Value := DEFAULT_NODE_HEIGHT;
{$IFEND}
if FDefaultNodeHeight <> Value then if FDefaultNodeHeight <> Value then
begin begin
Inc(Integer(FRoot.TotalHeight), Integer(Value) - Integer(FDefaultNodeHeight)); Inc(Integer(FRoot.TotalHeight), Integer(Value) - Integer(FDefaultNodeHeight));
@ -24303,7 +24379,11 @@ var
begin begin
{$ifdef DEBUG_VTV}Logger.EnterMethod([lcCheck],'PaintCheckImage');{$endif} {$ifdef DEBUG_VTV}Logger.EnterMethod([lcCheck],'PaintCheckImage');{$endif}
{$if LCL_FullVersion >= 1080000}
checkSize := Scale96ToFont(DEFAULT_CHECK_WIDTH);
{$else}
checkSize := DEFAULT_CHECK_WIDTH; checkSize := DEFAULT_CHECK_WIDTH;
{$ifend}
with ImageInfo do with ImageInfo do
begin begin