diff --git a/packages/fcl-report/fpmake.pp b/packages/fcl-report/fpmake.pp index 85beebd42f..384002d2e2 100644 --- a/packages/fcl-report/fpmake.pp +++ b/packages/fcl-report/fpmake.pp @@ -31,7 +31,7 @@ begin P.Email := ''; P.Description := 'GUI-independent Reporting Engine'; P.NeedLibC:= false; - P.OSes:=[linux, win32, darwin, freebsd]; + P.OSes:=[linux, win32, win64, darwin, freebsd]; P.SourcePath.Add('src'); {$IFDEF VER2_6} T:=P.Targets.AddUnit('fprepexprpars.pp'); diff --git a/packages/fcl-report/src/fpreport.pp b/packages/fcl-report/src/fpreport.pp index 0e3abc9693..4440be8673 100644 --- a/packages/fcl-report/src/fpreport.pp +++ b/packages/fcl-report/src/fpreport.pp @@ -2588,6 +2588,16 @@ begin Result := TFPPenStyle(GetEnumValue(TypeInfo(TFPPenStyle), AName)); end; +function ColumnLayoutToString(AEnum: TFPReportColumnLayout): string; inline; +begin + result := GetEnumName(TypeInfo(TFPReportColumnLayout), Ord(AEnum)); +end; + +function StringToColumnLayout(AName: string): TFPReportColumnLayout; inline; +begin + Result := TFPReportColumnLayout(GetEnumValue(TypeInfo(TFPReportColumnLayout), AName)); +end; + function OrientationToString(AEnum: TFPReportOrientation): string; inline; begin result := GetEnumName(TypeInfo(TFPReportOrientation), Ord(AEnum)); @@ -7682,6 +7692,9 @@ procedure TFPReportCustomPage.ReadElement(AReader: TFPReportStreamer); var E: TObject; begin + ColumnCount := AReader.ReadInteger('ColumnCount', 1); + ColumnGap := AReader.ReadFloat('ColumnGap', 0); + ColumnLayout := StringToColumnLayout(AReader.ReadString('ColumnLayout', 'clVertical')); Orientation := StringToPaperOrientation(AReader.ReadString('Orientation', 'poPortrait')); Pagesize.PaperName := AReader.ReadString('PageSize.PaperName', 'A4'); Pagesize.Width := AReader.ReadFloat('PageSize.Width', 210); @@ -7820,6 +7833,9 @@ end; procedure TFPReportCustomPage.DoWriteLocalProperties(AWriter: TFPReportStreamer; AOriginal: TFPReportElement); begin inherited DoWriteLocalProperties(AWriter, AOriginal); + AWriter.WriteFloat('ColumnCount', ColumnCount); + AWriter.WriteFloat('ColumnGap', ColumnGap); + AWriter.WriteString('ColumnLayout', ColumnLayoutToString(ColumnLayout)); AWriter.WriteString('Orientation', PaperOrientationToString(Orientation)); AWriter.WriteString('PageSize.PaperName', PageSize.PaperName); AWriter.WriteFloat('PageSize.Width', PageSize.Width); diff --git a/packages/fcl-report/test/testfpreport.lpi b/packages/fcl-report/test/testfpreport.lpi index 70ef2e263f..5b72a1d683 100644 --- a/packages/fcl-report/test/testfpreport.lpi +++ b/packages/fcl-report/test/testfpreport.lpi @@ -1,13 +1,13 @@ - + + - </General> <VersionInfo> @@ -25,16 +25,21 @@ </BuildModes> <PublishOptions> <Version Value="2"/> - <IgnoreBinaries Value="False"/> - <IncludeFileFilter Value="*.(pas|pp|inc|lfm|lpr|lrs|lpi|lpk|sh|xml)"/> - <ExcludeFileFilter Value="*.(bak|ppu|ppw|o|so);*~;backup"/> </PublishOptions> <RunParams> <local> - <FormatVersion Value="1"/> - <CommandLineParams Value="--suite=TTestCustomReport.TestPagePrepareObjects"/> - <LaunchingApplication PathPlusParams="/usr/X11R6/bin/xterm -T 'Lazarus Run Output' -e $(LazarusDir)/tools/runwait.sh $(TargetCmdLine)"/> + <CommandLineParams Value="--suite=TTestReportMemo.TestPrepareTextBlocks_multiline_wraptext_oneword_split"/> + <LaunchingApplication PathPlusParams="/usr/X11R6/bin/xterm -T 'Lazarus Run Output' -e $(LazarusDir)/tools/runwait.sh $(TargetCmdLine)"/> </local> + <FormatVersion Value="2"/> + <Modes Count="1"> + <Mode0 Name="default"> + <local> + <CommandLineParams Value="--suite=TTestReportMemo.TestPrepareTextBlocks_multiline_wraptext_oneword_split"/> + <LaunchingApplication PathPlusParams="/usr/X11R6/bin/xterm -T 'Lazarus Run Output' -e $(LazarusDir)/tools/runwait.sh $(TargetCmdLine)"/> + </local> + </Mode0> + </Modes> </RunParams> <RequiredPackages Count="1"> <Item1>