]> source.dussan.org Git - xmlgraphics-fop.git/commitdiff
AHS: adding support for 'returned-by'
authorarved <arved@unknown>
Tue, 24 Jul 2001 00:57:57 +0000 (00:57 +0000)
committerarved <arved@unknown>
Tue, 24 Jul 2001 00:57:57 +0000 (00:57 +0000)
git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk@194366 13f79535-47bb-0310-9956-ffa450edef68

src/org/apache/fop/fo/flow/ListBlock.java
src/org/apache/fop/fo/flow/ListItem.java

index e7fbd4ed1e91205cc163adcd9a52f0e19c22305b..f805deef1731060755c278c675517c4db115ecf9 100644 (file)
@@ -1,52 +1,7 @@
-/*-- $Id$ --
-
- ============================================================================
-                                                                        The Apache Software License, Version 1.1
- ============================================================================
-
-               Copyright (C) 1999 The Apache Software Foundation. All rights reserved.
-
- Redistribution and use in source and binary forms, with or without modifica-
- tion, are permitted provided that the following conditions are met:
-
- 1. Redistributions of  source code must  retain the above copyright  notice,
-               this list of conditions and the following disclaimer.
-
- 2. Redistributions in binary form must reproduce the above copyright notice,
-               this list of conditions and the following disclaimer in the documentation
-               and/or other materials provided with the distribution.
-
- 3. The end-user documentation included with the redistribution, if any, must
-               include  the following  acknowledgment:  "This product includes  software
-               developed  by the  Apache Software Foundation  (http://www.apache.org/)."
-               Alternately, this  acknowledgment may  appear in the software itself,  if
-               and wherever such third-party acknowledgments normally appear.
-
- 4. The names "FOP" and  "Apache Software Foundation"  must not be used to
-               endorse  or promote  products derived  from this  software without  prior
-               written permission. For written permission, please contact
-               apache@apache.org.
-
- 5. Products  derived from this software may not  be called "Apache", nor may
-               "Apache" appear  in their name,  without prior written permission  of the
-               Apache Software Foundation.
-
- THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES,
- INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
- FITNESS  FOR A PARTICULAR  PURPOSE ARE  DISCLAIMED.  IN NO  EVENT SHALL  THE
- APACHE SOFTWARE  FOUNDATION  OR ITS CONTRIBUTORS  BE LIABLE FOR  ANY DIRECT,
- INDIRECT, INCIDENTAL, SPECIAL,  EXEMPLARY, OR CONSEQUENTIAL  DAMAGES (INCLU-
- DING, BUT NOT LIMITED TO, PROCUREMENT  OF SUBSTITUTE GOODS OR SERVICES; LOSS
- OF USE, DATA, OR  PROFITS; OR BUSINESS  INTERRUPTION)  HOWEVER CAUSED AND ON
- ANY  THEORY OF LIABILITY,  WHETHER  IN CONTRACT,  STRICT LIABILITY,  OR TORT
- (INCLUDING  NEGLIGENCE OR  OTHERWISE) ARISING IN  ANY WAY OUT OF THE  USE OF
- THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
- This software  consists of voluntary contributions made  by many individuals
- on  behalf of the Apache Software  Foundation and was  originally created by
- James Tauber <jtauber@jtauber.com>. For more  information on the Apache
- Software Foundation, please see <http://www.apache.org/>.
-
+/*-- $Id$
+ * Copyright (C) 2001 The Apache Software Foundation. All rights reserved.
+ * For details on use and redistribution please refer to the
+ * LICENSE file included with these sources.
  */
 
 package org.apache.fop.fo.flow;
@@ -136,9 +91,21 @@ public class ListBlock extends FObj {
                                }
 
                                BlockArea blockArea = new BlockArea(propMgr.getFontState(area.getFontInfo()),
-                                                                   area.getAllocationWidth(),
-                                                                                                                                                                               area.spaceLeft(), startIndent, endIndent, 0, align,
-                                                                                                                                                                               alignLast, lineHeight);
+                                       area.getAllocationWidth(),
+                                       area.spaceLeft(), startIndent, endIndent, 0, align,
+                                       alignLast, lineHeight);
+                               blockArea.generatedBy = this;
+                               this.areasGenerated++;
+                               if (this.areasGenerated == 1)
+                                       blockArea.isFirst = true;
+                               // for normal areas this should be the only pair
+                               blockArea.addLineagePair(this, this.areasGenerated);
+                               
+                               // markers
+                               if (this.hasMarkers())
+                                       blockArea.addMarkers(this.getMarkers());
+                                       
+
                                blockArea.setPage(area.getPage());
                                blockArea.setBackgroundColor(backgroundColor);
                                blockArea.start();
@@ -180,6 +147,7 @@ public class ListBlock extends FObj {
                                                area.start();
                                }
 
+                               blockArea.isLast = true;
                                return new Status(Status.OK);
                }
 
index 8cd89b0384f2fc43da6f420f07e807673184deac..6f74a6099df8ca258b020b0df1f8ff561baaba99 100644 (file)
@@ -1,52 +1,7 @@
-/*-- $Id$ --
-
- ============================================================================
-                   The Apache Software License, Version 1.1
- ============================================================================
-
-    Copyright (C) 1999 The Apache Software Foundation. All rights reserved.
-
- Redistribution and use in source and binary forms, with or without modifica-
- tion, are permitted provided that the following conditions are met:
-
- 1. Redistributions of  source code must  retain the above copyright  notice,
-    this list of conditions and the following disclaimer.
-
- 2. Redistributions in binary form must reproduce the above copyright notice,
-    this list of conditions and the following disclaimer in the documentation
-    and/or other materials provided with the distribution.
-
- 3. The end-user documentation included with the redistribution, if any, must
-    include  the following  acknowledgment:  "This product includes  software
-    developed  by the  Apache Software Foundation  (http://www.apache.org/)."
-    Alternately, this  acknowledgment may  appear in the software itself,  if
-    and wherever such third-party acknowledgments normally appear.
-
- 4. The names "FOP" and  "Apache Software Foundation"  must not be used to
-    endorse  or promote  products derived  from this  software without  prior
-    written permission. For written permission, please contact
-    apache@apache.org.
-
- 5. Products  derived from this software may not  be called "Apache", nor may
-    "Apache" appear  in their name,  without prior written permission  of the
-    Apache Software Foundation.
-
- THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES,
- INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
- FITNESS  FOR A PARTICULAR  PURPOSE ARE  DISCLAIMED.  IN NO  EVENT SHALL  THE
- APACHE SOFTWARE  FOUNDATION  OR ITS CONTRIBUTORS  BE LIABLE FOR  ANY DIRECT,
- INDIRECT, INCIDENTAL, SPECIAL,  EXEMPLARY, OR CONSEQUENTIAL  DAMAGES (INCLU-
- DING, BUT NOT LIMITED TO, PROCUREMENT  OF SUBSTITUTE GOODS OR SERVICES; LOSS
- OF USE, DATA, OR  PROFITS; OR BUSINESS  INTERRUPTION)  HOWEVER CAUSED AND ON
- ANY  THEORY OF LIABILITY,  WHETHER  IN CONTRACT,  STRICT LIABILITY,  OR TORT
- (INCLUDING  NEGLIGENCE OR  OTHERWISE) ARISING IN  ANY WAY OUT OF THE  USE OF
- THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
- This software  consists of voluntary contributions made  by many individuals
- on  behalf of the Apache Software  Foundation and was  originally created by
- James Tauber <jtauber@jtauber.com>. For more  information on the Apache
- Software Foundation, please see <http://www.apache.org/>.
-
+/*-- $Id$
+ * Copyright (C) 2001 The Apache Software Foundation. All rights reserved.
+ * For details on use and redistribution please refer to the
+ * LICENSE file included with these sources.
  */
 
 package org.apache.fop.fo.flow;
@@ -125,15 +80,26 @@ public class ListItem extends FObj {
                                                new BlockArea(propMgr.getFontState(area.getFontInfo()), area.getAllocationWidth(),
                                                                                                        area.spaceLeft(), 0, 0,
                                                                                                        0, align, alignLast, lineHeight);
+                               this.blockArea.generatedBy = this;
+                               this.areasGenerated++;
+                               if (this.areasGenerated == 1)
+                                       this.blockArea.isFirst = true;
+                               // for normal areas this should be the only pair
+                               this.blockArea.addLineagePair(this, this.areasGenerated);
+                               
+                               // markers
+                               if (this.hasMarkers())
+                                       this.blockArea.addMarkers(this.getMarkers());
+                                       
                                blockArea.setPage(area.getPage());
                                blockArea.start();
 
-        blockArea.setAbsoluteHeight(area.getAbsoluteHeight());
-        blockArea.setIDReferences(area.getIDReferences());
+                       blockArea.setAbsoluteHeight(area.getAbsoluteHeight());
+                       blockArea.setIDReferences(area.getIDReferences());
 
                                int numChildren = this.children.size();
                                if (numChildren != 2) {
-                                               throw new FOPException("list-item must have exactly two children");
+                                       throw new FOPException("list-item must have exactly two children");
                                }
                                ListItemLabel label = (ListItemLabel) children.elementAt(0);
                                ListItemBody body = (ListItemBody) children.elementAt(1);
@@ -144,13 +110,13 @@ public class ListItem extends FObj {
                                // body failed completely or only got some text in
 
                                if (this.marker == 0) {
-            // configure id
-            area.getIDReferences().configureID(id,area);
+                       // configure id
+                       area.getIDReferences().configureID(id,area);
 
-                                               status = label.layout(blockArea);
-                                               if (status.isIncomplete()) {
-                                                               return status;
-                                               }
+                                       status = label.layout(blockArea);
+                                       if (status.isIncomplete()) {
+                                                       return status;
+                                       }
                                }
 
                                status = body.layout(blockArea);
@@ -158,7 +124,7 @@ public class ListItem extends FObj {
                                                blockArea.end();
                                                area.addChild(blockArea);
                                                area.increaseHeight(blockArea.getHeight());
-            area.setAbsoluteHeight(blockArea.getAbsoluteHeight());
+                               area.setAbsoluteHeight(blockArea.getAbsoluteHeight());
                                                this.marker = 1;
                                                return status;
                                }
@@ -166,7 +132,7 @@ public class ListItem extends FObj {
                                blockArea.end();
                                area.addChild(blockArea);
                                area.increaseHeight(blockArea.getHeight());
-        area.setAbsoluteHeight(blockArea.getAbsoluteHeight());
+                       area.setAbsoluteHeight(blockArea.getAbsoluteHeight());
 
                                if (spaceAfter != 0) {
                                                area.addDisplaySpace(spaceAfter);
@@ -176,6 +142,7 @@ public class ListItem extends FObj {
                                if (area instanceof BlockArea) {
                                                area.start();
                                }
+                               this.blockArea.isLast = true;
                                return new Status(Status.OK);
     }