well, i managed doing that :)
Using one panel, I use the currentTarget object of the evevnt allows
me to retrieve the dataPorvider elements
private function tooltipDetailCreate(event:ToolTipEvent):void {
var tt:PanelToolTip = new PanelToolTip();
var innerImage:Object = event.currentTarget;
tt.width = 190;
tt.height = 100;
tt.bodyText = "image source: " + innerImage.source;
event.toolTip = tt;
}
It looks great.
Now I have (of course) one more question.
Every image need to have a unique Key/Value elements in a hashMap.
I know Java but rather new in Flex,
How can I set a hashMap into my ArrayCollection dp?
and what is the attribute I need to set in my panel in order to see
it in my tooltip?
Thanks again
Jo
--- In [email protected], "yossi.baram" <yossi.ba...@...>
wrote:
>
> I think that I need to create a new panel for each image,
> let say if I have 3 images in one cell and the event is fired,
> now I get one panel for all with the same data and its not good for
> me, i need 3 panels with different data,
> How do I do it??
> Can it be done?
>
> Thanks again
>
> Jo
>
> --- In [email protected], "yossi.baram" <yossi.baram@>
> wrote:
> >
> > Hi Nate,
> > Thanks, it works
> > But I have one problem,
> > How can I show seperate details for each of the images?
> > rememver I have one cell that includes several images side by
side
> > drawn from the loop bellow, and each one need to popup different
> data
> > on a tooltip.
> >
> >
> > private var tooltipData:String;
> > override public function set data(value:Object):void {
> >
> > if (value != null)
> > {
> > removeAllChildren();
> > for (var i:int = 0; i < value.hair.length; i++){
> > var img:Image = new Image();
> > img.source = value.hair[i].image;
> > tooltipData = "image - " +i;
> > img.percentWidth=value.hair[i].width;
>
> > img.maintainAspectRatio=false;
> > img.addEventListener(ToolTipEvent.TOOL_TIP_CREATE,
> > tooltipDetailCreate);
> > addChild(img);
> > }
> > }
> > }
> >
> > private function tooltipDetailCreate(event:ToolTipEvent):void {
> > var tt:PanelToolTip = new PanelToolTip();
> > tt.width = 190;
> > tt.height = 100;
> > tt.bodyText = tooltipData;
> > event.toolTip = tt;
> > }
> >
> >
> > and my PanelToolTip:
> >
> > <?xml version="1.0" encoding="utf-8"?>
> > <mx:Panel xmlns:mx="http://www.adobe.com/2006/mxml"
> > implements="mx.core.IToolTip"
> > width="200" alpha=".8" borderThickness="2"
> > backgroundColor="white"
> > dropShadowEnabled="true" borderColor="black"
> borderStyle="solid"
> > shadowDistance="10" shadowDirection="right">
> > <mx:Script>
> > <![CDATA[
> > [Bindable]
> > public var bodyText:String = "";
> >
> >
> > public var _text:String;
> >
> > public function get text():String {
> > return _text;
> > }
> > public function set text(value:String):void {
> > }
> > ]]>
> > </mx:Script>
> >
> > <mx:Text text="{bodyText}" percentWidth="100"/>
> >
> > </mx:Panel>
> >
> > The result I'm getting now is that I see a tooltip for each of
the
> > images but with the same data (tooltipData = the last iteration
of
> the
> > loop).
> > How can I set a different data for each of the images.
> >
> > Thanks a lot for the help :)
> >
> > Jo
> > --- In [email protected], Nathaniel Skiba <nate.skiba@>
> > wrote:
> > >
> > > toolTipCreate is an event, so when using AS, you have to use the
> > > addEventListener function. The following should help:
> > >
> > > img.addEventListener(ToolTipEvent.TOOL_TIP_CREATE,
> myHandlerFunction);
> > >
> > > Just remember that you have to import ToolTipEvent, and
> > > myHandlerFunction has to be a function that takes one argument
> which
> > is
> > > a ToolTipEvent.
> > >
> > > ~Nate
> > >
> >
>