It doesn't seem that skinning is something that Adobe considered would need to 
be done in a skin class, for an item renderer.  But, you can apply a skin class 
to them if desired.  At each level: GroupBase, Group, DataRenderer, and finally 
ItemRenderer, you get additional functionality; and consequently, a little more 
overhead.  For instance, if you used ItemRenderer instead of UIComponent, you 
could use the "hovered" state to control the visibility of the button.  
However, I think that you're going about it the most efficient way in creating 
AS item renderers instead of mxml; especially for ADG.

-TH

--- In flexcoders@yahoogroups.com, Nick Middleweek <nick@...> wrote:
>
> Thanks for the tip...
> 
> If I bumped up to GroupBase, does that mean I can use Spark skinning as well
> or is this not related?
> 
> 
> 
> 
> 
> 
> On 6 September 2011 16:31, turbo_vb <TimHoff@...> wrote:
> 
> > **
> >
> >
> > You might try bumping up from UIComponent to GroupBase and set
> > mouseEnabledWhereTransparent = true;
> >
> > -TH
> >
> >
> > --- In flexcoders@yahoogroups.com, Alex Harui <aharui@> wrote:
> > >
> > > Something has to draw onto every pixel, otherwise the mouse hit passes
> > through to underneath. You can set the alpha to 0 and it will still work.
> > You can also set background=true and pick a backgroundColor on the TextField
> > and not have to draw the fill.
> > >
> > >
> > > On 9/6/11 2:18 AM, "Nick Middleweek" <nick@> wrote:
> > >
> > >
> > >
> > >
> > >
> > >
> > > OK, well I've settled with the white background for now...
> > >
> > >
> > >
> > >
> > >
> > > On 5 September 2011 11:36, Nick Middleweek <nick@> wrote:
> > > Hi,
> > >
> > > We're using Flex 4 and have an Item Renderer that extends UIComponent.
> > >
> > > We're adding a TextField that's added in createChildren().
> > >
> > > In the Constructor(), I'm adding the listener:
> > >
> > > this.addEventListener(MouseEvent.MOUSE_OVER, this_onMouseOver);
> > >
> > >
> > > ...And in the listener function, I'm adding a button:
> > >
> > > indicator = new Button();
> > > indicator.width = 20;
> > > indicator.height = 20;
> > > indicator.label = "...";
> > > this.addChild(indicator);
> > >
> > > this.invalidateDisplayList();
> > >
> > >
> > > The problem is that the MouseOver event is ONLY firing when I mouse over
> > the TextField and not the 'background' of the IR.
> > >
> > > If I draw a rectangle in updateDisplayList:
> > >
> > > // draw rect
> > > this.graphics.beginFill(0xFF0000, 1);
> > > this.graphics.drawRect(0, 0, unscaledWidth, unscaledHeight);
> > > this.graphics.endFill();
> > >
> > > ... the MouseOver event DOES fire on the red background.
> > >
> > > Is there a way of achieving this without drawing a rectangle? I did think
> > of setting the rect to white but this doesn't seem like the correct
> > approach.
> > >
> > >
> > > Thanks for any help...
> > >
> > > Nick
> > >
> > >
> > > --
> > > Alex Harui
> > > Flex SDK Team
> > > Adobe System, Inc.
> > > http://blogs.adobe.com/aharui
> > >
> >
> >  
> >
>


Reply via email to