Hi Michael, Unfortunately, that code didn't help :( They still end up on top of each other.
I am dispatching the newChildAdded event in the method that sets the textField to autoSize and wordWrap to true so that I can call invalidateDisplayList() in the parent VBox. Without that call the VBox seems to stack them just like they're single line CheckBoxes. Thanks, Ben --- In [email protected], "Michael Schmalle" <[EMAIL PROTECTED]> wrote: > > Hi Ben, > > 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? > > On 9/6/06, Abdul Qabiz <[EMAIL PROTECTED]> wrote: > > > > 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.. > > > > -abdul > > > > > > On 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 Yahoo! Groups Links <*> To visit your group on the web, go to: http://groups.yahoo.com/group/flexcoders/ <*> To unsubscribe from this group, send an email to: [EMAIL PROTECTED] <*> Your use of Yahoo! Groups is subject to: http://docs.yahoo.com/info/terms/

