]> source.dussan.org Git - xmlgraphics-fop.git/commitdiff
FOP-2221: Make overflow messages easier to read and fix wrong/ missing messages;...
authorLuis Bernardo <lbernardo@apache.org>
Sat, 16 Mar 2013 00:27:00 +0000 (00:27 +0000)
committerLuis Bernardo <lbernardo@apache.org>
Sat, 16 Mar 2013 00:27:00 +0000 (00:27 +0000)
git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk@1457180 13f79535-47bb-0310-9956-ffa450edef68

src/java/org/apache/fop/layoutmgr/BlockContainerLayoutManager.java
src/java/org/apache/fop/layoutmgr/BlockLevelEventProducer.xml
src/java/org/apache/fop/layoutmgr/inline/InlineLevelEventProducer.java
src/java/org/apache/fop/layoutmgr/inline/InlineLevelEventProducer.xml
src/java/org/apache/fop/layoutmgr/inline/LineLayoutManager.java

index d20215151b5732595acbb00f17a4b50b1cc60dd1..78fd8893f3bb059425a1812046aa4aa5468ae2f1 100644 (file)
@@ -1040,6 +1040,9 @@ public class BlockContainerLayoutManager extends BlockStackingLayoutManager impl
 
     /** {@inheritDoc} */
     public boolean handleOverflow(int milliPoints) {
+        if (width.getEnum() == EN_AUTO) {
+            return false;
+        }
         if (milliPoints > this.horizontalOverflow) {
             this.horizontalOverflow = milliPoints;
         }
index d3e243a63f431ab03937b1a7f95812c70637bfa9..5431e3ec5ea203b4b7c17e0c2abdcf63691687ae 100644 (file)
@@ -22,9 +22,9 @@
   <message key="tableFixedAutoWidthNotSupported">table-layout="fixed" and width="auto", but auto-layout not supported =&gt; assuming width="100%".{{locator}}</message>
   <message key="objectTooWide">The extent in inline-progression-direction (width) of a {elementName} is bigger than the available space ({effIPD}mpt &gt; {maxIPD}mpt).{{locator}}</message>
   <message key="overconstrainedAdjustEndIndent">An {elementName} {{locator}} is wider than the available room in inline-progression-dimension. Adjusting end-indent based on overconstrained geometry rules (XSL 1.1, ch. 5.3.4)</message>
-  <message key="viewportIPDOverflow">Content overflows the viewport of an {elementName} in inline-progression direction by {amount} millipoints.{clip,if, Content will be clipped.}{{locator}}</message>
-  <message key="viewportBPDOverflow">Content overflows the viewport of an {elementName} in block-progression direction by {amount} millipoints.{clip,if, Content will be clipped.}{{locator}}</message>
-  <message key="regionOverflow">Content overflows the viewport of the {elementName} on page {page} in block-progression direction by {amount} millipoints.{clip,if, Content will be clipped.}{{locator}}</message>
+  <message key="viewportIPDOverflow">The contents of {elementName} exceed its 'width' value by {amount} millipoints.{clip,if, Content will be clipped.}{{locator}}</message>
+  <message key="viewportBPDOverflow">The contents of {elementName} exceed its 'height' value by {amount} millipoints.{clip,if, Content will be clipped.}{{locator}}</message>
+  <message key="regionOverflow">The contents of {elementName} on page {page} exceed its 'extent' value by {amount} millipoints.{clip,if, Content will be clipped.}{{locator}}</message>
   <message key="flowNotMappingToRegionBody">Flow "{flowName}" does not map to the region-body in page-master "{masterName}". FOP presently does not support this.{{locator}}</message>
   <message key="pageSequenceMasterExhausted">Subsequences exhausted in page-sequence-master "{pageSequenceMasterName}", {canRecover,if,using previous subsequence,cannot recover}.{{locator}}</message>
   <message key="missingSubsequencesInPageSequenceMaster">No subsequences in page-sequence-master "{pageSequenceMasterName}".{{locator}}</message>
index f286fbf6c24ad238bc5fb6f36988cbead37dbeb7..15284ae0abb9bea82b265c408d9b284645d60e62 100644 (file)
@@ -59,11 +59,12 @@ public interface InlineLevelEventProducer extends EventProducer {
     /**
      * A line overflows.
      * @param source the event source
+     * @param elementName the formatting object
      * @param line the number number
      * @param overflowLength the length by which the content overflows the available space (in mpt)
      * @param loc the location of the error or null
      * @event.severity WARN
      */
-    void lineOverflows(Object source, int line, int overflowLength, Locator loc);
+    void lineOverflows(Object source, String elementName, int line, int overflowLength, Locator loc);
 
 }
index 2e3ea6eb87421fb28d3e16328d13135a840cf817..c7c6ee3d76ea9a7c9b4331d45792bd32c280b24b 100644 (file)
@@ -19,5 +19,5 @@
 <catalogue xml:lang="en">
   <message key="locator">[ (See position {loc})| (See {#gatherContextInfo})| (No context info available)]</message>
   <message key="leaderWithoutContent">fo:leader is set to "use-content" but has no content.{{locator}}</message>
-  <message key="lineOverflows">Line {line} of a paragraph overflows the available area by {overflowLength,choice,50000#{overflowLength} millipoints|50000&lt;more than 50 points}.{{locator}}</message>
+  <message key="lineOverflows">The contents of {elementName} line {line} exceeds the available area by {overflowLength,choice,50000#{overflowLength} millipoints|50000&lt;more than 50 points}.{{locator}}</message>
 </catalogue>
index a361d3415c23cc31223a38eeb60bb65370e0a9c2..6623b6319a91336914b8202ea6cae4a8f7f29994 100644 (file)
@@ -397,8 +397,13 @@ public class LineLayoutManager extends InlineStackingLayoutManager
                     InlineLevelEventProducer eventProducer
                         = InlineLevelEventProducer.Provider.get(
                             getFObj().getUserAgent().getEventBroadcaster());
-                    eventProducer.lineOverflows(this, bestActiveNode.line,
-                            -lack, getFObj().getLocator());
+                    if (curChildLM.getFObj() == null) {
+                        eventProducer.lineOverflows(this, getFObj().getName(), bestActiveNode.line,
+                                -lack, getFObj().getLocator());
+                    } else {
+                        eventProducer.lineOverflows(this, curChildLM.getFObj().getName(), bestActiveNode.line,
+                            -lack, curChildLM.getFObj().getLocator());
+                    }
                 }
             }