I sent the custom class off list to both of you. If anyone else is interested, I'll put it on my blog as soon as I get a moment to spare, and will let the list know when it's there.
Karina > -----Original Message----- > From: Rost, Andrew [mailto:[EMAIL PROTECTED] > Sent: 16 February 2007 20:55 > To: 'Flashcoders mailing list' > Subject: RE: [Flashcoders] Events for custom classes? > > Can you please email your class to me as well [offlist]. I'm > working on almost the same thing as Jason. > > Thanks much, > Andrew Rost > IDEXX Computer Systems > > -----Original Message----- > From: Merrill, Jason [mailto:[EMAIL PROTECTED] > Sent: Friday, February 16, 2007 2:41 PM > To: Flashcoders mailing list > Subject: RE: [Flashcoders] Events for custom classes? > > Sure, yes - please send offlist . Thanks! > > Jason Merrill > Bank of America > Learning & Organizational Effectiveness > > > > > > > > >>-----Original Message----- > >>From: [EMAIL PROTECTED] > >>[mailto:[EMAIL PROTECTED] On > Behalf Of Karina > >>Steffens > >>Sent: Friday, February 16, 2007 3:30 PM > >>To: 'Flashcoders mailing list' > >>Subject: RE: [Flashcoders] Events for custom classes? > >> > >>Hi Jason, > >> > >>I have my own implementation of AsBroadcaster/EventDispatcher > >>(bundling both in one class), which is very flexible and > can be used > >>with inheritance or composition (But unlike the standard > >>implementations, it's not a mix-in class). If you'd like me to send > >>you the class, just let me know. > >> > >>Karina > >> > >> > >>> -----Original Message----- > >>> From: Merrill, Jason [mailto:[EMAIL PROTECTED] > >>> Sent: 16 February 2007 20:16 > >>> To: Flashcoders mailing list > >>> Subject: RE: [Flashcoders] Events for custom classes? > >>> > >>> Thanks Alain, will revist it that way instead. > >>> > >>> Jason Merrill > >>> Bank of America > >>> Learning & Organizational Effectiveness > >>> > >>> > >>> > >>> > >>> > >>> > >>> > >>> >>-----Original Message----- > >>> >>From: [EMAIL PROTECTED] > >>> >>[mailto:[EMAIL PROTECTED] On > >>> Behalf Of Alain > >>> >>Rousseau > >>> >>Sent: Friday, February 16, 2007 3:01 PM > >>> >>To: 'Flashcoders mailing list' > >>> >>Subject: RE: [Flashcoders] Events for custom classes? > >>> >> > >>> >>Jason, > >>> >> > >>> >>So if I understand clearly what you want to do is : > >>> >> > >>> >>>From Class A : (pseudo code following) > >>> >> > >>> >>class ClassA { > >>> >> private var instClassB:ClassB; > >>> >> make comboBox > >>> >> make datagrid > >>> >> function ClassA() { > >>> >> instClassB = new ClassB(); > >>> >> comboBox.onChange = Delegate.create(this, > >>> cbChangeHandler); > >>> >> > instClassB.addEventListener("webServiceResult", this); > >>> >> } > >>> >> > >>> >> function cbChangeHandler(e){ > >>> >> instClassB.getWSdata(e.value); > >>> >> } > >>> >> > >>> >> function webServiceResult(evtObj:Object) { > >>> >> update datagrid with evtObj.newData > >>> >> } > >>> >> > >>> >>} > >>> >> > >>> >>class ClassB { > >>> >> Decorate with EventDispatcher methods > >>> >> dispatchEvent, addEventListener, removeEventListener > >>> >> > >>> >> function ClassB() { > >>> >> EventDispatcher.initialize(this); > >>> >> } > >>> >> > >>> >> function getWSdata(val) { > >>> >> get data from web service > >>> >> wsInstance.onResult = Delegate.create(this, > >>> wsResulthandler); > >>> >> } > >>> >> > >>> >> function wsResulthandler(data) { > >>> >> this.dispatchEvent({type:"webServiceResult", > >>> >>newData:data}) // add anything you want to pass in the object > >>> >> } > >>> >>} > >>> >> > >>> >>Now you have them both communication the way you want > >>> >> > >>> >>Have fun ! > >>> >> > >>> >>Alain > >>> >> > >>> >>-----Original Message----- > >>> >>From: [EMAIL PROTECTED] > >>> >>[mailto:[EMAIL PROTECTED] On Behalf Of > >>> >>Merrill, Jason > >>> >>Sent: 16 février 2007 14:36 > >>> >>To: Flashcoders mailing list > >>> >>Subject: RE: [Flashcoders] Events for custom classes? > >>> >> > >>> >>Daniel, try as I may, I can't get your code to work. I > have one > >>> >>class, which has a combobox. I can get the event to fire > >>when the > >>> >>combobox changes just fine, but I can't get it to "hear" > >>> the firing of > >>> >>the data capture from the webservice in the other class. > >>> >> > >>> >>So basically, in pseudocode, I need to do this: > >>> >> > >>> >>class A{ > >>> >> make comboBox > >>> >> make datagrid > >>> >> when comboBox changes, use Class B > >>> >> to get data from webservice > >>> >> when webservice result received, > >>> >> update datagrid with new data > >>> >> > >>> >>} > >>> >> > >>> >>class B{ > >>> >> connect to webservice > >>> >> when requested, return data to requesting class } > >>> >> > >>> >>Reason I want these two classes to be separate is because I > >>> want other > >>> >>classes to call Class B to get data as well. So, I can > do all of > >>> >>those things just fine, they are all working, except > for the last > >>> >>part, "when requested, return data to requesting class" - > >>I figure > >>> >>since the webservice is asynchronous, I need to capture the > >>> received > >>> >>event, which is fine, I can do, that works. But I need to > >>> tell Class > >>> >>A to update the datagrid with the new data when it gets it > >>> from Class > >>> >>B - so an event model is required. > >>> >> > >>> >>in your code, you have a var r in both the "Class A" and > >>> "Class B" - > >>> >>I'm confused about that. Thanks for any help. > >>> >> > >>> >> > >>> >>Jason Merrill > >>> >>Bank of America > >>> >>Learning & Organizational Effectiveness > >>> >> > >>> >> > >>> >> > >>> >> > >>> >> > >>> >> > >>> >> > >>> >>>>-----Original Message----- > >>> >>>>From: [EMAIL PROTECTED] > >>> >>>>[mailto:[EMAIL PROTECTED] On > >>> >>Behalf Of Holth, > >>> >>>>Daniel C. > >>> >>>>Sent: Friday, February 16, 2007 10:36 AM > >>> >>>>To: Flashcoders mailing list > >>> >>>>Subject: RE: [Flashcoders] Events for custom classes? > >>> >>>> > >>> >>>> > >>> >>>>Here is your code modified to use the EventDispatcher: > >>> >>>> > >>> >>>>import mx.events.EventDispatcher; // import the event > dispatcher > >>> >>>> > >>> >>>>class com.boa.projects.iqrcgenerator.components.AdminData{ > >>> >>>> public var addEventListener:Function; // Set > >>the functions > >>> >>>> public var removeEventListener:Function; // Set > >>the functions > >>> >>>> private var dispatchEvent:Function; // Set the functions > >>> >>>> > >>> >>>> private var userData:Object; > >>> >>>> > >>> >>>> // I'm sure you have a different constructor, > >>but you need > >>> >>>> // to add that line to it if you want to use > >>the eventdispatcher > >>> >>>> public function AdminData(){ > >>> >>>> mx.events.EventDispatcher.initialize(this); // > >>> >>add this to > >>> >>>>constructor > >>> >>>> } > >>> >>>> > >>> >>>> public function wsUserDataByLOB(lobDbId:Number):Void{ > >>> >>>> var getUserListResult:Object = new Object(); > >>> >>>> getUserListResult = > >>> >>>>generatorWebService.GetUserList(lobDbId); > >>> >>>> > >>> >>>> var r = this; // To get this in onResult > >>> >>>> getUserListResult.onResult = function(oUser){ > >>> >>>> > >>> >>>> r.dispatchEvent({type:"eventOnResult", > >>> >>>>user:oUser}); // Dispatch the event > >>> >>>> > >>> >>>> > >>> >>>> } > >>> >>>> } > >>> >>>> > >>> >>>> > >>> >>>> // I may just take this function out all together since > >>> >>the event > >>> >>can > >>> >>>> // autommatically send them the data. > >>> >>>> public function getUserData():Object{ > >>> >>>> return userData; > >>> >>>> } > >>> >>>>} > >>> >>>> > >>> >>>> > >>> >>>>Then in your other class you can do something like: > >>> >>>> > >>> >>>>//myAdminData is an instance of the class above > >>> >>>> > >>> >>>>var r = this; > >>> >>>>r.eventOnResult= function(evtObj:Object){ > >>> >>>> trace("user: " + evtObj.user); // Should return the > >>> >>oUser object } > >>> >>>>// addEventListener takes the event name, and who you want > >>> >>to listen > >>> >>>>myAdminData.addEventListener("eventOnResult", r); > >>> >>>> > >>> >>>> > >>> >>>> > >>> >>>>Does that help? I obviously can't test the code, but I think > >>> >>>>everything is right... I have trouble with scope, > >>which is why I > >>> >>>>use a lot of 'r' > >>> >>>>values instead of 'this'... Just easier for me... > >>Probably not a > >>> >>>>good coding standard :) > >>> >>>> > >>> >>>>-Dan > >>> >>>> > >>> >>>>-----Original Message----- > >>> >>>>From: [EMAIL PROTECTED] > >>> >>>>[mailto:[EMAIL PROTECTED] On > Behalf Of > >>> >>>>Merrill, Jason > >>> >>>>Sent: Friday, February 16, 2007 9:03 AM > >>> >>>>To: Flashcoders mailing list > >>> >>>>Subject: [Flashcoders] Events for custom classes? > >>> >>>> > >>> >>>>OK, I'm pretty good at Actionscript 2.0, but > something I never > >>> >>>>really understood and now need to. > >>> >>>> > >>> >>>>Core question: How do I make an event in a custom class, > >>> and how do > >>> >>>>I make a listener in another class listen for the event? > >>> >>>> > >>> >>>> > >>> >>>>EventBroadcaster in the help docs seems to only show how > >>> to use it > >>> >>>>with Adobe classes and components. Docs on listener are > >>> the same. I > >>> >>>>know how to set up listeners for other events, like > >>> keypresses and > >>> >>>>mouse rollovers. Easy enough. > >>> >>>>But my problem is this (see comments in code > >>> >>>>below): > >>> >>>> > >>> >>>>class com.boa.projects.iqrcgenerator.components.AdminData{ > >>> >>>> > >>> >>>> > >>> >>>> private var userData:Object; > >>> >>>> > >>> >>>> public function wsUserDataByLOB(lobDbId:Number):Void{ > >>> >>>> var getUserListResult:Object = new Object(); > >>> >>>> getUserListResult = > >>> >>>>generatorWebService.GetUserList(lobDbId); > >>> >>>> getUserListResult.onResult = function(oUser){ > >>> >>>> //this works fine, > >>> >>>> > >>> >>>> //I can capture this event result here, > >>> >>>> //but how do I notify another class? > >>> >>>> //also what about scope here? > >>> >>>> //how to set userData as oUser result? > >>> >>>> //can I fire an event in my AdminData > >>> >>>> //class from here? > >>> >>>> } > >>> >>>> } > >>> >>>> > >>> >>>> > >>> >>>> public function getUserData():Object{ > >>> >>>> //can't let user get this data > >>> >>>> //until Webserive event is done. > >>> >>>> return userData; > >>> >>>> } > >>> >>>>} > >>> >>>> > >>> >>>>Thanks, > >>> >>>> > >>> >>>> > >>> >>>>Jason Merrill > >>> >>>>Bank of America > >>> >>>> > >>> >>>>Learning & Organizational Effectiveness > >>> >>>> > >>> >>>> > >>> >>>> > >>> >>>> > >>> >>>>_______________________________________________ > >>> >>>>Flashcoders@chattyfig.figleaf.com > >>> >>>>To change your subscription options or search the archive: > >>> >>>>http://chattyfig.figleaf.com/mailman/listinfo/flashcoders > >>> >>>> > >>> >>>>Brought to you by Fig Leaf Software Premier Authorized Adobe > >>> >>>>Consulting and Training http://www.figleaf.com > >>> >>>>http://training.figleaf.com > >>> >>>> > >>> >>>>This e-mail and its attachments are intended only for the > >>> use of the > >>> >>>>addressee(s) and may contain privileged, confidential or > >>> proprietary > >>> >>>>information. If you are not the intended recipient, or > >>> the employee > >>> >>>>or agent responsible for delivering the message to > the intended > >>> >>>>recipient, you are hereby notified that any dissemination, > >>> >>>>distribution, displaying, copying, or use of this > >>information is > >>> >>>>strictly prohibited. If you have received this > communication in > >>> >>>>error, please inform the sender immediately and delete > >>> and destroy > >>> >>>>any record of this message. Thank you. > >>> >>>>_______________________________________________ > >>> >>>>Flashcoders@chattyfig.figleaf.com > >>> >>>>To change your subscription options or search the archive: > >>> >>>>http://chattyfig.figleaf.com/mailman/listinfo/flashcoders > >>> >>>> > >>> >>>>Brought to you by Fig Leaf Software Premier Authorized Adobe > >>> >>>>Consulting and Training http://www.figleaf.com > >>> >>>>http://training.figleaf.com > >>> >>>> > >>> >>_______________________________________________ > >>> >>Flashcoders@chattyfig.figleaf.com > >>> >>To change your subscription options or search the archive: > >>> >>http://chattyfig.figleaf.com/mailman/listinfo/flashcoders > >>> >> > >>> >>Brought to you by Fig Leaf Software Premier Authorized Adobe > >>> >>Consulting and Training http://www.figleaf.com > >>> >>http://training.figleaf.com > >>> >> > >>> >> > >>> >>-- > >>> >>No virus found in this incoming message. > >>> >>Checked by AVG Free Edition. > >>> >>Version: 7.1.412 / Virus Database: 268.18.0/689 - Release > >>> >>Date: 2007-02-15 > >>> >> > >>> >> > >>> >>-- > >>> >>No virus found in this outgoing message. > >>> >>Checked by AVG Free Edition. > >>> >>Version: 7.1.412 / Virus Database: 268.18.0/689 - Release > >>> >>Date: 2007-02-15 > >>> >> > >>> >> > >>> >>_______________________________________________ > >>> >>Flashcoders@chattyfig.figleaf.com > >>> >>To change your subscription options or search the archive: > >>> >>http://chattyfig.figleaf.com/mailman/listinfo/flashcoders > >>> >> > >>> >>Brought to you by Fig Leaf Software Premier Authorized Adobe > >>> >>Consulting and Training http://www.figleaf.com > >>> >>http://training.figleaf.com > >>> >> > >>> _______________________________________________ > >>> Flashcoders@chattyfig.figleaf.com > >>> To change your subscription options or search the archive: > >>> http://chattyfig.figleaf.com/mailman/listinfo/flashcoders > >>> > >>> Brought to you by Fig Leaf Software > >>> Premier Authorized Adobe Consulting and Training > >>> http://www.figleaf.com http://training.figleaf.com > >>> > >> > >>_______________________________________________ > >>Flashcoders@chattyfig.figleaf.com > >>To change your subscription options or search the archive: > >>http://chattyfig.figleaf.com/mailman/listinfo/flashcoders > >> > >>Brought to you by Fig Leaf Software > >>Premier Authorized Adobe Consulting and Training > >>http://www.figleaf.com http://training.figleaf.com > >> > _______________________________________________ > Flashcoders@chattyfig.figleaf.com > To change your subscription options or search the archive: > http://chattyfig.figleaf.com/mailman/listinfo/flashcoders > > Brought to you by Fig Leaf Software > Premier Authorized Adobe Consulting and Training > http://www.figleaf.com http://training.figleaf.com > _______________________________________________ > Flashcoders@chattyfig.figleaf.com > To change your subscription options or search the archive: > http://chattyfig.figleaf.com/mailman/listinfo/flashcoders > > Brought to you by Fig Leaf Software > Premier Authorized Adobe Consulting and Training > http://www.figleaf.com http://training.figleaf.com > _______________________________________________ Flashcoders@chattyfig.figleaf.com To change your subscription options or search the archive: http://chattyfig.figleaf.com/mailman/listinfo/flashcoders Brought to you by Fig Leaf Software Premier Authorized Adobe Consulting and Training http://www.figleaf.com http://training.figleaf.com