]> source.dussan.org Git - xmlgraphics-fop.git/commitdiff
Bugfix: TableCell did not properly report that it generates reference-areas which...
authorJeremias Maerki <jeremias@apache.org>
Tue, 3 Jan 2006 17:35:23 +0000 (17:35 +0000)
committerJeremias Maerki <jeremias@apache.org>
Tue, 3 Jan 2006 17:35:23 +0000 (17:35 +0000)
git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk@365689 13f79535-47bb-0310-9956-ffa450edef68

src/java/org/apache/fop/fo/flow/TableCell.java
status.xml
test/fotree/testcases/indent-inheritance3a.fo [new file with mode: 0644]

index 5c20982bb9785467506ac04ecf4a74089757756d..e11564a32e0f24b9a939cee4ded9f7e62a1bbc53 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright 1999-2005 The Apache Software Foundation.
+ * Copyright 1999-2006 The Apache Software Foundation.
  * 
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -24,7 +24,6 @@ import org.apache.fop.apps.FOPException;
 import org.apache.fop.datatypes.Length;
 import org.apache.fop.datatypes.Numeric;
 import org.apache.fop.fo.FONode;
-import org.apache.fop.fo.FObj;
 import org.apache.fop.fo.PropertyList;
 import org.apache.fop.fo.ValidationException;
 import org.apache.fop.fo.properties.CommonAccessibility;
@@ -201,6 +200,11 @@ public class TableCell extends TableFObj {
         }
     }
 
+    /** @see org.apache.fop.fo.FObj#generatesReferenceAreas() */
+    public boolean generatesReferenceAreas() {
+        return true;
+    }
+
     /**
      * Set position relative to table (set by body?)
      * 
index 41c1e55b72679476ac0540d0cbbd716fe61a91c4..2c9bad19a6bc80f357e67240909608a56e102c96 100644 (file)
 
   <changes>
     <release version="FOP Trunk">
+      <action context="Code" dev="JM" type="fix">
+        Bugfix: TableCell did not properly report that it generates reference-areas
+        which could lead to wrong inherited values for start-indent and end-indent.
+      </action>
       <action context="Code" dev="JM" type="add">
         The font loading code now reads the encoding value from the XML font metrics file
         so that fonts like Symbol and ZapfDingbats can be embedded explicitely (Required by PDF/A).
diff --git a/test/fotree/testcases/indent-inheritance3a.fo b/test/fotree/testcases/indent-inheritance3a.fo
new file mode 100644 (file)
index 0000000..6e613ed
--- /dev/null
@@ -0,0 +1,110 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Copyright 2005 The Apache Software Foundation
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<!-- $Id$ -->
+<!-- This test verifies basic start-indent and end-indent inheritance with broken indent inheritance enabled. -->
+<?fop-useragent-break-indent-inheritance true?>
+<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format" xmlns:test="http://xmlgraphics.apache.org/fop/test">
+  <fo:layout-master-set>
+    <fo:simple-page-master master-name="a4" page-width="21cm" page-height="29.7cm" margin="2cm">
+      <fo:region-body background-color="gray"/>
+    </fo:simple-page-master>
+  </fo:layout-master-set>
+  <fo:page-sequence master-reference="a4">
+    <fo:flow flow-name="xsl-region-body">
+      <fo:block margin-right="55pt" margin-left="10pt">
+        <test:assert property="start-indent" expected="10000mpt"/>
+        <test:assert property="end-indent" expected="55000mpt"/>
+        <fo:table table-layout="fixed" width="100%">
+          <test:assert property="start-indent" expected="10000mpt"/>
+          <test:assert property="end-indent" expected="55000mpt"/>
+          <fo:table-column column-width="proportional-column-width(1)"/>
+          <fo:table-body>
+            <fo:table-row>
+              <fo:table-cell background-color="yellow">
+                <fo:block>
+                  <test:assert property="start-indent" expected="0mpt"/>
+                  <test:assert property="end-indent" expected="0mpt"/>
+                  margin-left unchanged
+                </fo:block>
+              </fo:table-cell>
+            </fo:table-row>
+          </fo:table-body>
+        </fo:table>
+      </fo:block>
+      <fo:block margin-right="55pt" margin-left="10pt">
+        <test:assert property="start-indent" expected="10000mpt"/>
+        <test:assert property="end-indent" expected="55000mpt"/>
+        <fo:table table-layout="fixed" width="100%" start-indent="0pt" end-indent="0pt">
+          <test:assert property="start-indent" expected="0mpt"/>
+          <test:assert property="end-indent" expected="0mpt"/>
+          <fo:table-column column-width="proportional-column-width(1)"/>
+          <fo:table-body>
+            <fo:table-row>
+              <fo:table-cell>
+                <fo:block>
+                  <test:assert property="start-indent" expected="0mpt"/>
+                  <test:assert property="end-indent" expected="0mpt"/>
+                  margin-left, reset on table
+                </fo:block>
+              </fo:table-cell>
+            </fo:table-row>
+          </fo:table-body>
+        </fo:table>
+      </fo:block>
+      <fo:block margin-right="55pt" margin-left="10pt">
+        <test:assert property="start-indent" expected="10000mpt"/>
+        <test:assert property="end-indent" expected="55000mpt"/>
+        <fo:table table-layout="fixed" width="100%">
+          <test:assert property="start-indent" expected="10000mpt"/>
+          <test:assert property="end-indent" expected="55000mpt"/>
+          <fo:table-column column-width="proportional-column-width(1)"/>
+          <fo:table-body start-indent="0pt" end-indent="0pt">
+            <fo:table-row>
+              <fo:table-cell>
+                <fo:block>
+                  <test:assert property="start-indent" expected="0mpt"/>
+                  <test:assert property="end-indent" expected="0mpt"/>
+                  margin-left, reset on body
+                </fo:block>
+              </fo:table-cell>
+            </fo:table-row>
+          </fo:table-body>
+        </fo:table>
+      </fo:block>
+      <fo:block end-indent="55pt" start-indent="10pt">
+        <test:assert property="start-indent" expected="10000mpt"/>
+        <test:assert property="end-indent" expected="55000mpt"/>
+        <fo:table table-layout="fixed" width="100%">
+          <test:assert property="start-indent" expected="10000mpt"/>
+          <test:assert property="end-indent" expected="55000mpt"/>
+          <fo:table-column column-width="proportional-column-width(1)"/>
+          <fo:table-body>
+            <fo:table-row>
+              <fo:table-cell>
+                <fo:block>
+                  <test:assert property="start-indent" expected="10000mpt"/>
+                  <test:assert property="end-indent" expected="55000mpt"/>
+                  start-indent unchanged
+                </fo:block>
+              </fo:table-cell>
+            </fo:table-row>
+          </fo:table-body>
+        </fo:table>
+      </fo:block>
+    </fo:flow>
+  </fo:page-sequence>
+</fo:root>