Team,

While I'm implementing the validateChildNode()
methods, I would also like to work on removing the
AddLMVisitor visitor pattern[1], and revert to our
previous method of having the FO's themselves setup
the LayoutManagers via addLayoutManager().  (See here
[2][3][4] for examples of the previous way of a year
ago.)  

I believe this change will help make the fundamental
relations between the AreaTreeHandler, the formatting
objects, and the layout managers a bit easier to see,
and will hopefully lead to making layout less complex.
 (Architecturally, I'm also not too pleased with the
large amount of FO- and LM-specific business logic
that AddLMVisitor ends up needing to retain.)

We haven't had any demand yet for the visitor pattern,
and we can always place it in later if needed after
the FO/Layout business logic has been better
determined.  Any objections?

Thanks,
Glen


[1]
http://cvs.apache.org/viewcvs.cgi/xml-fop/src/java/org/apache/fop/layoutmgr/AddLMVisitor.java?rev=1.44&view=auto

[2]
http://cvs.apache.org/viewcvs.cgi/xml-fop/src/java/org/apache/fop/fo/flow/InstreamForeignObject.java?annotate=1.4#93

[3]
http://cvs.apache.org/viewcvs.cgi/xml-fop/src/java/org/apache/fop/fo/flow/ExternalGraphic.java?annotate=1.3#110

[4]
http://cvs.apache.org/viewcvs.cgi/xml-fop/src/java/org/apache/fop/fo/flow/PageNumber.java?annotate=1.8#114

Reply via email to