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:
Nathan Curtis
2007-04-11 22:11:58 +00:00
parent 2291510909
commit ab19cb897e
+13 -1
View File
@@ -1,5 +1,7 @@
package com.threerings.flex {
import mx.core.ScrollPolicy;
import mx.containers.HBox;
import mx.controls.Label;
@@ -19,10 +21,14 @@ public class LabeledSlider extends HBox
/**
* Create a LabeledSlider holding the specified slider.
*/
public function LabeledSlider (slider :Slider)
public function LabeledSlider (slider :Slider, labelWidth :int = 17)
{
_label = new Label();
_label.text = String(slider.value);
_label.width = labelWidth;
horizontalScrollPolicy = ScrollPolicy.OFF;
setStyle("horizontalGap", 2);
addChild(_label);
this.slider = slider;
@@ -32,6 +38,12 @@ public class LabeledSlider extends HBox
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
{
_label.text = String(event.value);