fpspreadsheet: Support volume stock charts in ods reader and chart link

git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@9077 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
wp_xxyyzz
2023-12-12 14:52:42 +00:00
parent dc777e99cf
commit 23a0cfed5f
2 changed files with 9 additions and 3 deletions

View File

@ -976,7 +976,6 @@ begin
FStockSeries.RangeLine.Color := scBlack;
FStockSeries.CandleStickDownFill.Style := cfsSolid;
FStockSeries.CandleStickDownFill.Color := scBlack;
break;
end;
end;
end;
@ -1308,7 +1307,7 @@ var
n: Integer;
begin
s := GetAttrValue(ANode, 'chart:class');
if (FChartType = ctStock) then
if (FChartType = ctStock) and (s = '') then
series := FStockSeries
else
case s of
@ -1346,6 +1345,9 @@ begin
else
ReadChartCellRange(ANode, 'chart:values-cell-range-address', series.YRange);
if series.XRange.IsEmpty then
series.XRange.Assign(series.Chart.XAxis.CategoryRange);
s := GetAttrValue(ANode, 'chart:attached-axis');
if s = 'primary-y' then
series.YAxis := alPrimary

View File

@ -1084,7 +1084,10 @@ begin
case ASeries.ChartType of
ctBar:
Result := TBarSeries.Create(FChart);
begin
Result := TBarSeries.Create(FChart);
src.IntegerX := true;
end;
ctLine, ctScatter:
Result := TLineSeries.Create(FChart);
ctArea:
@ -1673,6 +1676,7 @@ procedure TsWorkbookChartLink.UpdateBarSeries(AWorkbookSeries: TsBarSeries;
begin
UpdateChartBrush(AWorkbookSeries.Chart, AWorkbookSeries.Fill, AChartSeries.BarBrush);
UpdateChartPen(AWorkbookSeries.Chart, AWorkbookSeries.Line, AChartSeries.BarPen);
AChartSeries.BarWidthStyle := bwPercentMin;
AChartSeries.Stacked := AWorkbookSeries.Chart.StackMode <> csmSideBySide;
if AChartSeries.Source is TCalculatedChartSource then
TCalculatedChartSource(AChartSeries.Source).Percentage := (AWorkbookSeries.Chart.StackMode = csmStackedPercentage);