Thanks, Nick. I think that would work. I realized, though, that a better way would be to always anchor the custom tooltip in the same x and y position relative to the tooltip target. That way it will stay out of the way of the pie chart.
I'm trying to figure that out now. - Tom n51red wrote: > > Hi Tom, > > I'm not sure exactly what effect you're referring to as "battle of > the tooltips", but if you do need to disable a tooltip for a short > time you can do so by setting the components toolTip attribute to the > empty string (""). UIComponents throw a number of events as tooltips > are shown and hidden, but I think toolTipStart and toolTipEnd are the > most relevant here. > > So, in the toolTipStart event handler of the pie chart you would set > the parent components toolTip attribute to "" (empty string), and in > the toolTipEnd event handler you'd change it back to " " (single > space) or whatever value you're using. > > Does that help at all? > Nick > > --- In flexcoders@yahoogroups.com > <mailto:flexcoders%40yahoogroups.com>, Tom Fitzpatrick <[EMAIL PROTECTED]> > wrote: > > > > Nick - > > > > Great example! > > > > One question. I've used your example to implement a custom tooltip > on a > > component that also contains a pie chart. The pie chart has a > tooltip as > > well. > > > > Is there any way to temporarily disable to component's overall > tooltip > > while the pie chart tooltip is displaying - thereby avoiding the > dreaded > > "battle of the tooltips". > > > > - Tom > > > > > > n51red wrote: > > > > > > Hello, > > > > > > Somebody asked me to provide an example of how to use arbirary > > > components as tool tips. So here goes: > > > > > > Notes > > > ----- > > > > > > For a component to be used as a tooltip it must implement the > IToolTip > > > interface. I've used a base class ("CustomToolTip") for the custom > > > tooltips in this example that takes care of implementing the > interface, > > > and a few other things as documented within the code. > > > > > > Just like when using standard tooltips, you need to set the > toolTip > > > property of a component for a tooltip to be displayed for it. > This is > > > true even if you don't actually use the value in your tooltip > > > component. That's why I set the toolTip variables to " " in the > example. > > > > > > When a tooltip is to be displayed for a component, that component > fires > > > a toolTipCreate event. To use your custom tooltip component you > need to > > > intercept this event and set its toolTip property to an instance > of > > > your custom tooltip component. > > > > > > The main application code > > > ------------------------- > > > > > > <?xml version="1.0" encoding="utf-8"?> > > > <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml > <http://www.adobe.com/2006/mxml> > > > <http://www.adobe.com/2006/mxml <http://www.adobe.com/2006/mxml>>" > > > verticalGap="20"> > > > <mx:Script> > > > <![CDATA[ > > > import mx.events.*; > > > import CustomToolTips.*; > > > ]]> > > > </mx:Script> > > > <mx:Label text="Component1" id="Component1" toolTip=" " > > > toolTipCreate="event.toolTip=new Component1ToolTip();"/> > > > <mx:Button label="Component2" id="Component2" toolTip=" " > > > toolTipCreate="event.toolTip=new Component2ToolTip();"/> > > > </mx:Application> > > > > > > A base class for components to be used as tooltips > > > -------------------------------------------------- > > > > > > package CustomToolTips > > > { > > > import mx.core.*; > > > import mx.containers.*; > > > > > > public class CustomToolTip extends VBox implements IToolTip > > > { > > > public function CustomToolTip() > > > { > > > // Make the ToolTip invisible to the mouse so > > > that it doesn't > > > // interfere with the ToolTipManager's mouse- > > > tracking. > > > mouseEnabled = false; > > > mouseChildren=false; > > > > > > //Add padding to prevent the component from > > > //touching the sides of the application, which > > > //looks untidy > > > setStyle("paddingBottom", 10); > > > setStyle("paddingRight", 10); > > > } > > > > > > //IToolTip functions - unused in this case > > > public function get text():String { return null; } > > > public function set text(value:String):void {} > > > } > > > } > > > > > > A couple of custom tooltips extending the above class > > > ----------------------------------------------------- > > > > > > <?xml version="1.0" encoding="utf-8"?> > > > <ctt:CustomToolTip xmlns:mx="http://www.adobe.com/2006/mxml > <http://www.adobe.com/2006/mxml> > > > <http://www.adobe.com/2006/mxml <http://www.adobe.com/2006/mxml>>" > > > xmlns:ctt="CustomToolTips.*" > > > width="150" > > > backgroundColor="#FFAAAA" dropShadowEnabled="true" > > > borderColor="black" borderThickness="1" borderStyle="solid"> > > > <mx:Label text="Custom Tooltip 1" fontSize="14" > > > fontWeight="bold"/> > > > <mx:Text text="This is the custom tooltip for component 1" > > > width="100%"/> > > > </ctt:CustomToolTip> > > > > > > <?xml version="1.0" encoding="utf-8"?> > > > <ctt:CustomToolTip xmlns:mx="http://www.adobe.com/2006/mxml > <http://www.adobe.com/2006/mxml> > > > <http://www.adobe.com/2006/mxml <http://www.adobe.com/2006/mxml>>" > > > xmlns:ctt="CustomToolTips.*" > > > width="225" > > > backgroundColor="white" dropShadowEnabled="true" > > > borderColor="black" borderThickness="1" borderStyle="solid"> > > > <mx:Label text="Custom Tooltip 2" fontSize="14" > > > fontWeight="bold" color="blue"/> > > > <mx:Text text="This is the custom tooltip for component 2" > > > width="100%"/> > > > </ctt:CustomToolTip> > > > > > > Regards, > > > Nick > > > > > > > > > > -- 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/ <*> Your email settings: Individual Email | Traditional <*> To change settings online go to: http://groups.yahoo.com/group/flexcoders/join (Yahoo! ID required) <*> To change settings via email: mailto:[EMAIL PROTECTED] mailto:[EMAIL PROTECTED] <*> 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/