But what if I /want/ the current state to be the default? <mx:Application currentState="" > doesn't do it.. I still need the logic from Jeff H.
On 1/29/07, Craig Drabik <[EMAIL PROTECTED]> wrote: > > You can avoid the currentState issue by setting it in your mx:Application > tag: > > <mx:Application currentState="leftPanel"> > > You shouldn't need curly braces when defining event handlers in the tags, > only when you're setting properties. > > >It appears that, until you set it, the base state is null. Change > >your first condition to something like this: > > > >if(this.currentState != null && this.currentState != '') > > > > I'm not sure if it would cause an error, but the click code was not > >enclosed in curly brackets. > > I also moved the Script block to the top, although that should make > >no difference. > > > >I tried to add my full code to the codeshare, but got an error. So, > >here is the text (with my debugging output ) > > > > > ><?xml version="1.0" encoding="utf-8"?> > > <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" > >layout="horizontal"> > > > > <mx:Script> > > <![CDATA[ > > > > import mx.controls.Alert > > public function toggleLeft():void > > { > > Alert.show('A' + this.currentState + 'A'); > > if(this.currentState != null && this.currentState != > '') > > { > > Alert.show('default'); > > this.currentState = ''; > > } > > else > > { > > Alert.show('hide left'); > > this.currentState = 'hide_left'; > > } > > } > > public function toggleRight():void > > { > > Alert.show(this.currentState); > > if(this.currentState != null && this.currentState != > '') > > { > > this.currentState = ''; > > } > > else > > { > > this.currentState = 'hide_right'; > > } > > } > > ]]> > > </mx:Script> > > > > <mx:states> > > <mx:State name="hide_left"> > > <mx:SetProperty target="{left_panel}" name="visible" > >value="false" /> > > <mx:SetProperty target="{right_panel}" name="width" > >value="100%" /> > > </mx:State> > > <mx:State name="hide_right"> > > <mx:SetProperty target="{right_panel}" name="visible" > >value="false" /> > > <mx:SetProperty target="{left_panel}" name="width" > >value="100%" /> > > </mx:State> > > </mx:states> > > <mx:HBox width="100%" id="container" name="container"> > > <mx:Panel id="left_panel" name="left_panel" title="LEFT > >PANEL" width="50%" height="100%"> > > <mx:Label text="This is the left panel." /> > > <mx:ControlBar> > > <mx:Button label="Toggle LEFT Panel" > >click="{toggleLeft()}" /> > > <mx:Button label="Toggle RIGHT Panel" > >click="{toggleRight()}" /> > > </mx:ControlBar> > > </mx:Panel> > > <mx:Panel id="right_panel" name="right_panel" title="RIGHT > >PANEL" width="50%" height="100%"> > > <mx:Label text="This is the right panel." /> > > <mx:ControlBar> > > <mx:Button label="Toggle LEFT Panel" > >click="{toggleLeft()}" /> > > <mx:Button label="Toggle RIGHT Panel" > >click="{toggleRight()}" /> > > </mx:ControlBar> > > </mx:Panel> > > </mx:HBox> > > > > </mx:Application> > > > > > > > >At 09:30 AM 1/29/2007, you wrote: > > > > > > > > > >-- > >Jeffry Houser, Software Developer, Writer, Songwriter, Recording Engineer > >AIM: Reboog711 | Phone: 1-203-379-0773 > >-- > >My Company: <http://www.dot-com-it.com> > >My Podcast: <http://www.theflexshow.com> > >My Blog: <http://www.jeffryhouser.com> > >Connecticut Macromedia User Group: <http://www.ctmug.com> > > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~| Upgrade to Adobe ColdFusion MX7 Experience Flex 2 & MX7 integration & create powerful cross-platform RIAs http:http://ad.doubleclick.net/clk;56760587;14748456;a?http://www.adobe.com/products/coldfusion/flex2/?sdid=LVNU Archive: http://www.houseoffusion.com/groups/Flex/message.cfm/messageid:3517 Subscription: http://www.houseoffusion.com/groups/Flex/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=11502.10531.37
