fpspreadsheet: Fix compilation back to Laz v2.0.12

git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@9076 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
wp_xxyyzz
2023-12-08 16:54:08 +00:00
parent 9914514709
commit dc777e99cf
5 changed files with 60 additions and 36 deletions

View File

@ -4,6 +4,9 @@
<Version Value="12"/> <Version Value="12"/>
<PathDelim Value="\"/> <PathDelim Value="\"/>
<General> <General>
<Flags>
<CompatibilityMode Value="True"/>
</Flags>
<SessionStorage Value="InProjectDir"/> <SessionStorage Value="InProjectDir"/>
<Title Value="chart_demo"/> <Title Value="chart_demo"/>
<Scaled Value="True"/> <Scaled Value="True"/>
@ -14,8 +17,8 @@
</XPManifest> </XPManifest>
<Icon Value="0"/> <Icon Value="0"/>
</General> </General>
<BuildModes> <BuildModes Count="1">
<Item Name="Default" Default="True"/> <Item1 Name="Default" Default="True"/>
</BuildModes> </BuildModes>
<PublishOptions> <PublishOptions>
<Version Value="2"/> <Version Value="2"/>
@ -24,32 +27,32 @@
<RunParams> <RunParams>
<FormatVersion Value="2"/> <FormatVersion Value="2"/>
</RunParams> </RunParams>
<RequiredPackages> <RequiredPackages Count="4">
<Item> <Item1>
<PackageName Value="TAChartLazarusPkg"/> <PackageName Value="TAChartLazarusPkg"/>
</Item> </Item1>
<Item> <Item2>
<PackageName Value="laz_fpspreadsheet_visual_dsgn"/> <PackageName Value="laz_fpspreadsheet_visual_dsgn"/>
</Item> </Item2>
<Item> <Item3>
<PackageName Value="laz_fpspreadsheet_visual"/> <PackageName Value="laz_fpspreadsheet_visual"/>
</Item> </Item3>
<Item> <Item4>
<PackageName Value="LCL"/> <PackageName Value="LCL"/>
</Item> </Item4>
</RequiredPackages> </RequiredPackages>
<Units> <Units Count="2">
<Unit> <Unit0>
<Filename Value="chart_demo.lpr"/> <Filename Value="chart_demo.lpr"/>
<IsPartOfProject Value="True"/> <IsPartOfProject Value="True"/>
</Unit> </Unit0>
<Unit> <Unit1>
<Filename Value="main.pas"/> <Filename Value="main.pas"/>
<IsPartOfProject Value="True"/> <IsPartOfProject Value="True"/>
<ComponentName Value="Form1"/> <ComponentName Value="Form1"/>
<HasResources Value="True"/> <HasResources Value="True"/>
<ResourceBaseClass Value="Form"/> <ResourceBaseClass Value="Form"/>
</Unit> </Unit1>
</Units> </Units>
</ProjectOptions> </ProjectOptions>
<CompilerOptions> <CompilerOptions>
@ -72,23 +75,18 @@
</Win32> </Win32>
</Options> </Options>
</Linking> </Linking>
<Other>
<ConfigFile>
<WriteConfigFilePath Value=""/>
</ConfigFile>
</Other>
</CompilerOptions> </CompilerOptions>
<Debugging> <Debugging>
<Exceptions> <Exceptions Count="3">
<Item> <Item1>
<Name Value="EAbort"/> <Name Value="EAbort"/>
</Item> </Item1>
<Item> <Item2>
<Name Value="ECodetoolError"/> <Name Value="ECodetoolError"/>
</Item> </Item2>
<Item> <Item3>
<Name Value="EFOpenError"/> <Name Value="EFOpenError"/>
</Item> </Item3>
</Exceptions> </Exceptions>
</Debugging> </Debugging>
</CONFIG> </CONFIG>

View File

@ -105,7 +105,6 @@ object Form1: TForm1
'../../../other/chart/scatter_loglog.ods' '../../../other/chart/scatter_loglog.ods'
) )
TabOrder = 0 TabOrder = 0
TextHint = 'Enter or select file name'
OnCloseUp = ComboBox1CloseUp OnCloseUp = ComboBox1CloseUp
end end
object Button1: TButton object Button1: TButton

View File

@ -5,7 +5,8 @@ unit main;
interface interface
uses uses
Classes, SysUtils, Forms, Controls, Graphics, Dialogs, ExtCtrls, StdCtrls, Classes, SysUtils,
LCLVersion, Forms, Controls, Graphics, Dialogs, ExtCtrls, StdCtrls,
TAGraph, TAGraph,
fpSpreadsheet, fpsTypes, fpsOpenDocument, fpSpreadsheet, fpsTypes, fpsOpenDocument,
fpSpreadsheetCtrls, fpSpreadsheetGrid, fpSpreadsheetChart; fpSpreadsheetCtrls, fpSpreadsheetGrid, fpSpreadsheetChart;
@ -73,6 +74,9 @@ end;
procedure TForm1.FormCreate(Sender: TObject); procedure TForm1.FormCreate(Sender: TObject);
begin begin
{$IF LCL_FullVersion >= 2020000}
ComboBox1.TextHint := 'Enter or select file name';
{$IFEND}
if ParamCount > 0 then if ParamCount > 0 then
begin begin
Combobox1.Text := ParamStr(1); Combobox1.Text := ParamStr(1);

View File

@ -18,7 +18,7 @@ interface
uses uses
// RTL/FCL // RTL/FCL
Classes, Contnrs, SysUtils, Types, Classes, Contnrs, SysUtils, Types, FPCanvas,
// LCL // LCL
LCLVersion, Forms, Controls, Graphics, GraphUtil, Dialogs, LCLVersion, Forms, Controls, Graphics, GraphUtil, Dialogs,
// TAChart // TAChart
@ -1799,7 +1799,9 @@ begin
axis.TickLength := IfThen(catOutside in AWorkbookAxis.MajorTicks, 4, 0); axis.TickLength := IfThen(catOutside in AWorkbookAxis.MajorTicks, 4, 0);
axis.TickInnerLength := IfThen(catInside in AWorkbookAxis.MajorTicks, 4, 0); axis.TickInnerLength := IfThen(catInside in AWorkbookAxis.MajorTicks, 4, 0);
axis.TickColor := axis.AxisPen.Color; axis.TickColor := axis.AxisPen.Color;
{$IF LCL_FullVersion >= 3000000}
axis.TickWidth := axis.AxisPen.Width; axis.TickWidth := axis.AxisPen.Width;
{$IFEND}
// Minor axis grid // Minor axis grid
if AWorkbookAxis.MinorGridLines.Style <> clsNoLine then if AWorkbookAxis.MinorGridLines.Style <> clsNoLine then
@ -1814,7 +1816,9 @@ begin
minorAxis.TickLength := IfThen(catOutside in AWorkbookAxis.MinorTicks, 2, 0); minorAxis.TickLength := IfThen(catOutside in AWorkbookAxis.MinorTicks, 2, 0);
minorAxis.TickInnerLength := IfThen(catInside in AWorkbookAxis.MinorTicks, 2, 0); minorAxis.TickInnerLength := IfThen(catInside in AWorkbookAxis.MinorTicks, 2, 0);
minorAxis.TickColor := axis.AxisPen.Color; minorAxis.TickColor := axis.AxisPen.Color;
{$IF LCL_FullVersion >= 3000000}
minorAxis.TickWidth := minorAxis.Grid.Width; minorAxis.TickWidth := minorAxis.Grid.Width;
{$IFEND}
end; end;
// Inverted? // Inverted?
@ -1921,7 +1925,9 @@ begin
h := mmToPx(img.Height, ppi); h := mmToPx(img.Height, ppi);
png := TPortableNetworkGraphic.Create; png := TPortableNetworkGraphic.Create;
png.Assign(img.Image); png.Assign(img.Image);
{$IF LCL_FullVersion >= 2020000}
ScaleImg(png, w, h); ScaleImg(png, w, h);
{$IFEND}
FBrushBitmaps.Add(png); FBrushBitmaps.Add(png);
ABrush.Bitmap := png; ABrush.Bitmap := png;
end else end else
@ -2023,8 +2029,10 @@ begin
case AWorkbookSeries.LabelPosition of case AWorkbookSeries.LabelPosition of
lpInside: lpInside:
TPieSeries(AChartSeries).MarkPositions := pmpInside; TPieSeries(AChartSeries).MarkPositions := pmpInside;
{$IF LCL_FullVersion >= 2020000}
lpCenter: lpCenter:
TPieSeries(AChartSeries).MarkPositionCentered := true; TPieSeries(AChartSeries).MarkPositionCentered := true;
{$IFEND}
else else
TPieSeries(AChartSeries).MarkPositions := pmpAround; TPieSeries(AChartSeries).MarkPositions := pmpAround;
end end
@ -2068,7 +2076,9 @@ begin
AChartTitle.Text.Clear; AChartTitle.Text.Clear;
AChartTitle.Text.Add(AWorkbookTitle.Caption); AChartTitle.Text.Add(AWorkbookTitle.Caption);
AChartTitle.Visible := AWorkbookTitle.Visible; AChartTitle.Visible := AWorkbookTitle.Visible;
{$IF LCL_FullVersion >= 2020000}
AChartTitle.WordWrap := true; AChartTitle.WordWrap := true;
{$IFEND}
Convert_sFont_to_Font(AWorkbookTitle.Font, AChartTitle.Font); Convert_sFont_to_Font(AWorkbookTitle.Font, AChartTitle.Font);
UpdateChartPen(AWorkbookTitle.Chart, AWorkbookTitle.Border, AChartTitle.Frame); UpdateChartPen(AWorkbookTitle.Chart, AWorkbookTitle.Border, AChartTitle.Frame);
UpdateChartBrush(AWorkbookTitle.Chart, AWorkbookTitle.Background, AChartTitle.Brush); UpdateChartBrush(AWorkbookTitle.Chart, AWorkbookTitle.Background, AChartTitle.Brush);
@ -2119,11 +2129,13 @@ procedure TsWorkbookChartLink.UpdatePieSeries(AWorkbookSeries: TsPieSeries;
AChartSeries: TPieSeries); AChartSeries: TPieSeries);
begin begin
UpdateChartPen(AWorkbookSeries.Chart, AWorkbookSeries.Line, AChartSeries.EdgePen); UpdateChartPen(AWorkbookSeries.Chart, AWorkbookSeries.Line, AChartSeries.EdgePen);
AChartSeries.StartAngle := AWorkbookSeries.StartAngle;
AChartSeries.Legend.Multiplicity := lmPoint; AChartSeries.Legend.Multiplicity := lmPoint;
AChartSeries.Legend.Format := '%2:s'; AChartSeries.Legend.Format := '%2:s';
{$IF LCL_FullVersion >= 2020000}
AChartSeries.StartAngle := AWorkbookSeries.StartAngle;
if AWorkbookSeries is TsRingSeries then if AWorkbookSeries is TsRingSeries then
AChartSeries.InnerRadiusPercent := TsRingSeries(AWorkbookSeries).InnerRadiusPercent; AChartSeries.InnerRadiusPercent := TsRingSeries(AWorkbookSeries).InnerRadiusPercent;
{$IFEND}
FChart.BottomAxis.Visible := false; FChart.BottomAxis.Visible := false;
FChart.LeftAxis.Visible := false; FChart.LeftAxis.Visible := false;

View File

@ -73,12 +73,14 @@ type
function CalcTickWidth(AX: Double; AIndex: Integer): Double; function CalcTickWidth(AX: Double; AIndex: Integer): Double;
procedure GetLegendItems(AItems: TChartLegendItems); override; procedure GetLegendItems(AItems: TChartLegendItems); override;
function GetSeriesColor: TColor; override; function GetSeriesColor: TColor; override;
{$IF LCL_FullVersion >= 2020000}
class procedure GetXYCountNeeded(out AXCount, AYCount: Cardinal); override; class procedure GetXYCountNeeded(out AXCount, AYCount: Cardinal); override;
function SkipMissingValues(AIndex: Integer): Boolean; override;
function ToolTargetDistance(const AParams: TNearestPointParams;
AGraphPt: TDoublePoint; APointIdx, AXIdx, AYIdx: Integer): Integer; override;
procedure UpdateLabelDirectionReferenceLevel(AIndex, AYIndex: Integer; procedure UpdateLabelDirectionReferenceLevel(AIndex, AYIndex: Integer;
var ALevel: Double); override; var ALevel: Double); override;
function SkipMissingValues(AIndex: Integer): Boolean; override;
{$IFEND}
function ToolTargetDistance(const AParams: TNearestPointParams;
AGraphPt: TDoublePoint; APointIdx, AXIdx, AYIdx: Integer): Integer; override;
public public
procedure Assign(ASource: TPersistent); override; procedure Assign(ASource: TPersistent); override;
constructor Create(AOwner: TComponent); override; constructor Create(AOwner: TComponent); override;
@ -436,7 +438,7 @@ begin
end; end;
if Source[i]^.Color <> clTAColor then if Source[i]^.Color <> clTAColor then
begin begin
ADrawer.SetPenParams(FPen[TOHLCPenKind(idx)].Style, Source[i]^.Color, FPen[TOHLCPenKind(idx)].Width); ADrawer.SetPenParams(FPen[TOHLCPenKind(idx)].Style, Source[i]^.Color {$IF LCL_FUllVersion >= 2020000}, FPen[TOHLCPenKind(idx)].Width{$IFEND});
ADrawer.SetBrushParams(FBrush[TOHLCBrushKind(idx)].Style, Source[i]^.Color); ADrawer.SetBrushParams(FBrush[TOHLCBrushKind(idx)].Style, Source[i]^.Color);
end; end;
@ -448,10 +450,12 @@ begin
prevclose := yclose; prevclose := yclose;
end; end;
{$IF LCL_FullVersion >= 2020000}
GetXYCountNeeded(nx, ny); GetXYCountNeeded(nx, ny);
if Source.YCount > ny then if Source.YCount > ny then
for i := 0 to ny-1 do DrawLabels(ADrawer, i) for i := 0 to ny-1 do DrawLabels(ADrawer, i)
else else
{$ENDIF}
DrawLabels(ADrawer); DrawLabels(ADrawer);
end; end;
@ -580,11 +584,13 @@ begin
Result := LinePen.Color; Result := LinePen.Color;
end; end;
{$IF LCL_FullVersion >= 2020000}
class procedure TStockSeries.GetXYCountNeeded(out AXCount, AYCount: Cardinal); class procedure TStockSeries.GetXYCountNeeded(out AXCount, AYCount: Cardinal);
begin begin
AXCount := 0; AXCount := 0;
AYCount := 4; AYCount := 4;
end; end;
{$IFEND}
procedure TStockSeries.SetBrush(AIndex: TOHLCBrushKind; AValue: TOHLCBrush); procedure TStockSeries.SetBrush(AIndex: TOHLCBrushKind; AValue: TOHLCBrush);
begin begin
@ -649,12 +655,14 @@ begin
UpdateParentChart; UpdateParentChart;
end; end;
{$IF LCL_FullVersion >= 2020000}
function TStockSeries.SkipMissingValues(AIndex: Integer): Boolean; function TStockSeries.SkipMissingValues(AIndex: Integer): Boolean;
begin begin
Result := IsNaN(Source[AIndex]^.Point); Result := IsNaN(Source[AIndex]^.Point);
if not Result then if not Result then
Result := HasMissingYValue(AIndex, 4); Result := HasMissingYValue(AIndex, 4);
end; end;
{$IFEND}
function TStockSeries.ToolTargetDistance( function TStockSeries.ToolTargetDistance(
const AParams: TNearestPointParams; AGraphPt: TDoublePoint; const AParams: TNearestPointParams; AGraphPt: TDoublePoint;
@ -716,6 +724,7 @@ begin
end; end;
end; end;
{$IF LCL_FullVersion >= 2020000}
procedure TStockSeries.UpdateLabelDirectionReferenceLevel( procedure TStockSeries.UpdateLabelDirectionReferenceLevel(
AIndex, AYIndex: Integer; var ALevel: Double); AIndex, AYIndex: Integer; var ALevel: Double);
var var
@ -732,5 +741,7 @@ begin
end; end;
{$ENDIF} {$ENDIF}
{$ENDIF}
end. end.