Re: [flexcoders] Re: Cairngorm Responder interface changes
On Tuesday 11 July 2006 01:00, Tim Hoff wrote: Sure, in one way or another, all of this can be accomplished with binding to variables in the ModelLocator, Alerts and PopUps. But, inho, binding state for the small things, that are soley related to a local view and conditional on the result of the call, serves to clutter-up the ModelLocator. The view could handle some of its own state if it was notified of the status of the service call. I agree, totally. I'd really like some way, maybe as an extra optional arg on the CairngormEventDispatcher, to say 'this view[helper] has the onResult method to call'. Maybe then another for the fault handler. If either is empty, Cairngorm looks in the same places as now. -- Tom Chiverton 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 Law Society. 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 * To visit your group on the web, go to: http://groups.yahoo.com/group/flexcoders/ * To unsubscribe from this group, send an email to: [EMAIL PROTECTED] * Your use of Yahoo! Groups is subject to: http://docs.yahoo.com/info/terms/
RE: [flexcoders] Re: Cairngorm Responder interface changes
Ok, obviously I haven't built big enough apps yet to run into the problemsyou and Jesse have. I've had to do something like that in one app actually where I had multiple instances of the same window created, I would send a refof the view to the command so it would know which window instance to update afterwards. Dimitrios Gianninas RIADeveloper Optimal Payments Inc. From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On Behalf Of Tim HoffSent: Tuesday, July 11, 2006 2:06 AMTo: flexcoders@yahoogroups.comSubject: [flexcoders] Re: Cairngorm Responder interface changes Thanks Dimitrios, I like the more direct approach, but I don't think that this would be the most effective way to handle asynchronous events. What I'm considering is extending the Responder all the way back to the View, through the FrontController. They are, after all, where the CairngormEvent originated and was sent first. The FrontController has a reference to the Command, so it could accept a responder. The Responder to the view would have to be created. Pros: The permanent stop at the Command from a Delegate wouldn't be removed, but rather used to condition the response back to the view. Everything else works the same in the Command. All re-usable data is dropped-off at the ModelLocator. The command then conditions a response that includes the state of the call result. Things like size, number of Objects, format, or anything that the developer wanted to know, would be added to the Responder and sent on its way. Rather, the event would be modified. Back at the View, local state would be adjusted accordingly when the CairngormEvent is completed. Cons: A race condition may occur with the ModelLocator binding to the view's state and the local update of state from the View itself. Also, a reference to the original CairngormEvent would need to be maintained by the View and the FrontController. This would possibly add weight. Less than the Command, Delegate, and Service, but weight just the same. Would also add script to all views that care about a response. I think that this approachhas a more standardized feel. Does this sound like a viable idea, that doesn't stray significantly from Cairngorm? -TH--- In flexcoders@yahoogroups.com, "JesterXL" [EMAIL PROTECTED] wrote: Dude... do you know how many "results" we have in our app? I agree, this'll work for small Flash projects, but not for Enterprise Flex apps. You can't just start willy nilly throwing small state vars on ModelLocator for things like this; it'd get out of control, pretty quick. Granted, you can easily sanction it off in a new StateVars specific class, but then you have to keep track of updating those variables in your commands... no thanks, I'd rather have it baked in. - Original Message - From: "Dimitrios Gianninas" [EMAIL PROTECTED] To: flexcoders@yahoogroups.com Sent: Monday, July 10, 2006 11:53 PM Subject: RE: [flexcoders] Re: Cairngorm Responder interface changes Good points, but I think that it can be handled in the following fashion. The SearchView is an MXML component and it has a property called results, so its declaration would look something like this: dg:SearchView id="theSearch" results="{ModelLocator.results}" / So once your results return, they will trigger the call to the setter method of the results property, so in that setter, you can do those little things: ... public function set results( values:ArrayCollection ):void { dg.dataProvider = values; // do other little things here } ... That pretty much aught to solve your problem and you don't have to write any extra code. I think the important thing to remember is to create small components that will receive data via binding and set themselves in a proper state (meaning changing values on certain controls, etc...). That way its clean and reusable in some cases. Dimitrios "Jimmy" Gianninas Optimal Payments Inc. -Original Message- From: flexcoders@yahoogroups.com on behalf of JesterXL Sent: Mon 7/10/2006 9:41 PM To: flexcoders@yahoogroups.com Subject: Re: [flexcoders] Re: Cairngorm Responder interface changes ...Tim gave better examples than I did. A lot of those small, GUI operations are what I'm talking about. - Original Message - From: "Tim Hoff" [EMAIL PROTECTED] To: flexcoders@yahoogroups.com Sent: Monday, July 10, 2006 8:00 PM Subject: [flexcoders] Re: Cairngorm Responder interface changes Hi Steven, Sorry to offer my .02, but here is a use-case: A search view component includes a TextInput for the search string, a RadioButtonGroup that is used for the search type selection, and two DateFields used for a search date range. There is also a search button and a reset dates button. When a search is performed, a responder returns a service call result to the command. The command updates the ModelLoc
Re: [flexcoders] Re: Cairngorm Responder interface changes
On Tuesday 11 July 2006 13:25, Dimitrios Gianninas wrote: where I had multiple instances of the same window created, I would send a ref of the view to the command so it would know which window instance to update afterwards. Were finding we have to do that quite a lot, and it seems like we're working around a feature rather than with the framework. -- Tom Chiverton 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 Law Society. 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 * To visit your group on the web, go to: http://groups.yahoo.com/group/flexcoders/ * To unsubscribe from this group, send an email to: [EMAIL PROTECTED] * Your use of Yahoo! Groups is subject to: http://docs.yahoo.com/info/terms/
Re: [flexcoders] Re: Cairngorm Responder interface changes
I didn't effectively communicate that, but tried to in my email. Creating a seperate class for those states is nice because it can still reside in your model package. However, managing those variables in commands and setting them seems like a lot of overhead to manage. The View's are the ones who care about the state, not the overall app, and thus they should be the ones responsible for responding. If it's a result handler, it's built into the framework, and View's can choose to respond. I'm sure there are scenarios where doing this way is ok too. - Original Message - From: Ralf Bokelberg [EMAIL PROTECTED] To: flexcoders@yahoogroups.com Sent: Tuesday, July 11, 2006 1:54 AM Subject: Re: [flexcoders] Re: Cairngorm Responder interface changes How about creating a new class SearchResults with all the different bindable state variables in it? This way you don't loose the advantage of pure mvc without the clutter. Cheers, Ralf. On 7/11/06, JesterXL [EMAIL PROTECTED] wrote: Dude... do you know how many results we have in our app? -- 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 Yahoo! Groups Sponsor ~-- Great things are happening at Yahoo! Groups. See the new email design. http://us.click.yahoo.com/TISQkA/hOaOAA/yQLSAA/nhFolB/TM ~- -- 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 * To visit your group on the web, go to: http://groups.yahoo.com/group/flexcoders/ * To unsubscribe from this group, send an email to: [EMAIL PROTECTED] * Your use of Yahoo! Groups is subject to: http://docs.yahoo.com/info/terms/
RE: [flexcoders] Re: Cairngorm Responder interface changes
D]ups.com, "JesterXL" jesterxl@ wrote: Dude... do you know how many "results" we have in our app?I agree, this'll work for small Flash projects, but not for Enterprise Flex apps. You can't just start willy nilly throwing small state vars on ModelLocator for things like this; it'd get out of control, pretty quick. Granted, you can easily sanction it off in a new StateVars specific class, but then you have to keep track of updating those variables in your commands... no thanks, I'd rather have it baked in.- Original Message - From: "Dimitrios Gianninas" dimitrios.gianninas@ To: [EMAIL PROTECTED]ups.com Sent: Monday, July 10, 2006 11:53 PM Subject: RE: [flexcoders] Re: Cairngorm Responder interface changes Good points, but I think that it can be handled in the following fashion.The SearchView is an MXML component and it has a property called results, so its declaration would look something like this: dg:SearchView id="theSearch" results="{ModelLocator.results}" /So once your results return, they will trigger the call to the setter method of the results property, so in that setter, you can do those little things:... public function set results( values:ArrayCollection ):void { dg.dataProvider = values; // do other little things here } ...That pretty much aught to solve your problem and you don't have to write any extra code. I think the important thing to remember is to create small components that will receive data via binding and set themselves in a proper state (meaning changing values on certain controls, etc...). That way its clean and reusable in some cases.Dimitrios "Jimmy" Gianninas Optimal Payments Inc.-Original Message- From: [EMAIL PROTECTED]ups.com on behalf of JesterXL Sent: Mon 7/10/2006 9:41 PM To: [EMAIL PROTECTED]ups.com Subject: Re: [flexcoders] Re: Cairngorm Responder interface changes...Tim gave better examples than I did. A lot of those small, GUI operations are what I'm talking about.- Original Message - From: "Tim Hoff" TimHoff@ To: [EMAIL PROTECTED]ups.com Sent: Monday, July 10, 2006 8:00 PM Subject: [flexcoders] Re: Cairngorm Responder interface changes Hi Steven,Sorry to offer my .02, but here is a use-case:A search view component includes a TextInput for the search string, a RadioButtonGroup that is used for the search type selection, and two DateFields used for a search date range. There is also a search button and a reset dates button.When a search is performed, a responder returns a service call result to the command. The command updates the ModelLocator which automatically updates the view through binding. This works great for the heavy lifting (data, view states..). But, what about the light lifting; If results found: (clear and setFocus to the TextInput control, reset search options RadioButtons, reset the DateFields for a new search), If no results found: (do not reset fields, display a message saying "no results found for the search," prompt the user for additional information, launch the sound of laughing.mpg). :)Sure, in one way or another, all of this can be accomplished with binding to variables in the ModelLocator, Alerts and PopUps. But, inho, binding state for the small things, that are soley related to a local view and conditional on the result of the call, serves to clutter-up the ModelLocator. The view could handle some of its own state if it was notified of the status of the service call. I know that this is purely preferential, but why use the ModelLocator to control every single state in the application, when a local view could handle the small stuff? By reducing the number of state variables, the views would also be easier to reuse; if, for instance, you wanted to encapsulate the view by passing-in the bindings to the ModelLocator in the components outer definition. Proposal: Round-trip notification - success, failure, or custom message returned to the originator of the CairngormEvent (sans data).Possible method: Add a ViewResponder class that passes messages between the Command and the View; based on the result returned by the service Responder. Or, how about attaching the Responder to the CairngormEvent to create a front-to-back, full-duplex pipeline for the call.If I'm totally off-base with this, please disregard.Humble regards, Tim Hoff--- In [EMAIL PROTECTED]ups.com, "Steven Webster" swebster@ wrote: jesse, sorry if you've covered this already; but what do you mean by commands supporting callbacks, in terms of an example usage
RE: [flexcoders] Re: Cairngorm Responder interface changes
None taken :) Throwing around ideas will eventually lead to the proper solution. Dimitrios Gianninas RIADeveloper Optimal Payments Inc. From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On Behalf Of Tim HoffSent: Tuesday, July 11, 2006 9:35 AMTo: flexcoders@yahoogroups.comSubject: [flexcoders] Re: Cairngorm Responder interface changes Oh, please don't get me wrong, you're solution is great. It really got me thinking in a different direction. I'm just trying to come up with a standardized way to solve this need, that will generically work for the majority of use-cases. I don't think that the Cairngorm guys would consider any change unless it feels concrete and scales easily. I sincerely appreciate your feedback Dimitrios. Please know that there is no disrespect intended.Tim Hoff--- In [EMAIL PROTECTED]ups.com, "Dimitrios Gianninas" dimitrios.giannina[EMAIL PROTECTED] wrote: Ok, obviously I haven't built big enough apps yet to run into the problems you and Jesse have. I've had to do something like that in one app actually where I had multiple instances of the same window created, I would send a ref of the view to the command so it would know which window instance to update afterwards. Dimitrios Gianninas RIA Developer Optimal Payments Inc. From: [EMAIL PROTECTED]ups.com [mailto:[EMAIL PROTECTED]ups.com] On Behalf Of Tim Hoff Sent: Tuesday, July 11, 2006 2:06 AM To: [EMAIL PROTECTED]ups.com Subject: [flexcoders] Re: Cairngorm Responder interface changes Thanks Dimitrios, I like the more direct approach, but I don't think that this would be the most effective way to handle asynchronous events. What I'm considering is extending the Responder all the way back to the View, through the FrontController. They are, after all, where the CairngormEvent originated and was sent first. The FrontController has a reference to the Command, so it could accept a responder. The Responder to the view would have to be created. Pros: The permanent stop at the Command from a Delegate wouldn't be removed, but rather used to condition the response back to the view. Everything else works the same in the Command. All re-usable data is dropped-off at the ModelLocator. The command then conditions a response that includes the state of the call result. Things like size, number of Objects, format, or anything that the developer wanted to know, would be added to the Responder and sent on its way. Rather, the event would be modified. Back at the View, local state would be adjusted accordingly when the CairngormEvent is completed. Cons: A race condition may occur with the ModelLocator binding to the view's state and the local update of state from the View itself. Also, a reference to the original CairngormEvent would need to be maintained by the View and the FrontController. This would possibly add weight. Less than the Command, Delegate, and Service, but weight just the same. Would also add script to all views that care about a response. I think that this approach has a more standardized feel. Does this sound like a viable idea, that doesn't stray significantly from Cairngorm? -TH --- In [EMAIL PROTECTED]ups.com, "JesterXL" jesterxl@ wrote: Dude... do you know how many "results" we have in our app?I agree, this'll work for small Flash projects, but not for Enterprise Flex apps. You can't just start willy nilly throwing small state vars on ModelLocator for things like this; it'd get out of control, pretty quick. Granted, you can easily sanction it off in a new StateVars specific class, but then you have to keep track of updating those variables in your commands... no thanks, I'd rather have it baked in.- Original Message - From: "Dimitrios Gianninas" dimitrios.gianninas@ To: [EMAIL PROTECTED]ups.com Sent: Monday, July 10, 2006 11:53 PM Subject: RE: [flexcoders] Re: Cairngorm Responder interface changes Good points, but I think that it can be handled in the following fashion.The SearchView is an MXML component and it has a property called results, so its declaration would look something like this: dg:SearchView id="theSearch" results="{ModelLocator.results}" /So once your results return, they will trigger the call to the setter method of the results property, so in that setter, you can do those little things: ... public function set results( values:ArrayCollection ):void { dg.dataProvider = values; // do other little things here } ...That pretty much aught to solve your problem and you don't have to write any extra code. I think the important thing to remember is to create small components that will receive data via binding and set themselves in a proper state (meaning changing values on certain controls, etc...). That way its clean and reusable in some
Re: [flexcoders] Re: Cairngorm Responder interface changes
. From: flexcoders@yahoogroups.com mailto:flexcoders% 40yahoogroups.com [mailto:flexcoders@yahoogroups.com mailto:flexcoders% 40yahoogroups.com ] On Behalf Of Tim Hoff Sent: Tuesday, July 11, 2006 2:06 AM To: flexcoders@yahoogroups.com mailto:flexcoders% 40yahoogroups.com Subject: [flexcoders] Re: Cairngorm Responder interface changes Thanks Dimitrios, I like the more direct approach, but I don't think that this would be the most effective way to handle asynchronous events. What I'm considering is extending the Responder all the way back to the View, through the FrontController. They are, after all, where the CairngormEvent originated and was sent first. The FrontController has a reference to the Command, so it could accept a responder. The Responder to the view would have to be created. Pros: The permanent stop at the Command from a Delegate wouldn't be removed, but rather used to condition the response back to the view. Everything else works the same in the Command. All re- usable data is dropped-off at the ModelLocator. The command then conditions a response that includes the state of the call result. Things like size, number of Objects, format, or anything that the developer wanted to know, would be added to the Responder and sent on its way. Rather, the event would be modified. Back at the View, local state would be adjusted accordingly when the CairngormEvent is completed. Cons: A race condition may occur with the ModelLocator binding to the view's state and the local update of state from the View itself. Also, a reference to the original CairngormEvent would need to be maintained by the View and the FrontController. This would possibly add weight. Less than the Command, Delegate, and Service, but weight just the same. Would also add script to all views that care about a response. I think that this approach has a more standardized feel. Does this sound like a viable idea, that doesn't stray significantly from Cairngorm? -TH --- In flexcoders@yahoogroups.com mailto:flexcoders% 40yahoogroups.com , JesterXL jesterxl@ wrote: Dude... do you know how many results we have in our app? I agree, this'll work for small Flash projects, but not for Enterprise Flex apps. You can't just start willy nilly throwing small state vars on ModelLocator for things like this; it'd get out of control, pretty quick. Granted, you can easily sanction it off in a new StateVars specific class, but then you have to keep track of updating those variables in your commands... no thanks, I'd rather have it baked in. - Original Message - From: Dimitrios Gianninas dimitrios.gianninas@ To: flexcoders@yahoogroups.com mailto:flexcoders% 40yahoogroups.com Sent: Monday, July 10, 2006 11:53 PM Subject: RE: [flexcoders] Re: Cairngorm Responder interface changes Good points, but I think that it can be handled in the following fashion. The SearchView is an MXML component and it has a property called results, so its declaration would look something like this: dg:SearchView id=theSearch results={ModelLocator.results} / So once your results return, they will trigger the call to the setter method of the results property, so in that setter, you can do those little things: ... public function set results( values:ArrayCollection ):void { dg.dataProvider = values; // do other little things here } ... That pretty much aught to solve your problem and you don't have to write any extra code. I think the important thing to remember is to create small components that will receive data via binding and set themselves in a proper state (meaning changing values on certain controls, etc...). That way its clean and reusable in some cases. Dimitrios Jimmy Gianninas Optimal Payments Inc. -Original Message- From: flexcoders@yahoogroups.com mailto:flexcoders% 40yahoogroups.com on behalf of JesterXL Sent: Mon 7/10/2006 9:41 PM To: flexcoders@yahoogroups.com mailto:flexcoders% 40yahoogroups.com Subject: Re: [flexcoders] Re: Cairngorm Responder interface changes ...Tim gave better examples than I did. A lot of those small, GUI operations are what I'm talking about. - Original Message - From: Tim Hoff TimHoff@ To: flexcoders@yahoogroups.com mailto:flexcoders% 40yahoogroups.com Sent: Monday, July 10, 2006 8:00 PM Subject: [flexcoders] Re: Cairngorm Responder interface changes Hi Steven, Sorry to offer my .02, but here is a use-case: A search view component includes a TextInput for the search string, a RadioButtonGroup that is used for the search type selection, and two DateFields used for a search date range. There is also a search button and a reset dates button. When a search is performed, a responder returns a service call
Re: [flexcoders] Re: Cairngorm Responder interface changes
Yeah, keeping it simple, in a way that almost hurts, is the hardest thing to do. Cheers, Ralf. On 7/11/06, JesterXL [EMAIL PROTECTED] wrote: I just have to say I don't want Steven or Aral's job. Making maintaing frameworks is f'ing hard, and I'm glad I get the luxury of proposing ideas without too much thought given to the potential consequences to the greater developer community whereas he does. The fact that he is passionate about ensuring success, and yet open to ideas is pimp! Yahoo! Groups Sponsor ~-- Great things are happening at Yahoo! Groups. See the new email design. http://us.click.yahoo.com/TISQkA/hOaOAA/yQLSAA/nhFolB/TM ~- -- 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 * To visit your group on the web, go to: http://groups.yahoo.com/group/flexcoders/ * To unsubscribe from this group, send an email to: [EMAIL PROTECTED] * Your use of Yahoo! Groups is subject to: http://docs.yahoo.com/info/terms/
RE: [flexcoders] Re: Cairngorm Responder interface changes
jesse, sorry if you've covered this already; but what do you mean by commands supporting callbacks, in terms of an example usage of where you'd do this ? can we rewind to the use-case, so I can make sure I understand what you're trying to achieve here ? best, Steven Steven WebsterPractice Director (Rich Internet Applications)Adobe ConsultingWestpoint, 4 Redheughs Rigg, South Gyle, Edinburgh, EH12 9DQ, UKp: +44 (0) 131 338 6108 m: +44 (0)7917 428 947[EMAIL PROTECTED] From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On Behalf Of JesterXLSent: 06 July 2006 21:11To: flexcoders@yahoogroups.comSubject: Re: [flexcoders] Re: Cairngorm Responder interface changes ...or you can have Commands support callbacks, and thus no need for state variables, nor a need for your Commands to update those variables.- Original Message - From: "Steven Webster" [EMAIL PROTECTED]comTo: [EMAIL PROTECTED]ups.comSent: Thursday, July 06, 2006 3:57 PMSubject: RE: [flexcoders] Re: Cairngorm Responder interface changesAgreed. Developers *have* to take responsibility for creatingapplication-specific classes. If your application has "10 million statevariables", then having a StateMachine / StateManager seems like alogical refactoring to aim for. If however, your application has "adecent number of states", no reason they can't be held in a single Stateclass kept on the model (our typical solution), and if you only have 2or 3 states, even the State class can be overkill.Just my $.02StevenSteven WebsterPractice Director (Rich Internet Applications)Adobe ConsultingWestpoint, 4 Redheughs Rigg, South Gyle, Edinburgh, EH12 9DQ, UKp: +44 (0) 131 338 6108m: +44 (0) 7917 428 947[EMAIL PROTECTED]com -Original Message- From: [EMAIL PROTECTED]ups.com [mailto:[EMAIL PROTECTED]ups.com] On Behalf Of Tom Chiverton Sent: 06 July 2006 16:01 To: [EMAIL PROTECTED]ups.com Subject: Re: [flexcoders] Re: Cairngorm Responder interface changes On Thursday 06 July 2006 14:49, JesterXL wrote: Just what I need, 10 billion more state variables to keep track of... Point taken, but they don't all have to be flat i.e. direct properties of the model. You can have model.viewHelpers.* , model.thingsAboutFoo.* etc. -- Tom Chiverton 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 Law Society. 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. Yahoo! Groups Sponsor ~-- See what's inside the new Yahoo! Groups email. http://us.click.yahoo.com/2pRQfA/bOaOAA/yQLSAA/nhFolB/TM -- --~- -- 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--Flexcoders Mailing ListFAQ: http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txtSearch Archives: http://www.mail-archive.com/flexcoders%40yahoogroups.comYahoo! Groups Links __._,_.___ -- Flexcoders Mailing List FAQ: http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt Search Archives: http://www.mail-archive.com/flexcoders%40yahoogroups.com SPONSORED LINKS Web site design development Computer software development Software design and development Macromedia flex Software development best practice YAHOO! GROUPS LINKS Visit your group "flexcoders" on the web
Re: [flexcoders] Re: Cairngorm Responder interface changes
...Tim gave better examples than I did. A lot of those small, GUI operations are what I'm talking about. - Original Message - From: Tim Hoff [EMAIL PROTECTED] To: flexcoders@yahoogroups.com Sent: Monday, July 10, 2006 8:00 PM Subject: [flexcoders] Re: Cairngorm Responder interface changes Hi Steven, Sorry to offer my .02, but here is a use-case: A search view component includes a TextInput for the search string, a RadioButtonGroup that is used for the search type selection, and two DateFields used for a search date range. There is also a search button and a reset dates button. When a search is performed, a responder returns a service call result to the command. The command updates the ModelLocator which automatically updates the view through binding. This works great for the heavy lifting (data, view states..). But, what about the light lifting; If results found: (clear and setFocus to the TextInput control, reset search options RadioButtons, reset the DateFields for a new search), If no results found: (do not reset fields, display a message saying no results found for the search, prompt the user for additional information, launch the sound of laughing.mpg). :) Sure, in one way or another, all of this can be accomplished with binding to variables in the ModelLocator, Alerts and PopUps. But, inho, binding state for the small things, that are soley related to a local view and conditional on the result of the call, serves to clutter-up the ModelLocator. The view could handle some of its own state if it was notified of the status of the service call. I know that this is purely preferential, but why use the ModelLocator to control every single state in the application, when a local view could handle the small stuff? By reducing the number of state variables, the views would also be easier to reuse; if, for instance, you wanted to encapsulate the view by passing-in the bindings to the ModelLocator in the components outer definition. Proposal: Round-trip notification - success, failure, or custom message returned to the originator of the CairngormEvent (sans data). Possible method: Add a ViewResponder class that passes messages between the Command and the View; based on the result returned by the service Responder. Or, how about attaching the Responder to the CairngormEvent to create a front-to-back, full-duplex pipeline for the call. If I'm totally off-base with this, please disregard. Humble regards, Tim Hoff --- In flexcoders@yahoogroups.com, Steven Webster [EMAIL PROTECTED] wrote: jesse, sorry if you've covered this already; but what do you mean by commands supporting callbacks, in terms of an example usage of where you'd do this ? can we rewind to the use-case, so I can make sure I understand what you're trying to achieve here ? best, Steven Steven Webster Practice Director (Rich Internet Applications) Adobe Consulting Westpoint, 4 Redheughs Rigg, South Gyle, Edinburgh, EH12 9DQ, UK p: +44 (0) 131 338 6108 m: +44 (0) 7917 428 947 [EMAIL PROTECTED] From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On Behalf Of JesterXL Sent: 06 July 2006 21:11 To: flexcoders@yahoogroups.com Subject: Re: [flexcoders] Re: Cairngorm Responder interface changes ...or you can have Commands support callbacks, and thus no need for state variables, nor a need for your Commands to update those variables. - Original Message - From: Steven Webster [EMAIL PROTECTED] mailto:swebster%40adobe.com To: flexcoders@yahoogroups.com mailto:flexcoders%40yahoogroups.com Sent: Thursday, July 06, 2006 3:57 PM Subject: RE: [flexcoders] Re: Cairngorm Responder interface changes Agreed. Developers *have* to take responsibility for creating application-specific classes. If your application has 10 million state variables, then having a StateMachine / StateManager seems like a logical refactoring to aim for. If however, your application has a decent number of states, no reason they can't be held in a single State class kept on the model (our typical solution), and if you only have 2 or 3 states, even the State class can be overkill. Just my $.02 Steven Steven Webster Practice Director (Rich Internet Applications) Adobe Consulting Westpoint, 4 Redheughs Rigg, South Gyle, Edinburgh, EH12 9DQ, UK p: +44 (0) 131 338 6108 m: +44 (0) 7917 428 947 [EMAIL PROTECTED] mailto:swebster%40adobe.com -Original Message- From: flexcoders@yahoogroups.com mailto:flexcoders%40yahoogroups.com [mailto:flexcoders@yahoogroups.com mailto:flexcoders%40yahoogroups.com ] On Behalf Of Tom Chiverton Sent: 06 July 2006 16:01 To: flexcoders@yahoogroups.com mailto:flexcoders%40yahoogroups.com Subject: Re: [flexcoders] Re: Cairngorm Responder interface changes On Thursday 06 July 2006 14:49, JesterXL wrote: Just what I need, 10 billion more state variables to keep track of... Point taken
RE: [flexcoders] Re: Cairngorm Responder interface changes
Good points, but I think that it can be handled in the following fashion. The SearchView is an MXML component and it has a property called results, so its declaration would look something like this: dg:SearchView id=theSearch results={ModelLocator.results} / So once your results return, they will trigger the call to the setter method of the results property, so in that setter, you can do those little things: ... public function set results( values:ArrayCollection ):void { dg.dataProvider = values; // do other little things here } ... That pretty much aught to solve your problem and you don't have to write any extra code. I think the important thing to remember is to create small components that will receive data via binding and set themselves in a proper state (meaning changing values on certain controls, etc...). That way its clean and reusable in some cases. Dimitrios Jimmy Gianninas Optimal Payments Inc. -Original Message- From: flexcoders@yahoogroups.com on behalf of JesterXL Sent: Mon 7/10/2006 9:41 PM To: flexcoders@yahoogroups.com Subject: Re: [flexcoders] Re: Cairngorm Responder interface changes ...Tim gave better examples than I did. A lot of those small, GUI operations are what I'm talking about. - Original Message - From: Tim Hoff [EMAIL PROTECTED] To: flexcoders@yahoogroups.com Sent: Monday, July 10, 2006 8:00 PM Subject: [flexcoders] Re: Cairngorm Responder interface changes Hi Steven, Sorry to offer my .02, but here is a use-case: A search view component includes a TextInput for the search string, a RadioButtonGroup that is used for the search type selection, and two DateFields used for a search date range. There is also a search button and a reset dates button. When a search is performed, a responder returns a service call result to the command. The command updates the ModelLocator which automatically updates the view through binding. This works great for the heavy lifting (data, view states..). But, what about the light lifting; If results found: (clear and setFocus to the TextInput control, reset search options RadioButtons, reset the DateFields for a new search), If no results found: (do not reset fields, display a message saying no results found for the search, prompt the user for additional information, launch the sound of laughing.mpg). :) Sure, in one way or another, all of this can be accomplished with binding to variables in the ModelLocator, Alerts and PopUps. But, inho, binding state for the small things, that are soley related to a local view and conditional on the result of the call, serves to clutter-up the ModelLocator. The view could handle some of its own state if it was notified of the status of the service call. I know that this is purely preferential, but why use the ModelLocator to control every single state in the application, when a local view could handle the small stuff? By reducing the number of state variables, the views would also be easier to reuse; if, for instance, you wanted to encapsulate the view by passing-in the bindings to the ModelLocator in the components outer definition. Proposal: Round-trip notification - success, failure, or custom message returned to the originator of the CairngormEvent (sans data). Possible method: Add a ViewResponder class that passes messages between the Command and the View; based on the result returned by the service Responder. Or, how about attaching the Responder to the CairngormEvent to create a front-to-back, full-duplex pipeline for the call. If I'm totally off-base with this, please disregard. Humble regards, Tim Hoff --- In flexcoders@yahoogroups.com, Steven Webster [EMAIL PROTECTED] wrote: jesse, sorry if you've covered this already; but what do you mean by commands supporting callbacks, in terms of an example usage of where you'd do this ? can we rewind to the use-case, so I can make sure I understand what you're trying to achieve here ? best, Steven Steven Webster Practice Director (Rich Internet Applications) Adobe Consulting Westpoint, 4 Redheughs Rigg, South Gyle, Edinburgh, EH12 9DQ, UK p: +44 (0) 131 338 6108 m: +44 (0) 7917 428 947 [EMAIL PROTECTED] From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On Behalf Of JesterXL Sent: 06 July 2006 21:11 To: flexcoders@yahoogroups.com Subject: Re: [flexcoders] Re: Cairngorm Responder interface changes ...or you can have Commands support callbacks, and thus no need for state variables, nor a need for your Commands to update those variables. - Original Message - From: Steven Webster [EMAIL PROTECTED] mailto:swebster%40adobe.com To: flexcoders@yahoogroups.com mailto:flexcoders%40yahoogroups.com Sent: Thursday, July 06, 2006 3:57 PM Subject: RE: [flexcoders] Re: Cairngorm Responder interface changes Agreed. Developers *have* to take responsibility for creating application-specific classes. If your application
Re: [flexcoders] Re: Cairngorm Responder interface changes
Dude... do you know how many results we have in our app? I agree, this'll work for small Flash projects, but not for Enterprise Flex apps. You can't just start willy nilly throwing small state vars on ModelLocator for things like this; it'd get out of control, pretty quick. Granted, you can easily sanction it off in a new StateVars specific class, but then you have to keep track of updating those variables in your commands... no thanks, I'd rather have it baked in. - Original Message - From: Dimitrios Gianninas [EMAIL PROTECTED] To: flexcoders@yahoogroups.com Sent: Monday, July 10, 2006 11:53 PM Subject: RE: [flexcoders] Re: Cairngorm Responder interface changes Good points, but I think that it can be handled in the following fashion. The SearchView is an MXML component and it has a property called results, so its declaration would look something like this: dg:SearchView id=theSearch results={ModelLocator.results} / So once your results return, they will trigger the call to the setter method of the results property, so in that setter, you can do those little things: ... public function set results( values:ArrayCollection ):void { dg.dataProvider = values; // do other little things here } ... That pretty much aught to solve your problem and you don't have to write any extra code. I think the important thing to remember is to create small components that will receive data via binding and set themselves in a proper state (meaning changing values on certain controls, etc...). That way its clean and reusable in some cases. Dimitrios Jimmy Gianninas Optimal Payments Inc. -Original Message- From: flexcoders@yahoogroups.com on behalf of JesterXL Sent: Mon 7/10/2006 9:41 PM To: flexcoders@yahoogroups.com Subject: Re: [flexcoders] Re: Cairngorm Responder interface changes ...Tim gave better examples than I did. A lot of those small, GUI operations are what I'm talking about. - Original Message - From: Tim Hoff [EMAIL PROTECTED] To: flexcoders@yahoogroups.com Sent: Monday, July 10, 2006 8:00 PM Subject: [flexcoders] Re: Cairngorm Responder interface changes Hi Steven, Sorry to offer my .02, but here is a use-case: A search view component includes a TextInput for the search string, a RadioButtonGroup that is used for the search type selection, and two DateFields used for a search date range. There is also a search button and a reset dates button. When a search is performed, a responder returns a service call result to the command. The command updates the ModelLocator which automatically updates the view through binding. This works great for the heavy lifting (data, view states..). But, what about the light lifting; If results found: (clear and setFocus to the TextInput control, reset search options RadioButtons, reset the DateFields for a new search), If no results found: (do not reset fields, display a message saying no results found for the search, prompt the user for additional information, launch the sound of laughing.mpg). :) Sure, in one way or another, all of this can be accomplished with binding to variables in the ModelLocator, Alerts and PopUps. But, inho, binding state for the small things, that are soley related to a local view and conditional on the result of the call, serves to clutter-up the ModelLocator. The view could handle some of its own state if it was notified of the status of the service call. I know that this is purely preferential, but why use the ModelLocator to control every single state in the application, when a local view could handle the small stuff? By reducing the number of state variables, the views would also be easier to reuse; if, for instance, you wanted to encapsulate the view by passing-in the bindings to the ModelLocator in the components outer definition. Proposal: Round-trip notification - success, failure, or custom message returned to the originator of the CairngormEvent (sans data). Possible method: Add a ViewResponder class that passes messages between the Command and the View; based on the result returned by the service Responder. Or, how about attaching the Responder to the CairngormEvent to create a front-to-back, full-duplex pipeline for the call. If I'm totally off-base with this, please disregard. Humble regards, Tim Hoff --- In flexcoders@yahoogroups.com, Steven Webster [EMAIL PROTECTED] wrote: jesse, sorry if you've covered this already; but what do you mean by commands supporting callbacks, in terms of an example usage of where you'd do this ? can we rewind to the use-case, so I can make sure I understand what you're trying to achieve here ? best, Steven Steven Webster Practice Director (Rich Internet Applications) Adobe Consulting Westpoint, 4 Redheughs Rigg, South Gyle, Edinburgh, EH12 9DQ, UK p: +44 (0) 131 338 6108 m: +44 (0) 7917 428 947 [EMAIL PROTECTED] From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED
Re: [flexcoders] Re: Cairngorm Responder interface changes
How about creating a new class SearchResults with all the different bindable state variables in it? This way you don't loose the advantage of pure mvc without the clutter. Cheers, Ralf. On 7/11/06, JesterXL [EMAIL PROTECTED] wrote: Dude... do you know how many results we have in our app? Yahoo! Groups Sponsor ~-- Check out the new improvements in Yahoo! Groups email. http://us.click.yahoo.com/6pRQfA/fOaOAA/yQLSAA/nhFolB/TM ~- -- 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 * To visit your group on the web, go to: http://groups.yahoo.com/group/flexcoders/ * To unsubscribe from this group, send an email to: [EMAIL PROTECTED] * Your use of Yahoo! Groups is subject to: http://docs.yahoo.com/info/terms/
Re: [flexcoders] Re: Cairngorm Responder interface changes
On Tuesday 04 July 2006 15:28, JesterXL wrote: 2. Command callbacks. Sometimes, there is a legitimate need for a View to know when a Command is completed. In my consulting, we've added an In which case it should use data binding, and the event result updates something in the model. Remember you can bind to data via a function: selectedIndex={findOutIndexForMyViewFromModelState(model)} -- Tom Chiverton 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 Law Society. 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. Yahoo! Groups Sponsor ~-- Great things are happening at Yahoo! Groups. See the new email design. http://us.click.yahoo.com/TISQkA/hOaOAA/yQLSAA/nhFolB/TM ~- -- 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 * To visit your group on the web, go to: http://groups.yahoo.com/group/flexcoders/ * To unsubscribe from this group, send an email to: [EMAIL PROTECTED] * Your use of Yahoo! Groups is subject to: http://docs.yahoo.com/info/terms/
Re: [flexcoders] Re: Cairngorm Responder interface changes
Just what I need, 10 billion more state variables to keep track of... - Original Message - From: Tom Chiverton [EMAIL PROTECTED] To: flexcoders@yahoogroups.com Sent: Thursday, July 06, 2006 5:41 AM Subject: Re: [flexcoders] Re: Cairngorm Responder interface changes On Tuesday 04 July 2006 15:28, JesterXL wrote: 2. Command callbacks. Sometimes, there is a legitimate need for a View to know when a Command is completed. In my consulting, we've added an In which case it should use data binding, and the event result updates something in the model. Remember you can bind to data via a function: selectedIndex={findOutIndexForMyViewFromModelState(model)} -- Tom Chiverton 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 Law Society. 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 Yahoo! Groups Sponsor ~-- Something is new at Yahoo! Groups. Check out the enhanced email design. http://us.click.yahoo.com/SISQkA/gOaOAA/yQLSAA/nhFolB/TM ~- -- 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 * To visit your group on the web, go to: http://groups.yahoo.com/group/flexcoders/ * To unsubscribe from this group, send an email to: [EMAIL PROTECTED] * Your use of Yahoo! Groups is subject to: http://docs.yahoo.com/info/terms/
Re: [flexcoders] Re: Cairngorm Responder interface changes
On Thursday 06 July 2006 14:49, JesterXL wrote: Just what I need, 10 billion more state variables to keep track of... Point taken, but they don't all have to be flat i.e. direct properties of the model. You can have model.viewHelpers.* , model.thingsAboutFoo.* etc. -- Tom Chiverton 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 Law Society. 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. Yahoo! Groups Sponsor ~-- See what's inside the new Yahoo! Groups email. http://us.click.yahoo.com/2pRQfA/bOaOAA/yQLSAA/nhFolB/TM ~- -- 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 * To visit your group on the web, go to: http://groups.yahoo.com/group/flexcoders/ * To unsubscribe from this group, send an email to: [EMAIL PROTECTED] * Your use of Yahoo! Groups is subject to: http://docs.yahoo.com/info/terms/
RE: [flexcoders] Re: Cairngorm Responder interface changes
Agreed. Developers *have* to take responsibility for creating application-specific classes. If your application has 10 million state variables, then having a StateMachine / StateManager seems like a logical refactoring to aim for. If however, your application has a decent number of states, no reason they can't be held in a single State class kept on the model (our typical solution), and if you only have 2 or 3 states, even the State class can be overkill. Just my $.02 Steven Steven Webster Practice Director (Rich Internet Applications) Adobe Consulting Westpoint, 4 Redheughs Rigg, South Gyle, Edinburgh, EH12 9DQ, UK p: +44 (0) 131 338 6108 m: +44 (0) 7917 428 947 [EMAIL PROTECTED] -Original Message- From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On Behalf Of Tom Chiverton Sent: 06 July 2006 16:01 To: flexcoders@yahoogroups.com Subject: Re: [flexcoders] Re: Cairngorm Responder interface changes On Thursday 06 July 2006 14:49, JesterXL wrote: Just what I need, 10 billion more state variables to keep track of... Point taken, but they don't all have to be flat i.e. direct properties of the model. You can have model.viewHelpers.* , model.thingsAboutFoo.* etc. -- Tom Chiverton 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 Law Society. 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. Yahoo! Groups Sponsor ~-- See what's inside the new Yahoo! Groups email. http://us.click.yahoo.com/2pRQfA/bOaOAA/yQLSAA/nhFolB/TM -- --~- -- 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 Yahoo! Groups Sponsor ~-- Great things are happening at Yahoo! Groups. See the new email design. http://us.click.yahoo.com/TISQkA/hOaOAA/yQLSAA/nhFolB/TM ~- -- 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 * To visit your group on the web, go to: http://groups.yahoo.com/group/flexcoders/ * To unsubscribe from this group, send an email to: [EMAIL PROTECTED] * Your use of Yahoo! Groups is subject to: http://docs.yahoo.com/info/terms/
Re: [flexcoders] Re: Cairngorm Responder interface changes
...or you can have Commands support callbacks, and thus no need for state variables, nor a need for your Commands to update those variables. - Original Message - From: Steven Webster [EMAIL PROTECTED] To: flexcoders@yahoogroups.com Sent: Thursday, July 06, 2006 3:57 PM Subject: RE: [flexcoders] Re: Cairngorm Responder interface changes Agreed. Developers *have* to take responsibility for creating application-specific classes. If your application has 10 million state variables, then having a StateMachine / StateManager seems like a logical refactoring to aim for. If however, your application has a decent number of states, no reason they can't be held in a single State class kept on the model (our typical solution), and if you only have 2 or 3 states, even the State class can be overkill. Just my $.02 Steven Steven Webster Practice Director (Rich Internet Applications) Adobe Consulting Westpoint, 4 Redheughs Rigg, South Gyle, Edinburgh, EH12 9DQ, UK p: +44 (0) 131 338 6108 m: +44 (0) 7917 428 947 [EMAIL PROTECTED] -Original Message- From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On Behalf Of Tom Chiverton Sent: 06 July 2006 16:01 To: flexcoders@yahoogroups.com Subject: Re: [flexcoders] Re: Cairngorm Responder interface changes On Thursday 06 July 2006 14:49, JesterXL wrote: Just what I need, 10 billion more state variables to keep track of... Point taken, but they don't all have to be flat i.e. direct properties of the model. You can have model.viewHelpers.* , model.thingsAboutFoo.* etc. -- Tom Chiverton 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 Law Society. 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. Yahoo! Groups Sponsor ~-- See what's inside the new Yahoo! Groups email. http://us.click.yahoo.com/2pRQfA/bOaOAA/yQLSAA/nhFolB/TM -- --~- -- 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 -- 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 Yahoo! Groups Sponsor ~-- Yahoo! Groups gets a make over. See the new email design. http://us.click.yahoo.com/XISQkA/lOaOAA/yQLSAA/nhFolB/TM ~- -- 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 * To visit your group on the web, go to: http://groups.yahoo.com/group/flexcoders/ * To unsubscribe from this group, send an email to: [EMAIL PROTECTED] * Your use of Yahoo! Groups is subject to: http://docs.yahoo.com/info/terms/
Re: [flexcoders] Re: Cairngorm Responder interface changes
, but for sending messages, Cairngorm works great, including Acknowledge messages for Delegates that fire the original message. In both cases, actual callbacks are handled by totally different classes that basically act as Observers, and emit events. The more specialized (for example, a channel in FDS created for Text messages, and thus Chat only) is an extension of that ConsumerObserver class, called ChatObsever, and he omits Chat specific events for those who care. They, like Delegate's, utlize ServiceLocator. I would, however, prefer you all either give me a better idea(s), christen this idea as good for handling NetConnection / FDS' consumer/producer model, and/or implement something that supports these push based technologies into Cairngorm. With the exclusion of #1, both #2, and #3 can be done via extneding the Cairngorm base classes so you're not affecting the original framework, only extending it. I'd prefer #3 be made official though, by you all somehow, some way. - Original Message - From: Steven Webster To: flexcoders@yahoogroups.com Sent: Monday, July 03, 2006 6:03 PM Subject: RE: [flexcoders] Re: Cairngorm Responder interface changes Jesse, I'd love for you to share the modifications you're making to Cairngorm, and to understand the rationale behind these changes. It's not our intention that developers would typically need to change the framework locally, and doing so certainly makes it more difficult for folks to follow us on any upgrade paths as time rolls by. Different strokes for different folks though. But if you can share your motives for changes, and the changes themselves, then we can consider rolling them into the framework if they satisfy general concerns. Best, Steven Steven Webster Practice Director (Rich Internet Applications) Adobe Consulting Westpoint, 4 Redheughs Rigg, South Gyle, Edinburgh, EH12 9DQ, UK p: +44 (0) 131 338 6108 m: +44 (0) 7917 428 947 [EMAIL PROTECTED] --- --- From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On Behalf Of JesterXL Sent: 03 July 2006 20:13 To: flexcoders@yahoogroups.com Subject: Re: [flexcoders] Re: Cairngorm Responder interface changes Don't have Flex 2 open in front of me ( client hearts 1.5 ), but you can I think do: public function onResult(event:* = null):void { ResultEvent(event).result // or... var yourEvent:ResultEvent = event as ResultEvent; } I can't remember if you can cast in the function signature as: public function onResult ( event:* as ResultEvent = null ) ...but, either way, you can also do what I do; keep your own build of Cairngorm locally! I've yet to work on a project where the team didn't modify their build of Cairngorm to suit their needs. - Original Message - From: ben.clinkinbeard [EMAIL PROTECTED] To: flexcoders@yahoogroups.com Sent: Monday, July 03, 2006 3:00 PM Subject: [flexcoders] Re: Cairngorm Responder interface changes Ah ha. Actually, I had to change them to public function onResult(event:* = null):void public function onFault(event:* = null):void so that they matched the signature exactly. I guess my confusion was in that I was viewing the :* as meaning the developer could specify whatever type they wanted. I was seeing * as a kind of superclass when that is in fact not the case. I have to agree with Jester; I don't really see the point of this change. Thanks for your help, Ben --- In flexcoders@yahoogroups.com, Clint Modien cmodien@ wrote: you need to change these lines public function onResult(event:ResultEvent):void public function onFault(event:FaultEvent):void to this... public function onResult(event:*):void public function onFault(event:*)void On 7/3/06, ben.clinkinbeard ben.clinkinbeard@ wrote: Can someone explain why it is telling me I've implemented the Responder methods with an incompatible signature? public function onResult(event:ResultEvent):void public function onFault(event:FaultEvent):void The signatures shown in the docs are public function onResult(event:* = null):void public function onFault(event:* = null):void What am I missing here? Thanks, Ben --- In flexcoders@yahoogroups.com flexcoders% 40yahoogroups.com, der_kotty kotty.tm@ wrote: Hi, I was just wondering why the com.adobe.cairngorm.business.Responder interface has been changed since it has been released on Adobe Labs. In Cairngorm 2.0 alpha (org.nevis.cairngorm.business.Responder) the parameters of the onFault and onResult handlers were typed events (ResultEvent and FaultEvent). Why have the parameters
Re: [flexcoders] Re: Cairngorm Responder interface changes
1. ResultEvent FaultEvent events. I disagree with this change, so have changed them backinstead ofof using the * changefor the Responder interface. 2. Command callbacks. Sometimes, there is a legitimate need for a View to "know" when a Command is completed. In my consulting, we've added an optional callback method that can be passed via EventBroadcaster (Cairngorm 1). So, View's launching Commands have the option of using a Callback (like flash.net.Responder) to have a result method called when the Command is done. We extended Cairngorm's command to have all of this plumbing hidden. The convention we have is, "If the View has his onResult run, he can conclude that the Command succeeded in it's operation." If a fault was fired in the Delegate, this means the app is broken and needs to be fixed. There is no error handling, only error fixing. In my personal work, I've implemented both; result and faults, via Event's. If an event extends my JXLEvent class (which extends Cairngorm), it has the option of getting those callbacks. I should probably do it like we do it at work, but for now, it works. I like handling errors, so although fault and result are pretty low level, I can have View's handle errors (or Commands obviously). Both avoid ViewLocator via a nice convention. It also makes it cake to have a chained command with visual feedback. You can have your View fire off other commands in a particular order AND show visual feedback the whole time. Could you do this by binding? Sure, butI'd rather use functions vs. state variables. 3. Added 2 methods to ServiceLocator. He doesn't support Producer or Consumer (MessageAgent) services, so with a new method he does. He also doesn't support NetConnection; with the new method, he does. Since Cairngorm was made for a more request response, it feels like both of the above are halfway implemented, but for sending messages, Cairngorm works great, including Acknowledge messages for Delegates that fire the original message. In both cases, actual callbacks are handled by totally different classes that basically act as Observers, and emit events. The more specialized (for example, a channel in FDS created for Text messages, and thus Chat only) is an extension of that ConsumerObserver class, called ChatObsever, and he omits Chat specific events for those who care. They, like Delegate's, utlize ServiceLocator. I would, however, prefer you all either give me a better idea(s), christen this idea as good for handling NetConnection / FDS' consumer/producer model, and/or implement something that supports these push based technologies into Cairngorm. With the exclusion of #1, both #2, and #3 can be done via extneding the Cairngorm base classes so you're not affecting the original framework, only extending it. I'd prefer #3 be made official though, by you all somehow, some way. - Original Message - From: Steven Webster To: flexcoders@yahoogroups.com Sent: Monday, July 03, 2006 6:03 PM Subject: RE: [flexcoders] Re: Cairngorm Responder interface changes Jesse, I'd love for you to share the modifications you're making to Cairngorm, and to understand the rationale behind these changes. It's not our intention that developers would typically need to change the framework locally, and doing so certainly makes it more difficult for folks to follow us on any upgrade paths as time rolls by. Different strokes for different folks though. But if you can share your motives for changes, and the changes themselves, then we can consider rolling them into the framework if they satisfy general concerns. Best, Steven Steven WebsterPractice Director (Rich Internet Applications)Adobe ConsultingWestpoint, 4 Redheughs Rigg, South Gyle, Edinburgh, EH12 9DQ, UKp: +44 (0) 131 338 6108 m: +44 (0)7917 428 947[EMAIL PROTECTED] From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On Behalf Of JesterXLSent: 03 July 2006 20:13To: flexcoders@yahoogroups.comSubject: Re: [flexcoders] Re: Cairngorm Responder interface changes Don't have Flex 2 open in front of me ( client hearts 1.5 ), but you can I think do:public function onResult(event:* = null):void{ResultEvent(event).result// or...var yourEvent:ResultEvent = event as ResultEvent;}I can't remember if you can cast in the function signature as:public function onResult ( event:* as ResultEvent = null )...but, either way, you can also do what I do; keep your own build of Cairngorm locally! I've yet to work on a project where the team didn't modify their build of Cairngorm to suit their needs.- Original Message - From: "ben.clinkinbeard" ben.clinkinbeard@gmail.comTo: [EMAIL PROTECTED]ups.comSent: Monday, July 03, 2006 3:00 PMSubject: [flexc
RE: [flexcoders] Re: Cairngorm Responder interface changes
Jesse, I'd love for you to share the modifications you're making to Cairngorm, and to understand the rationale behind these changes. It's not our intention that developers would typically need to change the framework locally, and doing so certainly makes it more difficult for folks to follow us on any upgrade paths as time rolls by. Different strokes for different folks though. But if you can share your motives for changes, and the changes themselves, then we can consider rolling them into the framework if they satisfy general concerns. Best, Steven Steven WebsterPractice Director (Rich Internet Applications)Adobe ConsultingWestpoint, 4 Redheughs Rigg, South Gyle, Edinburgh, EH12 9DQ, UKp: +44 (0) 131 338 6108 m: +44 (0)7917 428 947[EMAIL PROTECTED] From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On Behalf Of JesterXLSent: 03 July 2006 20:13To: flexcoders@yahoogroups.comSubject: Re: [flexcoders] Re: Cairngorm Responder interface changes Don't have Flex 2 open in front of me ( client hearts 1.5 ), but you can I think do:public function onResult(event:* = null):void{ResultEvent(event).result// or...var yourEvent:ResultEvent = event as ResultEvent;}I can't remember if you can cast in the function signature as:public function onResult ( event:* as ResultEvent = null )...but, either way, you can also do what I do; keep your own build of Cairngorm locally! I've yet to work on a project where the team didn't modify their build of Cairngorm to suit their needs.- Original Message - From: "ben.clinkinbeard" ben.clinkinbeard@gmail.comTo: [EMAIL PROTECTED]ups.comSent: Monday, July 03, 2006 3:00 PMSubject: [flexcoders] Re: Cairngorm Responder interface changesAh ha. Actually, I had to change them topublic function onResult(event:* = null):voidpublic function onFault(event:* = null):voidso that they matched the signature exactly. I guess my confusion wasin that I was viewing the :* as meaning the developer could specifywhatever type they wanted. I was seeing * as a kind of superclass whenthat is in fact not the case. I have to agree with Jester; I don'treally see the point of this change.Thanks for your help,Ben--- In [EMAIL PROTECTED]ups.com, "Clint Modien" [EMAIL PROTECTED] wrote: you need to change these lines public function onResult(event:ResultEvent):void public function onFault(event:FaultEvent):void to this... public function onResult(event:*):void public function onFault(event:*)void On 7/3/06, ben.clinkinbeard ben.clinkinbeard@... wrote: Can someone explain why it is telling me I've implemented the Responder methods with an incompatible signature? public function onResult(event:ResultEvent):void public function onFault(event:FaultEvent):void The signatures shown in the docs are public function onResult(event:* = null):void public function onFault(event:* = null):void What am I missing here? Thanks, Ben --- In [EMAIL PROTECTED]ups.com flexcoders%40yahoogroups.com, "der_kotty" kotty.tm@ wrote: Hi, I was just wondering why the com.adobe.cairngorm.business.Responder interface has been changed since it has been released on Adobe Labs. In Cairngorm 2.0 alpha (org.nevis.cairngorm.business.Responder) the parameters of the onFault and onResult handlers were typed events (ResultEvent and FaultEvent). Why have the parameters been changed to '*'? Where is the sense in that? To my opinion this is not really best practice but maybe there's a really good reason for that? Does anyone know? Cheers David --Flexcoders Mailing ListFAQ: http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txtSearch Archives: http://www.mail-archive.com/flexcoders%40yahoogroups.comYahoo! Groups Links __._,_.___ -- 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 Visit your group "flexcoders" on the web. To unsubscribe from this group, send an email to:[EMAIL PROTECTED] Your use of Yahoo! Groups is subject to the Yahoo! Terms of Service. __,_._,___
RE: [flexcoders] Re: Cairngorm Responder interface changes
Hi Steven; Although I risk being accused of hijacking this thread, I can suggest one change to Cairngorm: com.adobe.cairngorm.control.FrontController private function executeCommand( event : CairngormEvent ) : void { var commandToInitialise : Class = getCommand( event.type ); var commandToExecute : Command = new commandToInitialise(); event.stopPropogation(); //change is here commandToExecute.execute( event ); } In the case where application A dynamically loads application B into a separate application domain that is not a child of application As domain, the FrontController of application A will get events from application B. Since an event from application B cannot be coerced into the event class with the same name in application A, a run-time error will occur unless propagation of the event is halted in application Bs front controller. I mention this now because Im in the process of converting our Flex 2B3 application to Flex 2 (final) and am copying the change in FrontController. Tobias. From: flexcoders@yahoogroups.com [mailto:flexcoders@yahoogroups.com] On Behalf Of Steven Webster Sent: Monday, July 03, 2006 3:03 PM To: flexcoders@yahoogroups.com Subject: RE: [flexcoders] Re: Cairngorm Responder interface changes Jesse, I'd love for you to share the modifications you're making to Cairngorm, and to understand the rationale behind these changes. It's not our intention that developers would typically need to change the framework locally, and doing so certainly makes it more difficult for folks to follow us on any upgrade paths as time rolls by. Different strokes for different folks though. But if you can share your motives for changes, and the changes themselves, then we can consider rolling them into the framework if they satisfy general concerns. Best, Steven Steven Webster Practice Director (Rich Internet Applications) Adobe Consulting Westpoint, 4 Redheughs Rigg, South Gyle, Edinburgh, EH12 9DQ, UK p: +44 (0) 131 338 6108 m: +44 (0)7917 428 947 [EMAIL PROTECTED] From: flexcoders@yahoogroups.com [mailto:flexcoders@yahoogroups.com] On Behalf Of JesterXL Sent: 03 July 2006 20:13 To: flexcoders@yahoogroups.com Subject: Re: [flexcoders] Re: Cairngorm Responder interface changes Don't have Flex 2 open in front of me ( client hearts 1.5 ), but you can I think do: public function onResult(event:* = null):void { ResultEvent(event).result // or... var yourEvent:ResultEvent = event as ResultEvent; } I can't remember if you can cast in the function signature as: public function onResult ( event:* as ResultEvent = null ) ...but, either way, you can also do what I do; keep your own build of Cairngorm locally! I've yet to work on a project where the team didn't modify their build of Cairngorm to suit their needs. - Original Message - From: ben.clinkinbeard ben.clinkinbeard@gmail.com To: [EMAIL PROTECTED]ups.com Sent: Monday, July 03, 2006 3:00 PM Subject: [flexcoders] Re: Cairngorm Responder interface changes Ah ha. Actually, I had to change them to public function onResult(event:* = null):void public function onFault(event:* = null):void so that they matched the signature exactly. I guess my confusion was in that I was viewing the :* as meaning the developer could specify whatever type they wanted. I was seeing * as a kind of superclass when that is in fact not the case. I have to agree with Jester; I don't really see the point of this change. Thanks for your help, Ben --- In [EMAIL PROTECTED]ups.com, Clint Modien [EMAIL PROTECTED] wrote: you need to change these lines public function onResult(event:ResultEvent):void public function onFault(event:FaultEvent):void to this... public function onResult(event:*):void public function onFault(event:*)void On 7/3/06, ben.clinkinbeard ben.clinkinbeard@... wrote: Can someone explain why it is telling me I've implemented the Responder methods with an incompatible signature? public function onResult(event:ResultEvent):void public function onFault(event:FaultEvent):void The signatures shown in the docs are public function onResult(event:* = null):void public function onFault(event:* = null):void What am I missing here? Thanks, Ben --- In [EMAIL PROTECTED]ups.com flexcoders%40yahoogroups.com, der_kotty kotty.tm@ wrote: Hi, I was just wondering why the com.adobe.cairngorm.business.Responder interface has been changed since it has been released on Adobe Labs. In Cairngorm 2.0 alpha (org.nevis.cairngorm.business.Responder) the parameters of the onFault and onResult handlers were typed events (ResultEvent and FaultEvent). Why have the parameters been changed to '*'? Where is the sense in that? To my opinion this is not really best practice
Re: [flexcoders] Re: Cairngorm Responder interface changes
Sending again; sent at like 10:00am this morning, but still don't see it. 10:03pm now. - 1. ResultEvent FaultEvent events. I disagree with this change, so have changed them backinstead ofof using the * changefor the Responder interface. 2. Command callbacks. Sometimes, there is a legitimate need for a View to "know" when a Command is completed. In my consulting, we've added an optional callback method that can be passed via EventBroadcaster (Cairngorm 1). So, View's launching Commands have the option of using a Callback (like flash.net.Responder) to have a result method called when the Command is done. We extended Cairngorm's command to have all of this plumbing hidden. The convention we have is, "If the View has his onResult run, he can conclude that the Command succeeded in it's operation." If a fault was fired in the Delegate, this means the app is broken and needs to be fixed. There is no error handling, only error fixing. In my personal work, I've implemented both; result and faults, via Event's. If an event extends my JXLEvent class (which extends Cairngorm), it has the option of getting those callbacks. I should probably do it like we do it at work, but for now, it works. I like handling errors, so although fault and result are pretty low level, I can have View's handle errors (or Commands obviously). Both avoid ViewLocator via a nice convention. It also makes it cake to have a chained command with visual feedback. You can have your View fire off other commands in a particular order AND show visual feedback the whole time. Could you do this by binding? Sure, butI'd rather use functions vs. state variables. 3. Added 2 methods to ServiceLocator. He doesn't support Producer or Consumer (MessageAgent) services, so with a new method he does. He also doesn't support NetConnection; with the new method, he does. Since Cairngorm was made for a more request response, it feels like both of the above are halfway implemented, but for sending messages, Cairngorm works great, including Acknowledge messages for Delegates that fire the original message. In both cases, actual callbacks are handled by totally different classes that basically act as Observers, and emit events. The more specialized (for example, a channel in FDS created for Text messages, and thus Chat only) is an extension of that ConsumerObserver class, called ChatObsever, and he omits Chat specific events for those who care. They, like Delegate's, utlize ServiceLocator. I would, however, prefer you all either give me a better idea(s), christen this idea as good for handling NetConnection / FDS' consumer/producer model, and/or implement something that supports these push based technologies into Cairngorm. With the exclusion of #1, both #2, and #3 can be done via extneding the Cairngorm base classes so you're not affecting the original framework, only extending it. I'd prefer #3 be made official though, by you all somehow, some way. - Original Message - From: Steven Webster To: flexcoders@yahoogroups.com Sent: Monday, July 03, 2006 6:03 PM Subject: RE: [flexcoders] Re: Cairngorm Responder interface changes Jesse, I'd love for you to share the modifications you're making to Cairngorm, and to understand the rationale behind these changes. It's not our intention that developers would typically need to change the framework locally, and doing so certainly makes it more difficult for folks to follow us on any upgrade paths as time rolls by. Different strokes for different folks though. But if you can share your motives for changes, and the changes themselves, then we can consider rolling them into the framework if they satisfy general concerns. Best, Steven Steven WebsterPractice Director (Rich Internet Applications)Adobe ConsultingWestpoint, 4 Redheughs Rigg, South Gyle, Edinburgh, EH12 9DQ, UKp: +44 (0) 131 338 6108 m: +44 (0)7917 428 947[EMAIL PROTECTED] From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On Behalf Of JesterXLSent: 03 July 2006 20:13To: flexcoders@yahoogroups.comSubject: Re: [flexcoders] Re: Cairngorm Responder interface changes Don't have Flex 2 open in front of me ( client hearts 1.5 ), but you can I think do:public function onResult(event:* = null):void{ResultEvent(event).result// or...var yourEvent:ResultEvent = event as ResultEvent;}I can't remember if you can cast in the function signature as:public function onResult ( event:* as ResultEvent = null )...but, either way, you can also do what I do; keep your own build of Cairngorm locally! I've yet to work on a project where the team didn't modify their build of Cairngorm to suit their needs.- Original Message - From: "ben.clinkinbeard"
Re: [flexcoders] Re: Cairngorm Responder interface changes
you need to change these lines public function onResult(event:ResultEvent):void public function onFault(event:FaultEvent):voidto this... public function onResult(event:*):void public function onFault(event:*)voidOn 7/3/06, ben.clinkinbeard [EMAIL PROTECTED] wrote: Can someone explain why it is telling me I've implemented the Responder methods with an incompatible signature? public function onResult(event:ResultEvent):void public function onFault(event:FaultEvent):void The signatures shown in the docs are public function onResult(event:* = null):void public function onFault(event:* = null):void What am I missing here? Thanks, Ben --- In flexcoders@yahoogroups.com, der_kotty [EMAIL PROTECTED] wrote: Hi, I was just wondering why the com.adobe.cairngorm.business.Responder interface has been changed since it has been released on Adobe Labs. In Cairngorm 2.0 alpha (org.nevis.cairngorm.business.Responder) the parameters of the onFault and onResult handlers were typed events (ResultEvent and FaultEvent). Why have the parameters been changed to '*'? Where is the sense in that? To my opinion this is not really best practice but maybe there's a really good reason for that? Does anyone know? Cheers David __._,_.___ -- Flexcoders Mailing List FAQ: http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt Search Archives: http://www.mail-archive.com/flexcoders%40yahoogroups.com SPONSORED LINKS Web site design development Computer software development Software design and development Macromedia flex Software development best practice YAHOO! GROUPS LINKS Visit your group "flexcoders" on the web. To unsubscribe from this group, send an email to:[EMAIL PROTECTED] Your use of Yahoo! Groups is subject to the Yahoo! Terms of Service. __,_._,___
Re: [flexcoders] Re: Cairngorm Responder interface changes
Don't have Flex 2 open in front of me ( client hearts 1.5 ), but you can I think do: public function onResult(event:* = null):void { ResultEvent(event).result // or... var yourEvent:ResultEvent = event as ResultEvent; } I can't remember if you can cast in the function signature as: public function onResult ( event:* as ResultEvent = null ) ...but, either way, you can also do what I do; keep your own build of Cairngorm locally! I've yet to work on a project where the team didn't modify their build of Cairngorm to suit their needs. - Original Message - From: ben.clinkinbeard [EMAIL PROTECTED] To: flexcoders@yahoogroups.com Sent: Monday, July 03, 2006 3:00 PM Subject: [flexcoders] Re: Cairngorm Responder interface changes Ah ha. Actually, I had to change them to public function onResult(event:* = null):void public function onFault(event:* = null):void so that they matched the signature exactly. I guess my confusion was in that I was viewing the :* as meaning the developer could specify whatever type they wanted. I was seeing * as a kind of superclass when that is in fact not the case. I have to agree with Jester; I don't really see the point of this change. Thanks for your help, Ben --- In flexcoders@yahoogroups.com, Clint Modien [EMAIL PROTECTED] wrote: you need to change these lines public function onResult(event:ResultEvent):void public function onFault(event:FaultEvent):void to this... public function onResult(event:*):void public function onFault(event:*)void On 7/3/06, ben.clinkinbeard [EMAIL PROTECTED] wrote: Can someone explain why it is telling me I've implemented the Responder methods with an incompatible signature? public function onResult(event:ResultEvent):void public function onFault(event:FaultEvent):void The signatures shown in the docs are public function onResult(event:* = null):void public function onFault(event:* = null):void What am I missing here? Thanks, Ben --- In flexcoders@yahoogroups.com flexcoders%40yahoogroups.com, der_kotty kotty.tm@ wrote: Hi, I was just wondering why the com.adobe.cairngorm.business.Responder interface has been changed since it has been released on Adobe Labs. In Cairngorm 2.0 alpha (org.nevis.cairngorm.business.Responder) the parameters of the onFault and onResult handlers were typed events (ResultEvent and FaultEvent). Why have the parameters been changed to '*'? Where is the sense in that? To my opinion this is not really best practice but maybe there's a really good reason for that? Does anyone know? Cheers David -- 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 Yahoo! Groups Sponsor ~-- Something is new at Yahoo! Groups. Check out the enhanced email design. http://us.click.yahoo.com/SISQkA/gOaOAA/yQLSAA/nhFolB/TM ~- -- 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 * To visit your group on the web, go to: http://groups.yahoo.com/group/flexcoders/ * To unsubscribe from this group, send an email to: [EMAIL PROTECTED] * Your use of Yahoo! Groups is subject to: http://docs.yahoo.com/info/terms/