I dont think you need to do that much, perhaps you might be missing the event 
declaration at the top of the class?
 
[Event(name="change", type="flash.events.Event")]
public class MyClass {
...
}
 
Dimitrios Gianninas
Developer
Optimal Payments Inc.
 

________________________________

From: [email protected] [mailto:[EMAIL PROTECTED] On Behalf Of Kenneth 
Sutherland
Sent: Tuesday, May 01, 2007 11:04 AM
To: [email protected]
Subject: RE: [flexcoders] metadata tags and events



Cheers, I'd already tried what you'd suggested below and for whatever reason it 
is still not updating the model.

I did see this in the standard DateField.as class

[DefaultBindingProperty(source="selectedDate", destination="selectedDate")]

[DefaultTriggerEvent("change")]

[RequiresDataBinding(true)]

I think it's just down to the way that the custom component is using the sets 
and gets and some weird flex magic. I've ended up doing the following as a work 
around.

<myCustomComponents:CustomComponent id="DoB" change="{updateModel( )}"/>

And whenever the change event is fired, I can pick it up here, although I can't 
get any other bindings to pick up the event. The updateModel() just gets 
selected date and puts that into a holder date variable which the model binds 
to.

I've had a look at 
http://livedocs.adobe.com/flex/201/html/wwhelp/wwhimpl/common/html/wwhelp.htm?context=LiveDocs_Book_Parts&file=metadata_141_01.html
 
<http://livedocs.adobe.com/flex/201/html/wwhelp/wwhimpl/common/html/wwhelp.htm?context=LiveDocs_Book_Parts&file=metadata_141_01.html>
  and it's not exactly a full list. Hmmmmm.

Bah there are times when the documentation for using flex is just rubbish.  Not 
to mention the search facility of livedocs doesn't seem to be well indexed or 
something.

- - - - - - - - - - - - - - - - - - - - - -

Just seen the email from Daniel F, cheers for that link, I'm currently trying 
to ask adobe's gold (plated & somewhat tarnished) support and if they get back 
to me I'll let you know what the extra tags do.

Thanks K.

________________________________

From: [email protected] [mailto:[EMAIL PROTECTED] On Behalf Of 
Dimitrios Gianninas
Sent: 01 May 2007 13:16
To: [email protected]
Subject: RE: [flexcoders] metadata tags and events

in order to tell other classes your object is bindable, it has to have this 
metatag:

[Bindable("change")]

public function get text():void {

  ....

}

then somewhere is your component once the text field data is set, broadcast the 
change event like so:

dispatchEvent( new Event("change") );

Dimitrios Gianninas

Developer

Optimal Payments Inc.

________________________________

From: [email protected] [mailto:[EMAIL PROTECTED] On Behalf Of Kenneth 
Sutherland
Sent: Tuesday, May 01, 2007 5:52 AM
To: [email protected]
Subject: [flexcoders] metadata tags and events

Does anyone have information on the various metadata tags that can be used in 
flex. I've been going through some of the source files to find out a way of 
getting my custom component to tell a model to update itself.

Some of the tags I've seen that I don't know what they do are

[DataBindingInfo]

[DefaultBindingProperty]

[DefaultTriggerEvent]

I've seen others but I won't to list everything here.

I've searched Livedocs and I can't find somewhere where all the tags with 
explanations are listed.

Also if someone knows about models being updated can you advise on the below 
problem

If my model is

<mx:Model id="requiredFields">

                                    <theForm>

                                                <all>

                                                            <name> { name.text 
}     </name>

                                                            <birth>  { 
DoB.selectedDate }</birth>

                                                </all>

                                    </theForm>

                        </mx:Model>

<myValidator:FormValidator id="formValidator"  source="{requiredFields}" 
property="all"/>

            When I call the validator the information it gets from the model is 
the text from the text input which is updated everytime the user changes the 
said text input, but the date comes from a custom date entry component and the 
model doesn't get the latest date from the component. It would seem like the 
binding isn't working or my custom component isn't firing of the required 
events for the model to update itself when the user changes the date.

I've tried getting my custom component to fire of the following events 

[Event(name="change", type="flash.events.Event")]

            [Event(name="valueCommit", type="mx.events.FlexEvent")]

As well as making the getter function for selectedDate [Bindable], but the 
model still doesn't pick up on any changes after the component has been 
initialised.

Cheers for any info.

Kenneth. 
<http://geo.yahoo.com/serv?s=97359714/grpId=12286167/grpspId=1705007207/msgId=73069/stime=1178021803/nc1=4507179/nc2=3848642/nc3=3>
 


 

-- 
WARNING
-------
This electronic message and its attachments may contain confidential, 
proprietary or legally privileged information, which is solely for the use of 
the intended recipient.  No privilege or other rights are waived by any 
unintended transmission or unauthorized retransmission of this message.  If you 
are not the intended recipient of this message, or if you have received it in 
error, you should immediately stop reading this message and delete it and all 
attachments from your system.  The reading, distribution, copying or other use 
of this message or its attachments by unintended recipients is unauthorized and 
may be unlawful.  If you have received this e-mail in error, please notify the 
sender.

AVIS IMPORTANT
--------------
Ce message électronique et ses pièces jointes peuvent contenir des 
renseignements confidentiels, exclusifs ou légalement privilégiés destinés au 
seul usage du destinataire visé.  L'expéditeur original ne renonce à aucun 
privilège ou à aucun autre droit si le présent message a été transmis 
involontairement ou s'il est retransmis sans son autorisation.  Si vous n'êtes 
pas le destinataire visé du présent message ou si vous l'avez reçu par erreur, 
veuillez cesser immédiatement de le lire et le supprimer, ainsi que toutes ses 
pièces jointes, de votre système.  La lecture, la distribution, la copie ou 
tout autre usage du présent message ou de ses pièces jointes par des personnes 
autres que le destinataire visé ne sont pas autorisés et pourraient être 
illégaux.  Si vous avez reçu ce courrier électronique par erreur, veuillez en 
aviser l'expéditeur.

Reply via email to