Do something sensible when people set the width on this control
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@193 ed5b42cb-e716-0410-a449-f6a68f950b19
This commit is contained in:
@@ -1,5 +1,7 @@
|
|||||||
package com.threerings.flex {
|
package com.threerings.flex {
|
||||||
|
|
||||||
|
import mx.core.ScrollPolicy;
|
||||||
|
|
||||||
import mx.containers.HBox;
|
import mx.containers.HBox;
|
||||||
|
|
||||||
import mx.controls.Label;
|
import mx.controls.Label;
|
||||||
@@ -19,10 +21,14 @@ public class LabeledSlider extends HBox
|
|||||||
/**
|
/**
|
||||||
* Create a LabeledSlider holding the specified slider.
|
* Create a LabeledSlider holding the specified slider.
|
||||||
*/
|
*/
|
||||||
public function LabeledSlider (slider :Slider)
|
public function LabeledSlider (slider :Slider, labelWidth :int = 17)
|
||||||
{
|
{
|
||||||
_label = new Label();
|
_label = new Label();
|
||||||
_label.text = String(slider.value);
|
_label.text = String(slider.value);
|
||||||
|
_label.width = labelWidth;
|
||||||
|
|
||||||
|
horizontalScrollPolicy = ScrollPolicy.OFF;
|
||||||
|
setStyle("horizontalGap", 2);
|
||||||
|
|
||||||
addChild(_label);
|
addChild(_label);
|
||||||
this.slider = slider;
|
this.slider = slider;
|
||||||
@@ -32,6 +38,12 @@ public class LabeledSlider extends HBox
|
|||||||
slider.addEventListener(SliderEvent.CHANGE, handleSliderChange, false, 0, true);
|
slider.addEventListener(SliderEvent.CHANGE, handleSliderChange, false, 0, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
override public function set width (width :Number) :void
|
||||||
|
{
|
||||||
|
super.width = width;
|
||||||
|
slider.width = width - _label.width - 2;
|
||||||
|
}
|
||||||
|
|
||||||
protected function handleSliderChange (event :SliderEvent) :void
|
protected function handleSliderChange (event :SliderEvent) :void
|
||||||
{
|
{
|
||||||
_label.text = String(event.value);
|
_label.text = String(event.value);
|
||||||
|
|||||||
Reference in New Issue
Block a user