Author: gadams
Date: Tue Apr 17 19:49:33 2012
New Revision: 1327244
URL: http://svn.apache.org/viewvc?rev=1327244&view=rev
Log:
Bugzilla #53097: Ensure writing-mode specified on fo:table is used to determine
writing mode of table and its descendants.
Added:
xmlgraphics/fop/trunk/test/layoutengine/standard-testcases/table-column_column-progression-rl_1.xml
- copied, changed from r1327157,
xmlgraphics/fop/trunk/test/layoutengine/standard-testcases/table-column_column-progression-rl.xml
xmlgraphics/fop/trunk/test/layoutengine/standard-testcases/table-column_column-progression-rl_2.xml
- copied, changed from r1327157,
xmlgraphics/fop/trunk/test/layoutengine/standard-testcases/table-column_column-progression-rl.xml
Removed:
xmlgraphics/fop/trunk/test/layoutengine/standard-testcases/table-column_column-progression-rl.xml
Modified:
xmlgraphics/fop/trunk/src/java/org/apache/fop/fo/flow/table/Table.java
xmlgraphics/fop/trunk/status.xml
xmlgraphics/fop/trunk/test/java/org/apache/fop/fo/properties/PropertyListMocks.java
Modified: xmlgraphics/fop/trunk/src/java/org/apache/fop/fo/flow/table/Table.java
URL:
http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/src/java/org/apache/fop/fo/flow/table/Table.java?rev=1327244&r1=1327243&r2=1327244&view=diff
==============================================================================
--- xmlgraphics/fop/trunk/src/java/org/apache/fop/fo/flow/table/Table.java
(original)
+++ xmlgraphics/fop/trunk/src/java/org/apache/fop/fo/flow/table/Table.java Tue
Apr 17 19:49:33 2012
@@ -40,12 +40,16 @@ import org.apache.fop.fo.properties.Keep
import org.apache.fop.fo.properties.LengthPairProperty;
import org.apache.fop.fo.properties.LengthRangeProperty;
import org.apache.fop.fo.properties.TableColLength;
+import org.apache.fop.traits.Direction;
+import org.apache.fop.traits.WritingMode;
+import org.apache.fop.traits.WritingModeTraits;
+import org.apache.fop.traits.WritingModeTraitsGetter;
/**
* Class modelling the <a href="http://www.w3.org/TR/xsl/#fo_table">
* <code>fo:table</code></a> object.
*/
-public class Table extends TableFObj implements ColumnNumberManagerHolder,
BreakPropertySet,
+public class Table extends TableFObj implements ColumnNumberManagerHolder,
BreakPropertySet, WritingModeTraitsGetter,
CommonAccessibilityHolder {
// The value of FO traits (refined properties) that apply to fo:table.
@@ -64,7 +68,7 @@ public class Table extends TableFObj imp
private int tableLayout;
private int tableOmitFooterAtBreak;
private int tableOmitHeaderAtBreak;
- private int writingMode;
+ private WritingModeTraits writingModeTraits;
// Unused but valid items, commented out for performance:
// private CommonAural commonAural;
// private CommonRelativePosition commonRelativePosition;
@@ -131,7 +135,8 @@ public class Table extends TableFObj imp
tableLayout = pList.get(PR_TABLE_LAYOUT).getEnum();
tableOmitFooterAtBreak =
pList.get(PR_TABLE_OMIT_FOOTER_AT_BREAK).getEnum();
tableOmitHeaderAtBreak =
pList.get(PR_TABLE_OMIT_HEADER_AT_BREAK).getEnum();
- writingMode = pList.get(PR_WRITING_MODE).getEnum();
+ writingModeTraits = new WritingModeTraits
+ ( WritingMode.valueOf(pList.get(PR_WRITING_MODE).getEnum()) );
//Bind extension properties
widowContentLimit = pList.get(PR_X_WIDOW_CONTENT_LIMIT).getLength();
@@ -516,9 +521,34 @@ public class Table extends TableFObj imp
return borderSeparation;
}
- /** @return the "writing-mode" FO trait */
- public int getWritingMode() {
- return writingMode;
+ /** {@inheritDoc} */
+ public Direction getInlineProgressionDirection() {
+ return writingModeTraits.getInlineProgressionDirection();
+ }
+
+ /** {@inheritDoc} */
+ public Direction getBlockProgressionDirection() {
+ return writingModeTraits.getBlockProgressionDirection();
+ }
+
+ /** {@inheritDoc} */
+ public Direction getColumnProgressionDirection() {
+ return writingModeTraits.getColumnProgressionDirection();
+ }
+
+ /** {@inheritDoc} */
+ public Direction getRowProgressionDirection() {
+ return writingModeTraits.getRowProgressionDirection();
+ }
+
+ /** {@inheritDoc} */
+ public Direction getShiftDirection() {
+ return writingModeTraits.getShiftDirection();
+ }
+
+ /** {@inheritDoc} */
+ public WritingMode getWritingMode() {
+ return writingModeTraits.getWritingMode();
}
/** @return the "fox:widow-content-limit" extension FO trait */
Modified: xmlgraphics/fop/trunk/status.xml
URL:
http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/status.xml?rev=1327244&r1=1327243&r2=1327244&view=diff
==============================================================================
--- xmlgraphics/fop/trunk/status.xml (original)
+++ xmlgraphics/fop/trunk/status.xml Tue Apr 17 19:49:33 2012
@@ -62,7 +62,10 @@
documents. Example: the fix of marks layering will be such a case when
it's done.
-->
<release version="FOP Trunk" date="TBD">
- <action context="Code" dev="GA" type="update" fixes-bug="53094"
due-to="Luis Bernardo">
+ <action context="Code" dev="GA" type="fix" fixes-bug="53097">
+ Ensure writing-mode specified on fo:table is used to determine writing
mode of table and its descendants.
+ </action>
+ <action context="Code" dev="GA" type="fix" fixes-bug="53094"
due-to="Luis Bernardo">
Convert block container overflow exception to event model, improving
overflow property behavior.
</action>
<action context="Code" dev="GA" type="update" fixes-bug="51617">
Modified:
xmlgraphics/fop/trunk/test/java/org/apache/fop/fo/properties/PropertyListMocks.java
URL:
http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/test/java/org/apache/fop/fo/properties/PropertyListMocks.java?rev=1327244&r1=1327243&r2=1327244&view=diff
==============================================================================
---
xmlgraphics/fop/trunk/test/java/org/apache/fop/fo/properties/PropertyListMocks.java
(original)
+++
xmlgraphics/fop/trunk/test/java/org/apache/fop/fo/properties/PropertyListMocks.java
Tue Apr 17 19:49:33 2012
@@ -69,6 +69,10 @@ public final class PropertyListMocks {
final Property borderCollapseProperty = mock(Property.class);
when(borderCollapseProperty.getEnum()).thenReturn(Constants.EN_SEPARATE);
when(mockPList.get(Constants.PR_BORDER_COLLAPSE)).thenReturn(borderCollapseProperty);
+
+ final Property writingModeProperty = mock(Property.class);
+ when(writingModeProperty.getEnum()).thenReturn(Constants.EN_LR_TB);
+
when(mockPList.get(Constants.PR_WRITING_MODE)).thenReturn(writingModeProperty);
} catch (PropertyException e) {
throw new RuntimeException(e);
}
Copied:
xmlgraphics/fop/trunk/test/layoutengine/standard-testcases/table-column_column-progression-rl_1.xml
(from r1327157,
xmlgraphics/fop/trunk/test/layoutengine/standard-testcases/table-column_column-progression-rl.xml)
URL:
http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/test/layoutengine/standard-testcases/table-column_column-progression-rl_1.xml?p2=xmlgraphics/fop/trunk/test/layoutengine/standard-testcases/table-column_column-progression-rl_1.xml&p1=xmlgraphics/fop/trunk/test/layoutengine/standard-testcases/table-column_column-progression-rl.xml&r1=1327157&r2=1327244&rev=1327244&view=diff
==============================================================================
---
xmlgraphics/fop/trunk/test/layoutengine/standard-testcases/table-column_column-progression-rl.xml
(original)
+++
xmlgraphics/fop/trunk/test/layoutengine/standard-testcases/table-column_column-progression-rl_1.xml
Tue Apr 17 19:49:33 2012
@@ -19,9 +19,10 @@
<testcase>
<info>
<p>
- This test checks table column progression with right-to-left writing
mode. The first column
- should be to the right of the second column; the second column should be
to the right of the
- third column. The columns should be colored red, yellow, orange from
right to left.
+ This test checks table column progression with right-to-left writing
mode when writing-mode
+ is specified on fo:page-sequence. The first column should be to the
right of the second column; the
+ second column should be to the right of the third column. The columns
should be colored red,
+ yellow, orange from right to left.
</p>
</info>
<fo>
Copied:
xmlgraphics/fop/trunk/test/layoutengine/standard-testcases/table-column_column-progression-rl_2.xml
(from r1327157,
xmlgraphics/fop/trunk/test/layoutengine/standard-testcases/table-column_column-progression-rl.xml)
URL:
http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/test/layoutengine/standard-testcases/table-column_column-progression-rl_2.xml?p2=xmlgraphics/fop/trunk/test/layoutengine/standard-testcases/table-column_column-progression-rl_2.xml&p1=xmlgraphics/fop/trunk/test/layoutengine/standard-testcases/table-column_column-progression-rl.xml&r1=1327157&r2=1327244&rev=1327244&view=diff
==============================================================================
---
xmlgraphics/fop/trunk/test/layoutengine/standard-testcases/table-column_column-progression-rl.xml
(original)
+++
xmlgraphics/fop/trunk/test/layoutengine/standard-testcases/table-column_column-progression-rl_2.xml
Tue Apr 17 19:49:33 2012
@@ -19,9 +19,10 @@
<testcase>
<info>
<p>
- This test checks table column progression with right-to-left writing
mode. The first column
- should be to the right of the second column; the second column should be
to the right of the
- third column. The columns should be colored red, yellow, orange from
right to left.
+ This test checks table column progression with right-to-left writing
mode when writing-mode
+ is specified on fo:table. The first column should be to the right of the
second column; the
+ second column should be to the right of the third column. The columns
should be colored red,
+ yellow, orange from right to left.
</p>
</info>
<fo>
@@ -31,9 +32,9 @@
<fo:region-body/>
</fo:simple-page-master>
</fo:layout-master-set>
- <fo:page-sequence master-reference="normal" writing-mode="rl">
+ <fo:page-sequence master-reference="normal">
<fo:flow flow-name="xsl-region-body">
- <fo:table table-layout="fixed" width="100%">
+ <fo:table table-layout="fixed" width="100%" writing-mode="rl">
<fo:table-column column-width="1in" background-color="red"/>
<fo:table-column column-width="1in" background-color="yellow"/>
<fo:table-column column-width="2in" background-color="orange"/>
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]