-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Hi all,
Back from holiday, and just started work on the collapsing border model
(something I discussed thoroughly with Jeremias a while ago --don't
worry, I'm not going to start all over :-) ) Let me just say that,
where earlier on I didn't have a clear idea on what needed to be done
code-wise, right now I'm pretty confident that I will be able to offer
a patch-proposal very soon...
Note that, although it will mean that part of the border-collapsing
logic will move to the FOTree, I'm still convinced this will make the
related code in layout much easier to follow --but to get the FULL
picture, potential devs will need to look at both the FOTree AND the
LayoutManagers.
On to the topic then: while I'm at it, I would also like to try and
implement the border-precedence properties (and ultimately also
collapse-with-precedence), and have the following questions/remarks
about this:
* What would be the correct property type to use? So far my working
hypothesis is 'EnumNumber', since the value can be an enum (=force), as
well as any integer value. Correct assumption?
+ Another question concerning the possible value of 'inherit': does it
suffice to have Maker.setInherited() set the flag to true (in
FOProperyMapping)?
* Another issue may be that those properties' default values depend on
the type of object they are bound to. The most straightforward way of
dealing with this seems to be to defer determining the actual default
value until the respective FObj's bind() methods...
Does this sound OK, or does anyone see a better way? I know every
PropertyList holds a reference to its parent FObj, but checking the
runtime-type of that FObj for each of the individual PropertyLists
seems a rather cumbersome approach. I somehow feel it would be tidier
if we use the FObj class hierarchy here, and let each subclass decide
for itself what default value to assign if the value is "none" at that
point ("none" = the default that is set in FOPropertyMapping)
* In the table objects' bind() methods, I was thinking of reading these
from the property list into a small array, where the indices correspond
to constant values for the four sides --the ones defined in
CommonBorderPaddingBackground?--, so that layout can conveniently
access the precedence values through a method like:
public int getBorderPrecedence(int side) {
return borderPrecedence[side];
}
Comments/suggestions welcome.
That's it for now.
Cheers,
Andreas
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.1 (Darwin)
iD8DBQFDC3KDyHTbFO9b8aARAmpNAKCfwZklGAdD5/vvXmEV0vnbJBsspQCfWlbj
oeGfci96Y9WBEgH6bzpo7A0=
=CsfB
-----END PGP SIGNATURE-----