topical media & game development
lib-flex-style-explorer-components-doubleTextSliders.mx
lib-flex-style-explorer-components-doubleTextSliders.mx
(swf
)
[ flash
]
flex
<?xml version="1.0" encoding="utf-8"?>
<mx:FormItem xmlns:mx="http://www.adobe.com/2006/mxml" label="{sliderLabel}" width="100%" creationComplete="setDefault()" >
<mx:HBox verticalAlign="middle" width="100%" paddingRight="{padRight}" horizontalGap="2">
<mx:HBox horizontalGap="-3">
<mx:HSlider
width="60"
thumbCount="1"
styleName="fseSliders"
minimum="{min}"
maximum="{max}"
value="{styleValue[0]}"
dataTipPrecision="{snapInt == 1?(0):2}"
snapInterval="{snapInt}"
liveDragging="{liveDrag}"
id="sliderItem1"
change="{this.styleValue = [sliderItem1.value , sliderItem2.value]; dispatchMyEvent(); }" />
<mx:HSlider
width="60"
thumbCount="1"
styleName="fseSliders"
minimum="{min}"
maximum="{max}"
value="{styleValue[1]}"
dataTipPrecision="{snapInt == 1?(0):2}"
snapInterval="{snapInt}"
liveDragging="{liveDrag}"
id="sliderItem2"
change="{this.styleValue = [sliderItem1.value , sliderItem2.value]; dispatchMyEvent(); }" />
</mx:HBox>
<mx:Spacer width="100%" />
<mx:TextInput width="{textWidth != 0?(textWidth):snapInt == 1?(30):40}" id="textBox1" text="{sliderItem1.value}" restrict="0123456789."
change="updateSliders(event.target.text, 1)" styleName="sliderText" height="20" />
<mx:TextInput width="{textWidth != 0?(textWidth):snapInt == 1?(30):40}" id="textBox2" text="{sliderItem2.value}" restrict="0123456789."
change="updateSliders(event.target.text, 2)" styleName="sliderText" height="20" />
</mx:HBox>
<mx:Script>
<![CDATA[
import mx.events.FlexEvent;
[Bindable]
public var sliderLabel:String;
[Bindable]
public var min:Number;
[Bindable]
public var textWidth:Number = 0;
[Bindable]
public var max:Number;
[Bindable]
public var styleValue:Array;
[Bindable]
public var snapInt:Number = 1;
[Bindable]
public var liveDrag:Boolean = true;
[Bindable]
public var padRight:Number = 5;
private function dispatchMyEvent():void {
this.dispatchEvent( new Event("dataChange") );
}
private function updateSliders(value:String, whichSlider:Number):void {
if (value != '.' && value != '0.' && value != '0.0' && value != '.0' ) {
this['sliderItem' + whichSlider].value = Number(value);
this.styleValue = [sliderItem1.value , sliderItem2.value];
dispatchMyEvent();
}
}
[Bindable]
public var defaultValue:Array;
public function setDefault():void {
defaultValue = styleValue;
}
public function restoreDefault():void {
styleValue = defaultValue;
}
]]>
</mx:Script>
<mx:Metadata>
[Event("dataChange")]
</mx:Metadata>
</mx:FormItem>
(C) Æliens
18/6/2009
You may not copy or print any of this material without explicit permission of the author or the publisher.
In case of other copyright issues, contact the author.