ソースを参照

* Patch from Klaus ([email protected]) to read/write columncount/columngap

git-svn-id: trunk@43627 -
michael 5 年 前
コミット
b86b2f1b80

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

@@ -2600,6 +2600,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));
@@ -7727,6 +7737,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);
@@ -7865,6 +7878,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);

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

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