<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Ruben's blog &#187; ToolTip</title>
	<atom:link href="http://www.rubenswieringa.com/blog/tag/tooltip/feed" rel="self" type="application/rss+xml" />
	<link>http://www.rubenswieringa.com/blog</link>
	<description>Ruben Swieringa on Actionscript and a whole lot of other stuff..</description>
	<lastBuildDate>Mon, 15 Feb 2010 09:35:29 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>&#8220;could not resolve &lt;mx:&#8230;&gt; to a component implementation&#8221;</title>
		<link>http://www.rubenswieringa.com/blog/could-not-resolve-mx-to-a-component-implementation</link>
		<comments>http://www.rubenswieringa.com/blog/could-not-resolve-mx-to-a-component-implementation#comments</comments>
		<pubDate>Mon, 26 Oct 2009 10:53:54 +0000</pubDate>
		<dc:creator>Ruben</dc:creator>
				<category><![CDATA[Actionscript]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[manifest]]></category>
		<category><![CDATA[MXML]]></category>
		<category><![CDATA[ToolTip]]></category>

		<guid isPermaLink="false">http://www.rubenswieringa.com/blog/?p=215</guid>
		<description><![CDATA[If you have ever tried to add mx.core.ToolTip (or certain other classes) as a mxml-tag to your Flex project then you might've run into the following compiler-error:
"Could not resolve &#60;mx:ToolTip&#62; to a component implementation."
So why does Flex (or rather MXMLC, the compiler) let you write &#60;mx:Button&#62; and &#60;mx:Canvas&#62; and all those other Flex components, but [...]]]></description>
			<content:encoded><![CDATA[<p>If you have ever tried to add <code>mx.core.ToolTip</code> (or certain other classes) as a mxml-tag to your Flex project then you might've run into the following compiler-error:</p>
<blockquote><p><em>"Could not resolve &lt;mx:ToolTip&gt; to a component implementation."</em></p></blockquote>
<p>So why does Flex (or rather MXMLC, the compiler) let you write <code>&lt;mx:Button&gt;</code> and <code>&lt;mx:Canvas&gt;</code> and all those other Flex components, but not <code>&lt;mx:ToolTip&gt</code> -- it's a native Flex class and it's in the <em>mx</em> package just like all of the others, right?</p>
<p>Fact is, it's not the <em>mx</em> class-package that defines whether or not you can add a component by saying <code>&lt;mx:...&gt;</code>, but rather the Flex component manifest file -- it describes which of the native Flex classes fall under the <em>mx</em> xml-namespace (or actually any namespace you want to use). I might write a post about manifest-files in Flex somewhere in the near future, but for now you'll have to <a href="http://livedocs.adobe.com/flex/3/html/compilers_31.html" title="About manifest files - Adobe Flex LiveDocs">read up in the docs</a> if you want to know more.</p>
<p>It so happens that the <code>ToolTip</code> class isn't included in the native Flex component manifest, and consequently the compiler won't be able to find it if you just write <em>"&lt;mx:ToolTip /&gt;"</em>. You can work around this by specifying a seperate xml-namespace for the <code>mx.controls</code> package:</p>
<pre class="xml"><span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;?xml</span> <span style="color: #000066;">version</span>=<span style="color: #ff0000;">&quot;1.0&quot;</span><span style="font-weight: bold; color: black;">?&gt;</span></span>
<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;mx:Application</span> <span style="color: #000066;">xmlns:mx</span>=<span style="color: #ff0000;">&quot;http://www.adobe.com/2006/mxml&quot;</span> <span style="color: #000066;">xmlns:controls</span>=<span style="color: #ff0000;">&quot;mx.controls.*&quot;</span><span style="font-weight: bold; color: black;">&gt;</span></span>
    <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;controls:ToolTip</span> <span style="font-weight: bold; color: black;">/&gt;</span></span>
<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/mx:Application<span style="font-weight: bold; color: black;">&gt;</span></span></span></pre>
<p>Note that in the above example we can't change the value of the <em>xmlns:mx</em> attribute so that it would point to the <code>mx.controls</code> class-package, because if we would then the compiler wouldn't recognize the <code>&lt;mx:Application&gt;</code> tag anymore (since the <code>Application</code> class isn't in the <em>mx.controls</em> package).</p>
<p>Also, for the naysayers who completely miss the point and start talking about why on earth you would want to instantiate a <code>ToolTip</code> through mxml: To tell the truth I was wondering about this myself, but if you think about it, tooltips in Flex aren't restricted to just having whatever you put into <code>UIComponent.toolTip</code> automatically pop up when you mouse-over. In fact you may want to create a custom mxml-component subclass of <code>ToolTip</code> and manually add it to your application using the <code>ToolTipManager</code> class during runtime.</p>
<p>That having been said, <code>ToolTip</code> isn't the only Flex-class not included in the Flex component manifest, naturally what I wrote in this post also applies to any other class in the Flex framework that extends <code>UIComponent</code> but isn't included in the manifest.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.rubenswieringa.com/blog/could-not-resolve-mx-to-a-component-implementation/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
