« Return to Thread: why does my MXML act differently than my AS?

Re: Re: why does my MXML act differently than my AS?

by Pan Troglodytes :: Rate this Message:

Reply to Author | View in Thread

I'm torn on whether to submit this as a "bug."  I wish someone at adobe
could step in and say "well, that's not equivalent MXML because you forgot
about ______."

On Thu, Jul 2, 2009 at 10:32 AM, valdhor <valdhorlists@...>wrote:

>
>
> Nope.
>
> I confirmed what you are seeing but couldn't figure out why in the limited
> time I had to look at it.
>
> I am going to have to defer to someone more knowledgeable.
>
>
> --- In flexcoders@... <flexcoders%40yahoogroups.com>, Pan
> Troglodytes <chimpathetic@...> wrote:
> >
> > No ideas on this one?
> >
> > On Wed, Jun 17, 2009 at 12:00 PM, Pan Troglodytes <chimpathetic@
> ...>wrote:
>
> >
> > > I have a test program that, as far as I can tell, does the same thing
> using
> > > an MXML component and the equivalent actionscript. When I click on the
> > > button to execute the AS version, everything is fine. But when I click
> on
> > > the button to execute the MXML version, I get a layout flicker. It's
> bad
> > > enough that if you try to click on the MXML button over and over really
> > > fast, you'll wind up clicking the main app and the menu will go away.
> > > Here's the code:
> > >
> > >
> > > <?xml version="1.0" encoding="utf-8"?>
> > > <Application
> > > xmlns="http://www.adobe.com/2006/mxml"
> > > layout="absolute"
> > > >
> > > <Script>
> > > <![CDATA[
> > > import mx.containers.GridItem;
> > > import mx.controls.Label;
> > > import mx.controls.DateField;
> > > private function addCategoryAS():void
> > > {
> > > var gi:GridItem;
> > > var gr:GridRow = new GridRow;
> > >
> > > gi = new GridItem;
> > > gr.addChild(gi);
> > > gi.addChild(new Label);
> > >
> > > addRow(gr);
> > > }
> > >
> > > private function addCategoryMXML():void
> > > {
> > > var gr:GridRow = new TestGridRow;
> > > gr.initialize(); // this is just to try to make it equivalent -
> > > doesn't change flicker
> > >
> > > addRow(gr);
> > > }
> > >
> > > private function addRow(gr:GridRow):void
> > > {
> > > grid.addChildAt(gr, 0);
> > >
> > > var gi:GridItem;
> > >
> > > gi = gr.getChildAt(0) as GridItem;
> > > (gi.getChildAt(0) as Label).text = "item " + grid.numChildren +
> > > ":";
> > >
> > > gr.validateSize(true);
> > > var verticalGap:Number = grid.getStyle("verticalGap");
> > > popup.scrollRect = new Rectangle(0, 0, Math.max(popup.width +
> > > gr.measuredWidth),
> > > popup.height + gr.measuredHeight + (isNaN(verticalGap) ? 0 :
> > > verticalGap));
> > > if (popup.localToGlobal(new Point(0, 0)).y <
> > > popup.owner.localToGlobal(new Point(0, 0)).y)
> > > popup.y -= gr.measuredHeight + (isNaN(verticalGap) ? 0 :
> > > verticalGap);
> > > }
> > > ]]>
> > > </Script>
> > >
> > > <Canvas bottom="0">
> > > <PopUpButton id="myPopupButton" openAlways="true">
> > > <popUp>
> > > <Canvas id="popup">
> > > <Grid id="grid" paddingTop="4" paddingBottom="4" paddingLeft="4"
> > > paddingRight="4"
> > > fontSize="12" backgroundColor="0xFFFFFF" borderStyle="outset"
> > > borderThickness="2"
> > > >
> > > <GridRow>
> > > <GridItem>
> > > <Button label="Add AS" click="addCategoryAS()"/>
> > > <Button label="Add MXML" click="addCategoryMXML()"/>
> > > </GridItem>
> > > </GridRow>
> > > </Grid>
> > > </Canvas>
> > > </popUp>
> > > </PopUpButton>
> > > </Canvas>
> > > </Application>
> > >
> > > TestGridRow.mxml:
> > > <?xml version="1.0" encoding="utf-8"?>
> > > <GridRow xmlns="http://www.adobe.com/2006/mxml">
> > > <GridItem>
> > > <Label/>
> > > </GridItem>
> > > </GridRow>
> > >
> > >
> > > I've dug through the generated code and have not been able to find
> anything
> > > that I think would account for the problem. This is frustrating,
> because
> > > what I really want to do is a more complicated MXML component to make
> it a
> > > lot nicer to add rows in my addCategory function. But I can't as long
> as
> > > it's going to be so jittery.
> > >
> > > Thanks!
> > >
> > > --
> > > Jason
> > >
> >
> >
> >
> > --
> > Jason
> >
>
>  
>



--
Jason

 « Return to Thread: why does my MXML act differently than my AS?