So the answer is pretty much what I expected.  You can't assume when
your class will be initialized.  It appears in this case that binding
and maybe the repeater causes your class to initialize and run its
classConstruct before the app applies its styles.

A style declaration has 'layers', a default factory picked up from the
default.css file, a factory picked up from styles defined in mx:Styles
and overrides which are applied via setStyle at runtime.  The mx:Styles
get applied 'underneath' the overrides layer because your code used
setStyle.  By using Ben's technique of defining the default factory, the
mx:Styles get to override those.

I'm not happy having to recommend a pattern where users have to define
anonymous functions to set default styles, but it does appear to be the
most tolerant of class init order.  I will recommend to the doc team to
modify the examples accordingly.

-----Original Message-----
From: [email protected] [mailto:[EMAIL PROTECTED] On
Behalf Of Tom Chiverton
Sent: Wednesday, November 07, 2007 2:10 AM
To: [email protected]
Subject: Re: [flexcoders] Setting multiple custom styles

On Tuesday 06 Nov 2007, Alex Harui wrote:
> I've marked this thread for further investigation someday (probably
not
> this week), but I wouldn't be surprised if the classConstruct runs
> before the Style block is installed, and I think the Style block code
> won't replace one that is already there.

Hmm, well that would be odd, as the docs work (though Ben identifies
some 
problems with them further on in this thread.
If you could get a chance to poke around with it sometime, that would be

great !

-- 
Tom Chiverton
Helping to adaptively customize dynamic web-readiness
on: http://thefalken.livejournal.com

****************************************************

This email is sent for and on behalf of Halliwells LLP.

Halliwells LLP is a limited liability partnership registered in England
and Wales under registered number OC307980 whose registered office
address is at St James's Court Brown Street Manchester M2 2JF.  A list
of members is available for inspection at the registered office.  Any
reference to a partner in relation to Halliwells LLP means a member of
Halliwells LLP.  Regulated by The Solicitors Regulation Authority.

CONFIDENTIALITY

This email is intended only for the use of the addressee named above and
may be confidential or legally privileged.  If you are not the addressee
you must not read it and must not use any information contained in nor
copy it nor inform any person other than Halliwells LLP or the addressee
of its existence or contents.  If you have received this email in error
please delete it and notify Halliwells LLP IT Department on 0870 365
8008.

For more information about Halliwells LLP visit www.halliwells.com.


--
Flexcoders Mailing List
FAQ: http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt
Search Archives:
http://www.mail-archive.com/flexcoders%40yahoogroups.com 
Yahoo! Groups Links



Reply via email to