From 655ac8ba9dd5fe781c2358051694311bbf21092a Mon Sep 17 00:00:00 2001 From: Simon Steiner Date: Tue, 15 Dec 2020 13:47:13 +0000 Subject: FOP-2990: Changing ipd doesn't handle table narrowing git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk@1884463 13f79535-47bb-0310-9956-ffa450edef68 --- .../fop/layoutmgr/table/TableLayoutManager.java | 5 +- .../standard-testcases/flow_changing-ipd_table.xml | 163 +++++++++++++++++++++ 2 files changed, 167 insertions(+), 1 deletion(-) create mode 100644 fop/test/layoutengine/standard-testcases/flow_changing-ipd_table.xml diff --git a/fop-core/src/main/java/org/apache/fop/layoutmgr/table/TableLayoutManager.java b/fop-core/src/main/java/org/apache/fop/layoutmgr/table/TableLayoutManager.java index 333419649..453f169e1 100644 --- a/fop-core/src/main/java/org/apache/fop/layoutmgr/table/TableLayoutManager.java +++ b/fop-core/src/main/java/org/apache/fop/layoutmgr/table/TableLayoutManager.java @@ -79,6 +79,7 @@ public class TableLayoutManager extends SpacedBorderedPaddedBlockLayoutManager private Block curBlockArea; private double tableUnit; + private double oldTableUnit; private boolean autoLayout = true; private int halfBorderSeparationBPD; @@ -241,7 +242,8 @@ public class TableLayoutManager extends SpacedBorderedPaddedBlockLayoutManager * for proportional-column-width() */ if (tableUnit == 0.0) { - this.tableUnit = columns.computeTableUnit(this); + tableUnit = columns.computeTableUnit(this); + tableUnit = Math.max(tableUnit, oldTableUnit); } if (!firstVisibleMarkServed) { @@ -531,6 +533,7 @@ public class TableLayoutManager extends SpacedBorderedPaddedBlockLayoutManager public void reset() { super.reset(); curBlockArea = null; + oldTableUnit = tableUnit; tableUnit = 0.0; } diff --git a/fop/test/layoutengine/standard-testcases/flow_changing-ipd_table.xml b/fop/test/layoutengine/standard-testcases/flow_changing-ipd_table.xml new file mode 100644 index 000000000..37b8840bc --- /dev/null +++ b/fop/test/layoutengine/standard-testcases/flow_changing-ipd_table.xml @@ -0,0 +1,163 @@ + + + + + +

+ This test checks that a table immediately following a changing IPD break is handled properly. +

+
+ + + + + + + + + + + + + + + + + + + + test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test + + médicalement nécessaires pris en charge qui sont déterminés par l’équipe médicale, conformément aux Directives cliniques internationales, comme étant : + + + + + + + + + + + + a + + + + + + nécessaires pour diagnostiquer ou traiter une maladie, une blessure ou leurs symptômes ; + + + + + + + + a + + + + + + orthodoxes et conformes aux standards de pratique médicale généralement acceptés ; + + + + + + + + a + + + + + + cliniquement appropriés en matière de type, fréquence, étendue, site et durée ; + + + + + + + + a + + + + + + non destinés principalement à la commodité de l’assuré, du médecin, de l’hôpital, de la clinique ou d’un praticien ; et + + + + + + + + a + + + + + + dispensés dans les posologies les moins intenses appropriées pour la délivrance des services et des fournitures. + + + + + + + + + Quand cela est applicable, l’équipe médicale pourra comparer le rapport coût-efficacité d’autres services, posologies ou fournitures pour déterminer le meilleur. + + + + + Pays de nationalité : pays dont un assuré est un ressortissant, un citoyen ou un sujet, comme indiqué dans votre souscription. + + + + + Pays de résidence habituelle : pays dans lequel un assuré réside habituellement, comme indiqué dans votre souscription. + + + + + Praticien : médecin ou spécialiste qui est enregistré ou habilité à pratiquer la médecine conformément aux lois du pays, de l’état ou d’une autre zone réglementée dans lesquels le traitement est dispensé, et qui n’est pas couvert par le présent contrat ou un membre de la famille de quelqu’un couvert par le présent contrat. + + + + + Preneur d’assurance : une personne âgée de 18 ans ou plus qui a fait une demande de souscription auprès de nous ayant été acceptée par écrit par nous et qui paie la prime du contrat. + + + + + Prothèse(s) : un membre artificiel ou outil nécessaire aux fins de, ou en lien avec une intervention chirurgicale, ou dans le cadre du traitement suivant immédiatement une intervention chirurgicale aussi longtemps que cela est médicalement nécessaire, ou qui est médicalement nécessaire + + + + + + + + +
-- cgit v1.2.3