How can I do that? maps is the 'page' that this panel is on. I need to control 
the elements that are inside the panel:

<wallyk:RadioButtonPanel width="100%" height="20%" title="Start Address Type:" 
paddingLeft="5" includeInLayout="true" visible="true"  >
        <mx:Label id="start_txt" />
        <mx:Form  id="frmAddress" width="100%" height="100%">
            <mx:FormItem label="Street Address:" fontWeight="bold" >
                <mx:TextInput id="address_txt" fontWeight="normal" />
            </mx:FormItem>
            <mx:FormItem label="City:" fontWeight="bold">
                <mx:TextInput id="city_txt" fontWeight="normal" />    
            </mx:FormItem>
            <mx:FormItem label="State:" fontWeight="bold">
                <mx:TextInput id="state_txt" fontWeight="normal" maxChars="2" 
/>    
            </mx:FormItem>
            <mx:FormItem label="Zip Code:" fontWeight="bold">
                <mx:TextInput id="zip_txt" fontWeight="normal"  maxChars="5"/>
            </mx:FormItem>
            <mx:Button label="Get Directions" 
click="showDirections(address_txt.text, city_txt.text, state_txt.text, 
zip_txt.text);" />
        </mx:Form>
        <mx:Form width="100%" id="frmAirport" height="100%" 
includeInLayout="false" visible="false">
        <mx:ComboBox id="addresscbb" labelField="label" fontWeight="normal">
                <mx:ArrayCollection>
                    <mx:Object label="Capital Region International Airport" 
address="4100 Capital City Boulevard" city="Lansing" state="MI" 
zipcode="48906"/>
                    <mx:Object label="Kalamazoo/Battle Creek International 
Airport" address="5235 Portage Road" city="Kalamazoo" state="MI" 
zipcode="49002"/>
                    <mx:Object label="Gerald R. Ford International Airport" 
address="5500 44th St SE" city="Grand Rapids" state="MI" zipcode="49512"/>
                    <mx:Object label="Bishop International Airport" 
address="3425 W Bristol Road" city="Flint" state="MI" zipcode="48507"/>
                    <mx:Object label="Detroit Metropolitan Wayne County 
Airport" address="9000 Middlebelt Road" city="Romulus" state="MI" 
zipcode="48174"/>
                    <mx:Object label="Capital Region International Airport" 
address="655 Aviation Drive" city="Mason" state="MI" zipcode="48854"/>          
  
                </mx:ArrayCollection>
            </mx:ComboBox>
        </mx:Form>
        <mx:Button label="Map Route" id="submit_btn" visible="false" />
</wallyk:RadioButtonPanel>

----------------------------------------
From: "Tim Hoff" <[email protected]>
Sent: Wednesday, June 24, 2009 8:56 AM
To: [email protected]
Subject: [flexcoders] Re: Extending Custom Panel with RadioButtons - Help 

You need to add maps as a child in createChildren().

-TH

--- In [email protected], "Wally Kolcz" <wko...@...> wrote:

>

>

> Thanks! The labels are now showing perfectly!

>

> However, I am getting an error when I attempt to check the radio

buttons:

> TypeError: Error #1009: Cannot access a property or method of a null

object reference.

> at

com.wallykolcz.views.components::RadioButtonPanel/changeStartType()[D:\w\

kolcz\My

Documents\Flex3\landingPage\src\com\wallykolcz\views\components\RadioBut\

tonPanel.as:34]

>

> Line 34 (in this case since I chose Airport to make this error) is

part of this:

>

> public function changeStartType(e:Event):void {

> if (startLocation.selectedValue == "address"){

> maps.start_txt.text = "Enter Starting Address";

> maps.frmAirport.includeInLayout = false;

> maps.frmAirport.visible = false;

> maps.frmAddress.includeInLayout = true;

> maps.frmAddress.visible = true;

> maps.submit_btn.visible = true;

> }else{

> maps.start_txt.text = "Choose Your Airport";

> maps.frmAddress.includeInLayout = false;

> maps.frmAddress.visible = false;

> maps.frmAirport.includeInLayout = true;

> maps.frmAirport.visible = true;

> maps.submit_btn.visible = true;

> }

>

> }

>

> I did import and create a variable for the 'maps' component in which

this panel is inside.

>

> import edu.umich.body.Maps;

> private var maps:Maps;

>

> Is there something I am missing?

>

> If you need a visual reference you can see the concept site at
http://www.med.umich.edu/prmc/landing/helipad

>

> ----------------------------------------

>

> From: "Tim Hoff" timh...@...

> Sent: Wednesday, June 24, 2009 8:04 AM

> To: [email protected]

> Subject: [flexcoders] Re: Extending Custom Panel with RadioButtons -

Help

>

> Hi Wally,

>

> Pretty close, just a few minor tweaks needed:

>

> // add the event parameter

>

> public

>

> function

>

> changeStartType( event:Event ):

>

> void

>

> // change to group

>

> addressRB.group = startLocation ;

> airportRB.group = startLocation ;

>

> protected

>

> override

>

> function

>

> updateDisplayList(unscaledWidth:Number, unscaledHeight:Number):

>

> void

>

> {

>

> super

>

> .updateDisplayList(unscaledWidth, unscaledHeight);

>

> // gap between label and edges of button

>

> var

>

> margin:int = 4;

>

> // set the sizes

> addressRB.setActualSize(addressRB.getExplicitOrMeasuredWidth(),

addressRB.getExplicitOrMeasuredHeight());

> airportRB.setActualSize(airportRB.getExplicitOrMeasuredWidth(),

airportRB.getExplicitOrMeasuredHeight());

>

> // position the buttons in the panel

>

> addressRB.move(145,5 );

> airportRB.move(255,5 );

> }

>

> -TH

>

> --- In [email protected], "Wally Kolcz" wkolcz@ wrote:

> >

> >

> >

> > Using an example from the web I am trying to create a custom Panel

component that had radio buttons in the panel header for a specific

piece of a web site. The panel works and I am getting 2 radio buttons

but no labels for either button and the radioGroup's

> > changeStartType() is not being called

> > . What am I doing wrong? Here is the AS:

> >

> > package com.wallykolcz.views.components

> > {

> >

> > import edu.umich.body.Maps;

> > import flash.events.Event;

> > import mx.containers.Panel;

> > import mx.controls.Button;

> > import mx.controls.RadioButton;

> > import mx.controls.RadioButtonGroup;

> >

> > public class RadioButtonPanel extends Panel

> > {

> >

> > //Create Radio Button Group and Buttons

> > private var startLocation:RadioButtonGroup = new RadioButtonGroup();

> > private var addressRB:RadioButton = new RadioButton();

> > private var airportRB:RadioButton = new RadioButton();

> > private var maps:Maps;

> >

> > //constructor

> > public function RadioButtonPanel()

> > {

> > super();

> > }

> >

> > public function changeStartType():void {

> > if (startLocation.selectedValue == "address"){

> > maps.start_txt.text = "Enter Starting Address";

> > maps.frmAirport.includeInLayout = false;

> > maps.frmAirport.visible = false;

> > maps.frmAddress.includeInLayout = true;

> > maps.frmAddress.visible = true;

> > maps.submit_btn.visible = true;

> > }else{

> > maps.start_txt.text = "Choose Your Airport";

> > maps.frmAddress.includeInLayout = false;

> > maps.frmAddress.visible = false;

> > maps.frmAirport.includeInLayout = true;

> > maps.frmAirport.visible = true;

> > maps.submit_btn.visible = true;

> > }

> > }

> >

> > protected override function createChildren():void{

> > super.createChildren();

> > //instantiate new radiobuttons and assign properties

> > addressRB.value="address";

> > addressRB.label="My Address";

> > addressRB.groupName = "startLocation";

> >

> > airportRB.value="airport";

> > airportRB.label="Airport";

> > airportRB.groupName="startLocation"

> >

> > //add event listener for change event and call method

> > startLocation.addEventListener(Event.CHANGE, changeStartType);

> >

> > //add the buttons to rawChildren

> > rawChildren.addChild(addressRB);

> > rawChildren.addChild(airportRB);

> > }

> >

> > protected override function updateDisplayList(unscaledWidth:Number,

unscaledHeight:Number):void{

> > super.updateDisplayList(unscaledWidth, unscaledHeight);

> > //gap between label and edges of button

> > var margin:int = 4;

> >

> > //position the buttons in the panel

> > addressRB.move(145, 15);

> > airportRB.move(255,15)

> > }

> >

>



Reply via email to