Browse Source

* Merging revisions r43627,r43630 from trunk:
------------------------------------------------------------------------
r43627 | michael | 2019-12-02 22:42:32 +0100 (Mon, 02 Dec 2019) | 1 line

* Patch from Klaus ([email protected]) to read/write columncount/columngap
------------------------------------------------------------------------
r43630 | michael | 2019-12-03 00:00:11 +0100 (Tue, 03 Dec 2019) | 1 line

* Enable compilation for Win64 bit
------------------------------------------------------------------------

git-svn-id: branches/fixes_3_2@43632 -

michael 5 years ago
parent
commit
12e34bcef5

+ 1 - 1
packages/fcl-report/fpmake.pp

@@ -31,7 +31,7 @@ begin
     P.Email := '';
     P.Email := '';
     P.Description := 'GUI-independent Reporting Engine';
     P.Description := 'GUI-independent Reporting Engine';
     P.NeedLibC:= false;
     P.NeedLibC:= false;
-    P.OSes:=[linux, win32, darwin, freebsd];
+    P.OSes:=[linux, win32, win64, darwin, freebsd];
     P.SourcePath.Add('src');
     P.SourcePath.Add('src');
 {$IFDEF VER2_6}    
 {$IFDEF VER2_6}    
     T:=P.Targets.AddUnit('fprepexprpars.pp');
     T:=P.Targets.AddUnit('fprepexprpars.pp');

+ 16 - 0
packages/fcl-report/src/fpreport.pp

@@ -2588,6 +2588,16 @@ begin
   Result := TFPPenStyle(GetEnumValue(TypeInfo(TFPPenStyle), AName));
   Result := TFPPenStyle(GetEnumValue(TypeInfo(TFPPenStyle), AName));
 end;
 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;
 function OrientationToString(AEnum: TFPReportOrientation): string; inline;
 begin
 begin
   result := GetEnumName(TypeInfo(TFPReportOrientation), Ord(AEnum));
   result := GetEnumName(TypeInfo(TFPReportOrientation), Ord(AEnum));
@@ -7682,6 +7692,9 @@ procedure TFPReportCustomPage.ReadElement(AReader: TFPReportStreamer);
 var
 var
   E: TObject;
   E: TObject;
 begin
 begin
+  ColumnCount := AReader.ReadInteger('ColumnCount', 1);
+  ColumnGap := AReader.ReadFloat('ColumnGap', 0);
+  ColumnLayout := StringToColumnLayout(AReader.ReadString('ColumnLayout', 'clVertical'));
   Orientation := StringToPaperOrientation(AReader.ReadString('Orientation', 'poPortrait'));
   Orientation := StringToPaperOrientation(AReader.ReadString('Orientation', 'poPortrait'));
   Pagesize.PaperName := AReader.ReadString('PageSize.PaperName', 'A4');
   Pagesize.PaperName := AReader.ReadString('PageSize.PaperName', 'A4');
   Pagesize.Width := AReader.ReadFloat('PageSize.Width', 210);
   Pagesize.Width := AReader.ReadFloat('PageSize.Width', 210);
@@ -7820,6 +7833,9 @@ end;
 procedure TFPReportCustomPage.DoWriteLocalProperties(AWriter: TFPReportStreamer; AOriginal: TFPReportElement);
 procedure TFPReportCustomPage.DoWriteLocalProperties(AWriter: TFPReportStreamer; AOriginal: TFPReportElement);
 begin
 begin
   inherited DoWriteLocalProperties(AWriter, AOriginal);
   inherited DoWriteLocalProperties(AWriter, AOriginal);
+  AWriter.WriteFloat('ColumnCount', ColumnCount);
+  AWriter.WriteFloat('ColumnGap', ColumnGap);
+  AWriter.WriteString('ColumnLayout', ColumnLayoutToString(ColumnLayout));
   AWriter.WriteString('Orientation', PaperOrientationToString(Orientation));
   AWriter.WriteString('Orientation', PaperOrientationToString(Orientation));
   AWriter.WriteString('PageSize.PaperName', PageSize.PaperName);
   AWriter.WriteString('PageSize.PaperName', PageSize.PaperName);
   AWriter.WriteFloat('PageSize.Width', PageSize.Width);
   AWriter.WriteFloat('PageSize.Width', PageSize.Width);

+ 13 - 8
packages/fcl-report/test/testfpreport.lpi

@@ -1,13 +1,13 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <?xml version="1.0" encoding="UTF-8"?>
 <CONFIG>
 <CONFIG>
   <ProjectOptions>
   <ProjectOptions>
-    <Version Value="10"/>
+    <Version Value="12"/>
     <General>
     <General>
       <Flags>
       <Flags>
         <LRSInOutputDirectory Value="False"/>
         <LRSInOutputDirectory Value="False"/>
+        <CompatibilityMode Value="True"/>
       </Flags>
       </Flags>
       <SessionStorage Value="InIDEConfig"/>
       <SessionStorage Value="InIDEConfig"/>
-      <MainUnit Value="0"/>
       <Title Value="testfpreport"/>
       <Title Value="testfpreport"/>
     </General>
     </General>
     <VersionInfo>
     <VersionInfo>
@@ -25,16 +25,21 @@
     </BuildModes>
     </BuildModes>
     <PublishOptions>
     <PublishOptions>
       <Version Value="2"/>
       <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>
     </PublishOptions>
     <RunParams>
     <RunParams>
       <local>
       <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 &apos;Lazarus Run Output&apos; -e $(LazarusDir)/tools/runwait.sh $(TargetCmdLine)"/>
       </local>
       </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 &apos;Lazarus Run Output&apos; -e $(LazarusDir)/tools/runwait.sh $(TargetCmdLine)"/>
+          </local>
+        </Mode0>
+      </Modes>
     </RunParams>
     </RunParams>
     <RequiredPackages Count="1">
     <RequiredPackages Count="1">
       <Item1>
       <Item1>