That's done :)
Rami Ojares / AMG Oy wrote:
Just remember that Henry still needs to implement mixins for instances.
Or is that already done?
- rami
Max Carlson wrote:
Agreed! A mixin is the way to go. I'll fix up the change, now that
the riskier version has been backed out.
Rami Ojares / AMG Oy wrote:
I am currently so in love with the mixins that I recommend that approach
<view with="boxmodel" padding=".."/>
- rami
P T Withington wrote:
I think this is a great feature, but that it is too close to the end
of the 4.7 cycle to put in. We can't just add a whole bunch of
public slots to <view> without more community feedback.
If you want to 'try this out', I would suggest putting these
attributes in another 'namespace'. E.g., name the attributes
`future$padding`, etc. (pick your meaningful prefix). That way,
people who want to take advantage of this code can, and their code
will be easily marked so they can adapt it when we finalize the API,
but we will greatly reduce the likelihood of breaking existing
applications that subclass <view>. I think it is correct to use the
real CSS names for how these attributes would be controlled by a
style sheet. So you would do something like:
<attribute name="future$padding" value="0" style="padding" />
etc.
Of course, there is the issue that CSS actually specifies many of
its box-model attributes as 'trbl' vectors. For animation purposes,
you probably want each vector component to be a separate attribute.
For API compactness, you probably just want a single vector for each
of, margin/border/padding. Border also has a pile of other
attributes, not just the trbl dimensions...
Bottom line, I think we should defer implementation of this to 4.8.
If you _must_ have it in 4.7, please 'namespace' it.
And let's discuss what the ideal 4.8 API should be.
[One other approach would be to break out the box-model extension as
a mixin, which would essentially namespace it because you'd have to
explicitly request it in a `with` clause.]
On 2009-12-03, at 13:43, Max Carlson wrote:
See here for more details on how box model works:
http://www.w3.org/TR/CSS2/box.html#box-dimensions
I propose adding four attributes to view, to support CSS2 box model:
padding: Specifies the number of pixels used for padding around the
view
margin: Specifies the number of pixels used for margins inside th
view.
borderwidth: Specifies the width of the border, in pixels.
bordercolor: Specifies the color of the border, as a CSS color value.
The risk is, padding, border and margin may be used in existing
applications. I already found a case in lz/tabs.lzx that used
'padding'. In most cases, these attributes can simply be renamed.
Please send your thoughts! I'd like to get this finalized in time
for the 4.7 release.
--
Regards,
Max Carlson
OpenLaszlo.org
--
Regards,
Max Carlson
OpenLaszlo.org