John,
Thanks for the tips. I think I got it between your help and one spot in the UIComponent help. So the code I was getting caught up in was the line toolTipCreate="event.toolTip=this.createTip() Where createTip created a custom tooltip as described in a number of posts I've seen before. What I failed to understand was that the code is really a small function and equivalent to: onInit(): void{ ... chkbox1.addEventListener(ToolTipEvent.TOOL_TIP_CREATE, onToolTipCreate); } private function onToolTipCreate(thisEvent : ToolTipEvent): void { thisEvent.toolTip = this.createTip(); trace("ToolTipCreate"); } So I was able to get this model to display my custom tooltips for my subset of items. On the TOOL_TIP_SHOW event, I can initialize the tooltip components. Thanks for your help, Rich --- In flexcoders@yahoogroups.com, John Kirby <[EMAIL PROTECTED]> wrote: > > Correction here. Replace in > wToolTip.setComponentClass(AreaCodeSearchWindow) with > wToolTip.setComponentObject(AreaCodeSearchWindow); > > John Kirby said the following: > > > > Below is how I handle custom components in a tooltip. > > > > weather.WeatherToolTipManager extends ToolTipManager. WeatherToolTip > > Extend ToolTip . Just create a WeatherToolTip object and use the > > setComponentClass(UiComponent) to store the custom componet. Then pass > > the tooltip to the create custom tooltip to allow you to view your > > component inside a tooltip. > > > > > > <?xml version="1.0" encoding="utf-8"?> > > <mx:Application backgroundGradientColors="[0xFFFFFF,0xFFFFFF]" > > backgroundColor="0xFFFFFF" xmlns:mx="http://www.adobe.com/2006/mxml" > > layout="absolute" > > > > > <mx:Script><![CDATA > > > > public var wToolTip:WeatherToolTip; > > > > private function showTip(event:Event):void { > > > > if (WeatherToolTipManager.toolTipOpen){ > > return; > > } > > > > //Create tooltip and add component to it > > wToolTip = new WeatherToolTip(); > > wToolTip.setComponentClass(AreaCodeSearchWindow); > > // adjust coordinates inside tooltip > > wToolTip.setCoordinates(20,10); > > > > > > // use custom createCustomToolTip to add tooltip and its > > component as a child to the tooltipManager > > // This essentially is the same as the createToolTip > > except you pass a complex componet vs. text to the tooltip > > > > WeatherToolTipManager.createCustomToolTip(event.currentTarget.x + > > event.currentTarget.width, > > > > (event.currentTarget.y +10),wToolTip,"errorTipRight"); > > > > > > // customize the tooltip > > wToolTip.setStyle("cornerRadius", 10); > > wToolTip.setStyle("backgroundAlpha", 0.40); > > wToolTip.setStyle("backgroundColor", "#4ca0d4"); > > wToolTip.setStyle("borderColor", "#4ca0d4"); > > wToolTip.setStyle("backgroundGradientColors", > > "[0xFFFFFF,0xFFFFFF]"); > > > > > > } > > > > ]]></mx:Script> > > > > <mx:Panel id="myPanel" click="showTip(event)" ></mx:Panel> > > </mx:Application> > > > > > > There is a destroy method to close/remove the tooltip. This could be > > called by a button component inside the tooltip or handled via a > > rollover/out event. > > > > > > public class WeatherToolTipManager extends ToolTipManager{ > > > > public static var toolTipOpen:Boolean = false; > > public static var currentToolTip:IToolTip; > > > > > > public static function createCustomToolTip(x:Number, y:Number, > > wToolTip:ToolTip, > > errorTipBorderStyle:String = > > null, > > context:IUIComponent = > > null):void{ > > > > var sm:ISystemManager = context ? > > context.systemManager : > > Application.application.systemManager; > > > > > > sm.toolTipChildren.addChild(wToolTip); > > > > > > if (errorTipBorderStyle){ > > wToolTip.setStyle("borderStyle", errorTipBorderStyle); > > } > > > > > > currentToolTip = wToolTip; > > wToolTip.move(x, y); > > toolTipOpen = true; > > } > > > > > > > > public static function destroyToolTip(toolTip:IToolTip):void{ > > var sm:ISystemManager = toolTip.systemManager; > > sm.toolTipChildren.removeChild(DisplayObject(toolTip)); > > toolTipOpen = false; > > > > } > > } > > > > public class WeatherToolTip extends ToolTip { > > private var tipClass:Class; > > private var tipX:int; > > private var tipY:int; > > > > private var classInstance:Object; > > > > public function WeatherToolTip(){ > > super(); > > // Make the ToolTip invisible to the mouse so that it doesn't > > // interfere with the ToolTipManager's mouse-tracking. > > mouseEnabled = false; > > } > > > > public function getTipComponent():Object{ > > return this.classInstance; > > } > > > > public function setComponentClass(tipClass:Class):void{ > > this.tipClass = tipClass; > > } > > > > public function setComponentObject(objClass:Object):void{ > > this.classInstance = objClass; > > } > > > > public function setCoordinates(x:int,y:int):void{ > > this.tipX = x; > > this.tipY = y; > > > > } > > > > override protected function createChildren():void { > > super.createChildren(); > > > > classInstance.parentTip = this; > > classInstance.x = this.tipX; > > classInstance.y = this.tipY; > > classInstance.addEventListener("closeTip",destroyTip); > > addChild(DisplayObject(classInstance)); > > } > > > > public function destroyTip():void { > > WeatherToolTipManager.destroyToolTip(this); > > } > > } > > } > > > > > > > > > > richmcgillicuddy said the following: > > > >> John, > >> > >> Searched through the docs and it doesn't quite answer my question. So > >> I have a descendant of ITooltip that is a more complex toolTip with > >> multiple pieces of information on it. I only want this complex tooltip > >> to show up for certain types of objects, others I want the standard > >> tooltip to show up. These objects get created and placed dynamically. > >> I'll check the createToolTip event and see if that will override the > >> standard event but the examples I saw so far all created this > >> functionality using MXML which works great. I'd rather use the toolTip > >> functionality than try to override everything on a rollover, rollout > >> command. > >> > >> > >> s via email: Switch delivery to Daily Digest > >> <mailto:[EMAIL PROTECTED]:%20Digest> > >> | Switch format to Traditional > >> <mailto:[EMAIL PROTECTED]:%20Traditional> > >> > >> Visit Your Group > >> <http://groups.yahoo.com/group/flexcoders;_ylc=X3oDMTJlaWpycXBtBF9TAzk3MzU5NzE0BGdycElkAzEyMjg2MTY3BGdycHNwSWQDMTcwNTAwNzIwNwRzZWMDZnRyBHNsawNocGYEc3RpbWUDMTE2NDMzNDQ5Nw--> > >> | Yahoo! Groups Terms of Use <http://docs.yahoo.com/info/terms/> | > >> Unsubscribe <mailto:[EMAIL PROTECTED]> > >> . > >> > > > > -- > > /Whether you think that you can, or that you can't, you are usually > > right./ > > - Henry Ford > > > > -- > /Whether you think that you can, or that you can't, you are usually right./ > - Henry Ford >