Skip to content

Instantly share code, notes, and snippets.

@odoe
Created January 27, 2011 19:39
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save odoe/799072 to your computer and use it in GitHub Desktop.
Save odoe/799072 to your computer and use it in GitHub Desktop.
Simple example of using NativeMappedSignal in a Flex Component
package net.odoe.nmsExample.components
{
import flash.events.MouseEvent;
import org.osflash.signals.natives.NativeMappedSignal;
import spark.components.Button;
import spark.components.TextInput;
import spark.components.supportClasses.SkinnableComponent;
public class MyComp extends SkinnableComponent
{
[SkinPart(required="true")]
public var btn1:Button;
[SkinPart(required="true")]
public var btn2:Button;
[SkinPart(required="true")]
public var txtInput:TextInput;
private var btn1Clicked:NativeMappedSignal;
private var btn2Clicked:NativeMappedSignal;
protected function onButtonClicked(value:String):void
{
txtInput.text = value;
}
override protected function partAdded(partName:String, instance:Object):void
{
super.partAdded(partName,instance);
if (instance == btn1)
{
btn1Clicked = new NativeMappedSignal(btn1, MouseEvent.CLICK, MouseEvent, String).mapTo("Button 1 was clicked");
btn1Clicked.add(onButtonClicked);
}
else if (instance == btn2)
{
btn2Clicked = new NativeMappedSignal(btn2, MouseEvent.CLICK, MouseEvent, String).mapTo("Button 2 was clicked");
btn2Clicked.add(onButtonClicked);
}
}
override protected function partRemoved(partName:String, instance:Object):void
{
super.partRemoved(partName,instance);
if (instance == btn1)
{
btn1Clicked.removeAll();
btn1Clicked = null;
}
else if (instance == btn2)
{
btn2Clicked.removeAll();
btn2Clicked = null;
}
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment