Less voodoo in the LFC?  :-)
(To be honest, I wasn't really convinced by my work, too. But on the other hand, I didn't want to blow up the code resp. slow it down too much: e.g. by having two booleans variables per argument, which would have been a waste as I don't want to save 2^2 states,
or by creating a copy of the args-object through LzInheritedHash.)

So, next try. Maybe that's easier to follow:
var argsMap:Object = {font:fontname, fontsize:fontsize, fontstyle:fontstyle};
    var argsCpy:Object = {};
    for (var key:String in argsMap) {
        var val:String = argsMap[key];
var hasArg:Boolean = (key in args) ? true : false;//swf9 forces me to do this...
        var initExpr:Boolean = hasArg && args[key] is LzInitExpr;
        argsCpy[key] = initExpr ? args[key] : LzNode._ignoreAttribute;
        if (hasArg && !initExpr) {
            this[val] = args[key];
        } else {
            this[val] = args[key] = this.searchParents( val )[ val ];
        }
    }
var tsprite:LzTextSprite = (this.sprite cast LzTextSprite); tsprite.__initTextProperties(args); for (var key:String in argsCpy) {
        args[key] = argsCpy[key];
    }


On 5/28/2008 5:18 PM, P T Withington wrote:
Is there any way we could straighten out the logic so it is easier to understand? I'm having a hard time figuring out what's going on here. Since you set and read the tri-state flags within a few lines of each other, it seems there ought to be an easier way to do this.

On 2008-05-24, at 19:18 EDT, André Bargull wrote:

Update: last change contained a braino, which is now fixed.

Change 20080524-bargull-KxK by [EMAIL PROTECTED] on 2008-05-24 23:55:34
in /home/Admin/src/svn/openlaszlo/trunk
for http://svn.openlaszlo.org/openlaszlo/trunk

Summary: make font-attributes constrainable again

New Features:

Bugs Fixed: LPP-6038

Technical Reviewer: ptw
QA Reviewer: promanik
Doc Reviewer: (pending)

Documentation:

Release Notes:

Details:
Font attribute (fontname, fontsize, fontstyle) are special cased in "LzText#construct(..)". And since constraints are no longer held in the
$refs object, the special casing need to be adjusted.


Tests:

Files:
M WEB-INF/lps/lfc/views/LzText.lzs

Changeset: http://svn.openlaszlo.org/openlaszlo/patches/20080524-bargull-KxK.tar





Reply via email to