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 flexcoders@yahoogroups.com, "Wally Kolcz" <wko...@...> 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