Rename checkState to _checkState.

private var _checkState:String;

public function get checkState():String
{
    return _checkState;
}
public function set checkState(val:String):void
{
    // make sure val is a valid value
    if (val == "true" || val == "semi" || val == "false")
    {
       _checkState = val;
    }
}
--- In flexcoders@yahoogroups.com, "shemeshkale" <[EMAIL PROTECTED]> wrote:
>
> hello group.
> using flex 1.5, i want to make a 3 state checkbox so i have extended a
> button to do this.
> on this button i have added a new property named : checkState.
> please see the code below for my 2 files.
> i know there is a better way (much more elegant) with the use of
> get/set to make a custom property.
> i just dont know how to use them getter-setter.
> could you, PLEASE, take a look at my code and tell me how is this done
> with get/set?
>
> mxml file:
>
> <?xml version="1.0" encoding="utf-8"?>
> <mx:Application xmlns:mx="http://www.macromedia.com/2003/mxml";
> xmlns:myComponents="myComponents.*" backgroundColor="#0066CC">
>
> <mx:Panel width="50%" height="90%" verticalAlign="middle"
> horizontalAlign="center">
>  <mx:Button label="check state" click="textA.text+=' ..state:
> '+myBtn.checkState;" />
>  <mx:RadioButton label="semi" click="myBtn.checkState = 'semi';
> myBtn.dispatchEvent({type:'stateUpdate'})" />
>  <mx:RadioButton label="true" click="myBtn.checkState = 'true';
> myBtn.dispatchEvent({type:'stateUpdate'})" />
>  <mx:RadioButton label="false" click="myBtn.checkState = 'false';
> myBtn.dispatchEvent({type:'stateUpdate'})" />
>  <mx:Spacer height="30" />
>  <myComponents:tri_state id="myBtn" checkState="true"
> useHandCursor="true"/>
>  <myComponents:tri_state id="myBtn1" useHandCursor="true"/>
>  <myComponents:tri_state id="myBtn2" checkState="false"
> useHandCursor="true"/>
>  <mx:TextArea width="80%" height="100%" backgroundColor="#CCCCCC"
> id="textA" />
> </mx:Panel>
> </mx:Application>
>
>
> The tri_state.as :
> class myComponents.tri_state extends mx.controls.Button {
>
>  public var checkState:String;
>
>  [Embed(source="images/3state_true.png")]
>  public var state_true:String;
>  [Embed(source="images/3state_semi.png")]
>  public var state_semi:String;
>  [Embed(source="images/3state_false.png")]
>  public var state_false:String;
>
>  public function tri_state(checkState:String){
>   setStyle("horizontalGap",0);
>   setStyle("borderStyle","solid");
>   width = 12;
>   height = 12;
>   addEventListener("click", this);
>   addEventListener("initialize", this);
>   addEventListener("stateUpdate", this);
>  }
>
>  private function stateUpdate(event:Object):Void{
>   if (checkState == "true")icon = state_true;
> else if (checkState == "semi")icon = state_semi;
> else icon = state_false;
>  }
>
>  private function initialize(event: Object) : Void {
>   //mx.core.Application.alert(""+semi);
>   stateUpdate();
>  }
>
>  private function click(event: Object) : Void {
>   if(checkState == "false"){
>    icon = state_semi;
>    checkState = "semi";
>   }else if(checkState == "true"){
>    icon = state_false;
>    checkState = "false";
>   }else if(checkState=="semi"){
>    icon = state_true;
>    checkState = "true";
>   }
>  }
>







--
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/
 


Reply via email to