Why don't you do this?
// **** SuperCheckBox.as ***
package
{
import mx.controls.CheckBox;
import mx.events.FlexEvent;
import flash.text.TextFieldAutoSize;
import flash.events.Event;
public class SuperCheckBox extends CheckBox
{
public function SuperCheckBox()
{
super();
}
override protected function createChildren():void
{
super.createChildren();
if(textField)
{
textField.wordWrap = true;
textField.autoSize = TextFieldAutoSize.LEFT;
textField.border = true;
}
//dispatchEvent(new Event("newChildAdded", true)); // Why do you do this?
}
override protected function measure():void
{
super.measure();
measuredMinHeight = measuredHeight = textField.height;
}
}
}
Peace, Mike
PS is ther need to call that newChildAdded event?
I believe, you should use INITIALIZE in your case. I see, you are setting measuredMinHeight in doStuff (..) method..
Initialize would dispatached before any layouting or measuring happens (or before updateDisplayList (..) is invoked?)..
However, please check out..
-abdulOn 9/6/06, ben.clinkinbeard < [EMAIL PROTECTED] > wrote:Hello, I have created a CheckBox whose label can accomodate multiline
text by constructing a CheckBox subclass (mockingly) named
SuperCheckBox. I am adding a set of them to a VBox inside a loop, but
in order to get them properly spaced (not overlapping), I am having to
call both FlexEvent.INITIALIZE and FlexEvent.CREATION_COMPLETE. I know
I am doing something wrong and shouldn't have to call both, but can't
figure out which event is fired once the whole SuperCheckbox component
is done resizing its text box. Any help is appreciated; my code is below.
// in my Canvas
vb = VBox(addChild(new VBox()));
vb.setStyle("verticalGap", 20);
vb.addEventListener("newChildAdded", updateVBox);
for(var i:int = 0; i < labelsArray.length; i++)
{
var cb:SuperCheckBox = new SuperCheckBox();
cb.label = labelsArray[i];
cb.width = 400;
vb.addChild(cb);
}
private function updateVBox(event:Event):void
{
vb.invalidateDisplayList();
}
// **** SuperCheckBox.as ***
package
{
import mx.controls.CheckBox;
import mx.events.FlexEvent;
import flash.text.TextFieldAutoSize;
import flash.events.Event;
public class SuperCheckBox extends CheckBox
{
public function SuperCheckBox()
{
super();
addEventListener(FlexEvent.INITIALIZE, doStuff);
addEventListener(FlexEvent.CREATION_COMPLETE, doStuff);
}
private function doStuff(event:Object):void
{
this.textField.wordWrap = true;
this.textField.autoSize = TextFieldAutoSize.LEFT;
this.textField.border = true;
measuredMinHeight = measuredHeight = this.textField.height;
dispatchEvent(new Event("newChildAdded", true));
}
override protected function measure():void
{
super.measure();
measuredMinHeight = measuredHeight = this.textField.height;
}
}
}
Thanks,
Ben
--
What goes up, does come down. __._,_.___
--
Flexcoders Mailing List
FAQ: http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt
Search Archives: http://www.mail-archive.com/flexcoders%40yahoogroups.com
SPONSORED LINKS
Software development tool Software development Software development services Home design software Software development company
YAHOO! GROUPS LINKS
- Visit your group "flexcoders" on the web.
- To unsubscribe from this group, send an email to:
[EMAIL PROTECTED]
- Your use of Yahoo! Groups is subject to the Yahoo! Terms of Service.
__,_._,___
- [flexcoders] What comes after FlexEvent.INITIALIZE and Fl... ben.clinkinbeard
- Re: [flexcoders] What comes after FlexEvent.INITIALI... Abdul Qabiz
- Re: [flexcoders] What comes after FlexEvent.INIT... Michael Schmalle
- [flexcoders] Re: What comes after FlexEvent.... ben.clinkinbeard
- Re: [flexcoders] Re: What comes after Fl... Michael Schmalle
- [flexcoders] Re: What comes after FlexEvent.INIT... ben.clinkinbeard
- Re: [flexcoders] Re: What comes after FlexEv... Abdul Qabiz
- Re: [flexcoders] Re: What comes after FlexEv... Darron J. Schall
- Re: [flexcoders] Re: What comes after Fl... Michael Schmalle
- Re: [flexcoders] Re: What comes aft... Michael Schmalle
- [flexcoders] Re: What comes after FlexEv... ben.clinkinbeard
- Re: [flexcoders] Re: What comes aft... Michael Schmalle
- [flexcoders] Re: What comes aft... ben.clinkinbeard
Reply via email to