Hi Alex, Thank you very much for addressing this topic in your blog. Using observe and ObserveValue seems much cleaner than viewLocator/viewHelper; more direct and less classes. Your examples illustrate a very useful technique for manipulating local view states through binding. I wasn't however, able to view the source for Iteration6. It shows a partial listing of the application mxml class, but no other classes and download options.
Kudos, -TH --- In [email protected], "Alex Uhlmann" <[EMAIL PROTECTED]> wrote: > > Hey Guys, > > FYI, I've just blogged about this topic. > http://weblogs.macromedia.com/auhlmann/archives/2006/09/cairngorm_sam pl_ > 3.cfm > http://weblogs.macromedia.com/auhlmann/archives/2006/09/using_binding _s. > cfm > > Best, > Alex > > Alex Uhlmann > Consultant (Rich Internet Applications) > Adobe Consulting > Westpoint, 4 Redheughs Rigg, > South Gyle, Edinburgh, EH12 9DQ, UK > p: +44 (0) 131 338 6969 > m: +44 (0) 7917 428 951 > [EMAIL PROTECTED] > http://weblogs.macromedia.com/auhlmann > > > > ________________________________ > > From: [email protected] [mailto:[EMAIL PROTECTED] On > Behalf Of Tim Hoff > Sent: 18 September 2006 16:35 > To: [email protected] > Subject: [flexcoders] Re: cairngorm: calling a function in a view > > > > That would be fantastic Alex. Thank you for your thoughts > concerning this topic. I look forward to reading your blog. > > -TH > > --- In [email protected] <mailto:flexcoders% 40yahoogroups.com> > , "Alex Uhlmann" <auhlmann@> > wrote: > > > > Hi there, > > > > I'd suggest letting the Command retrieve a model object via > > ModelLocator. Then, some state property in the model changes which > could > > trigger an event. Views could listen to either EventDispatcher > events or > > via Bindings. Following the Binding approach, your view could bind > to > > single properties, call methods on the view via function bindings > or if > > you explicitly want to let the view react to a model's state > change with > > calling a view method (i.e. invoking an effect or popup), which > doesn't > > necessarily return a value to a MXML component, you can use > mx:Binding > > or Paul's Observe tag. > > http://weblogs.macromedia.com/paulw/ > <http://weblogs.macromedia.com/paulw/> > > Tim, you're right. I'll hopefully get to post something about this > later > > this week. > > > > Best, > > Alex > > > > Alex Uhlmann > > Consultant (Rich Internet Applications) > > Adobe Consulting > > Westpoint, 4 Redheughs Rigg, > > South Gyle, Edinburgh, EH12 9DQ, UK > > p: +44 (0) 131 338 6969 > > m: +44 (0) 7917 428 951 > > auhlmann@ > > http://weblogs.macromedia.com/auhlmann > <http://weblogs.macromedia.com/auhlmann> > > > > > > > > ________________________________ > > > > From: [email protected] <mailto:flexcoders% 40yahoogroups.com> > > [mailto:[email protected] <mailto:flexcoders% 40yahoogroups.com> > ] On > > Behalf Of Tim Hoff > > Sent: 18 September 2006 04:29 > > To: [email protected] <mailto:flexcoders% 40yahoogroups.com> > > Subject: [flexcoders] Re: cairngorm: calling a function in a view > > > > > > > > Yes, your login example illustrates a common way to drive the view > > through the ModelLocator. However, I agree with you that it would > > be cleaner to have a view method to do this sort of thing instead > of > > a huge model with lots of references. The only problem with > > referencing a view function directly from a command, is that if > you > > remove the view or the function, the command breaks (violates > > encapsulation). If you really wanted to do this from a command > > though, you could traverse the display list ID's like so (not > > recommended): > > > > Application.application.viewMain.viewRef.resetForm(); > > > > An alternative would be to dispatch a custom event, from the > > command, that would be listened for by the view. I've addressed > > this issue here before. My personal opinion is that a responder > > that goes from the command, through the FrontController, to the > > view, would be very helpful for these types of functions. The > > Cairngorm experts here haven't really provided much guidance, > either > > through samples or blog postings, in this area. Perhaps as more > > people, like you, ask similar questions, more insight will be > > provided. Until then, since we want to remain as true to the > > Cairngorm architecture as possible, binding all state (local and > > shared) to the ModelLocator seems to be the recommended solution. > > > > Thanks for the post, > > -TH > > > > --- In [email protected] > <mailto:flexcoders%40yahoogroups.com> <mailto:flexcoders% > 40yahoogroups.com> > > , "Diego Guebel" > > <dguebel.subscription@> wrote: > > > > > > Hi Tim, > > > this might be a silly example: > > > I have a login form, when the command responds onFault I want to > > able to > > > reset the user and password textfields. > > > doing something like: > > > viewRef.resetForm(); > > > > > > you might suggest to do something like this in the view: > > > <mx:TextInput id="username" text="{login.username}"/> > > > <mx:TextInput id="password" text="{login.password}"/> > > > > > > and something like this in the command: > > > public function onFault(event:* = null):void > > > { > > > model.login.username = ""; > > > model.login.password = ""; > > > } > > > > > > I think this is the best practice, but I was just wondering as > I'm > > moving > > > from Arp where you have a view reference in the command and is > > really > > > common to do things like viewRef.method() > > > something I think it would be clearer to have a method to do > this > > sort of > > > thing instead of a huge model with lots of references.... > > > > > > Diego. > > > > > > > > > On Mon, 18 Sep 2006 10:17:41 +1200, Tim Hoff <TimHoff@> wrote: > > > > > > > Hi Diego, > > > > > > > > In general a Command and a View shouldn't know about each > other. > > > > Usually, the state of a view is changed by binding to the > > > > ModelLocator; which is updated by a Command. What does your > view > > > > function do? > > > > > > > > -TH > > > > > > > > --- In [email protected] > <mailto:flexcoders%40yahoogroups.com> > > <mailto:flexcoders%40yahoogroups.com> , "Diego Guebel" > > > > <dguebel.subscription@> wrote: > > > >> > > > >> Hi there, > > > >> I wonder what would be the best way to call a function in a > view > > > > when I > > > >> get a result in a command. > > > >> what is the way to have a reference to the view in the command > > > > since > > > >> viewlocator/viewhelper is not more recommended? > > > >> Thanks, Diego. > > > >> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > Flexcoders Mailing List > > > > FAQ: > > http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt > <http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt> > > <http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt > <http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt> > > > > > Search Archives: http://www.mail-archive.com/flexcoders% > <http://www.mail-archive.com/flexcoders%> > > <http://www.mail-archive.com/flexcoders% > <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 <*> To visit your group on the web, go to: http://groups.yahoo.com/group/flexcoders/ <*> Your email settings: Individual Email | Traditional <*> To change settings online go to: http://groups.yahoo.com/group/flexcoders/join (Yahoo! ID required) <*> To change settings via email: mailto:[EMAIL PROTECTED] mailto:[EMAIL PROTECTED] <*> 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/

