Keiron Liddle wrote: > Of course, but how can we make it understandable.
The problems I had - I was not able to follow the control flow. Too many classes/instances involved in even a few lines of code, too many indirections through custom iterators. I had to insert a few dumpStack(), which I did only once before (in Excalibur of course). - Too many classes in general. - Deep inheritance trees. - Parallel object/inheritance trees. - The state of some important objects is smeared across classes in the inheritance tree as well as auxillary classes. - Inconsistent and in some cases plainly misleading packages. - A few misleading comments. - Distracting style issues. Some hints to possibly improve it: - Will layout managers ever be about something else that break possibilities? If not, discard the BPLayoutManager and the AbstractBPLayoutManager from the hierarchy. (Otherwise, why is LeafNodeLayoutManager not directly derived from AbstractLayoutManager?) - Will positions ever be used to indicate something else that break possiblities? If not, use BreakPoss and LeafBreakPoss and NonLeafBreakPoss instead. This way it should also be possible to get rid of BreakPossPosIterator. - In general, encapsulate iterators otherwise, at least do not use them in method signatures as parameters. - Do something about the responsibilities of StructureHandler, AreaTree and Renderer. - In general, don't be too greedy and derive a class from another to inherit a few short methods. Dont overuse inheritance for code reuse. - Make methods abstract if they are abstract instead of providing an empty implementation (resetPosition() in particular). >>I took a stab at the static content layout and ... ..it does not work, because BlockLayoutManager inherits the no-op implementation of resetPosition() from Abstract...whatever...LayoutManager. Therefore, the block(s) in the static content are never reset, and the content is only printed on the first page :-( This should be easy to fix for you. >>Actually, how is "unlimited" expressed in MinOptMax terms? > I could imagine that it might adjust to the size of the region. So if > larger it uses min value etc. Static content is laid out after the main flow, so the page viewport should already have been adjusted to the real page if necessary. J.Pietschmann --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED]