return null;
}
- /**
+ /**
+ * Notifies a FObj that one of it's children is removed.
+ * This method is subclassed by Block to clear the firstInlineChild variable.
+ * @param node the node that was removed
+ */
+ protected void notifyChildRemoval(FONode node) {
+ //nop
+ }
+
+ /**
* Add the marker to this formatting object.
* If this object can contain markers it checks that the marker
* has a unique class-name for this object and that it is
return;
} else {
iter.remove();
+ notifyChildRemoval(node);
}
} else {
getLogger().error("fo:marker must be an initial child: " + mcname);
/*
- * Copyright 1999-2004 The Apache Software Foundation.
+ * Copyright 1999-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.
package org.apache.fop.fo.flow;
-// Java
-import java.util.List;
-
import org.xml.sax.Locator;
import org.apache.fop.apps.FOPException;
import org.apache.fop.fo.properties.CommonRelativePosition;
import org.apache.fop.fo.properties.KeepProperty;
import org.apache.fop.fo.properties.SpaceProperty;
-import org.apache.fop.layoutmgr.BlockLayoutManager;
import org.apache.fop.util.CharUtilities;
/*
}
super.addChildNode(child);
}
+
+ /**
+ * @see org.apache.fop.fo.FObj#notifyChildRemoval(org.apache.fop.fo.FONode)
+ */
+ protected void notifyChildRemoval(FONode node) {
+ if (node != null && node == firstInlineChild) {
+ firstInlineChild = null;
+ }
+ }
private void handleWhiteSpace() {
//getLogger().debug("fo:block: handleWhiteSpace");