You've already forked lazarus-ccr
fpspreadsheet: Support axis position and inner/outer tick lines in ods writer.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@9000 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
@ -116,6 +116,7 @@ begin
|
||||
ch.XAxis.MinorGridLines.Color := scBlue;
|
||||
ch.XAxis.MajorGridLines.Style := clsNoLine; //Solid;
|
||||
ch.XAxis.MinorGridLines.Style := clsNoLine; //Solid;
|
||||
ch.XAxis.Position := capStart;
|
||||
|
||||
ch.YAxis.ShowLabels := true;
|
||||
ch.YAxis.LabelFont.Size := 8;
|
||||
@ -192,6 +193,8 @@ begin
|
||||
ch.YAxis.CaptionFont.Size := 18;
|
||||
ch.XAxis.LabelFont.Style := [fssItalic];
|
||||
ch.YAxis.LabelFont.Style := [fssItalic];
|
||||
ch.YAxis.MajorTicks := [catInside, catOutside];
|
||||
ch.YAxis.MinorTicks := [catOutside];
|
||||
|
||||
b.WriteToFile('test.xlsx', true); // Excel fails to open the file
|
||||
b.WriteToFile('test.ods', true);
|
||||
|
@ -111,6 +111,8 @@ type
|
||||
end;
|
||||
|
||||
TsChartAxisPosition = (capStart, capEnd, capValue);
|
||||
TsChartAxisTick = (catInside, catOutside);
|
||||
TsChartAxisTicks = set of TsChartAxisTick;
|
||||
TsChartType = (ctEmpty, ctBar, ctLine, ctArea, ctBarLine, ctScatter, ctBubble);
|
||||
|
||||
TsChartAxis = class(TsChartFillElement)
|
||||
@ -131,11 +133,11 @@ type
|
||||
FLabelRotation: Integer;
|
||||
FLogarithmic: Boolean;
|
||||
FMajorInterval: Double;
|
||||
FMajorTickLines: TsChartLine;
|
||||
FMajorTicks: TsChartAxisTicks;
|
||||
FMax: Double;
|
||||
FMin: Double;
|
||||
FMinorSteps: Double;
|
||||
FMinorTickLines: TsChartLine;
|
||||
FMinorTicks: TsChartAxisTicks;
|
||||
FPosition: TsChartAxisPosition;
|
||||
FPositionValue: Double;
|
||||
FShowCaption: Boolean;
|
||||
@ -158,12 +160,12 @@ type
|
||||
property Logarithmic: Boolean read FLogarithmic write FLogarithmic;
|
||||
property MajorGridLines: TsChartLine read FMajorGridLines write FMajorGridLines;
|
||||
property MajorInterval: Double read FMajorInterval write FMajorInterval;
|
||||
property MajorTickLines: TsChartLine read FMajorTickLines write FMajorTickLines;
|
||||
property MajorTicks: TsChartAxisTicks read FMajorTicks write FMajorTicks;
|
||||
property Max: Double read FMax write FMax;
|
||||
property Min: Double read FMin write FMin;
|
||||
property MinorGridLines: TsChartLine read FMinorGridLines write FMinorGridLines;
|
||||
property MinorSteps: Double read FMinorSteps write FMinorSteps;
|
||||
property MinorTickLines: TsChartLine read FMinorTickLines write FMinorTickLines;
|
||||
property MinorTicks: TsChartAxisTicks read FMinorTicks write FMinorTicks;
|
||||
property Position: TsChartAxisPosition read FPosition write FPosition;
|
||||
property PositionValue: Double read FPositionValue write FPositionValue;
|
||||
property ShowCaption: Boolean read FShowCaption write FShowCaption;
|
||||
@ -530,15 +532,8 @@ begin
|
||||
FAxisLine.Style := clsSolid;
|
||||
FAxisLine.Width := PtsToMM(DEFAULT_CHART_LINEWIDTH);
|
||||
|
||||
FMajorTickLines := TsChartLine.Create;
|
||||
FMajorTickLines.Color := scBlack;
|
||||
FMajorTickLines.Style := clsSolid;
|
||||
FMajorTickLines.Width := PtsToMM(DEFAULT_CHART_LINEWIDTH);
|
||||
|
||||
FMinorTickLines := TsChartLine.Create;
|
||||
FMinorTickLines.Color := scBlack;
|
||||
FMinorTickLines.Style := clsSolid;
|
||||
FMinorTickLines.Width := PtsToMM(DEFAULT_CHART_LINEWIDTH);
|
||||
FMajorTicks := [catOutside];
|
||||
FMinorTicks := [];
|
||||
|
||||
FMajorGridLines := TsChartLine.Create;
|
||||
FMajorGridLines.Color := scSilver;
|
||||
@ -555,8 +550,6 @@ destructor TsChartAxis.Destroy;
|
||||
begin
|
||||
FMinorGridLines.Free;
|
||||
FMajorGridLines.Free;
|
||||
FMinorTickLines.Free;
|
||||
FMajorTickLines.Free;
|
||||
FAxisLine.Free;
|
||||
FLabelFont.Free;
|
||||
FCaptionFont.Free;
|
||||
|
@ -209,6 +209,22 @@ begin
|
||||
if not Axis.AutomaticMinorSteps then
|
||||
chartProps := chartProps + Format('chart:interval-minor-divisor="%d" ', [Axis.MinorSteps]);
|
||||
|
||||
case Axis.Position of
|
||||
capStart: chartProps := chartProps + 'chart:axis-position="start" ';
|
||||
capEnd: chartProps := chartProps + 'chart:axis-position="end" ';
|
||||
capValue: chartProps := chartProps + Format('chart:axis-position="%g" ', [Axis.PositionValue], FPointSeparatorSettings);
|
||||
end;
|
||||
|
||||
if (catInside in Axis.MajorTicks) then
|
||||
chartProps := chartProps + 'chart:tick-marks-major-inner="true" ';
|
||||
if (catOutside in Axis.MajorTicks) then
|
||||
chartProps := chartProps + 'chart:tick-marks-major-outer="true" ';
|
||||
|
||||
if (catInside in Axis.MinorTicks) then
|
||||
chartProps := chartProps + 'chart:tick-marks-minor-inner="true" ';
|
||||
if (catOutside in Axis.MinorTicks) then
|
||||
chartProps := chartProps + 'chart:tick-marks-minor-outer="true" ';
|
||||
|
||||
if Axis.Inverted then
|
||||
chartProps := chartProps + 'chart:reverse-direction="true" ';
|
||||
|
||||
|
Reference in New Issue
Block a user