<?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/"
	>

<channel>
	<title>Jake Churchill</title>
	<atom:link href="http://jake.cfwebtools.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://jake.cfwebtools.com</link>
	<description>... on Flex, ColdFusion, FarCry, and much more ...</description>
	<pubDate>Thu, 11 Jun 2009 23:39:25 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.7.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Flex 2 Datagrid not highlighting row (UPDATE)</title>
		<link>http://jake.cfwebtools.com/2009/05/21/flex-2-datagrid-not-highlighting-row-update/</link>
		<comments>http://jake.cfwebtools.com/2009/05/21/flex-2-datagrid-not-highlighting-row-update/#comments</comments>
		<pubDate>Thu, 21 May 2009 16:24:56 +0000</pubDate>
		<dc:creator>Jake Churchill</dc:creator>
		
		<category><![CDATA[Flex]]></category>

		<guid isPermaLink="false">http://jake.cfwebtools.com/?p=192</guid>
		<description><![CDATA[I recently posted a solution about the DataGrid in Flex 2 not highlighting rows correctly after certain events (specifically double-clicking a row).  You can read that post here.
I wanted to simply update the code sample that I gave for the overridden drawRowBackground() method.  The code I had before was from Flex 3 and [...]]]></description>
			<content:encoded><![CDATA[<p>I recently posted a solution about the DataGrid in Flex 2 not highlighting rows correctly after certain events (specifically double-clicking a row).  You can <a href="http://jake.cfwebtools.com/2009/05/20/flex-2-datagrid-not-highlighting-row/">read that post here</a>.</p>
<p>I wanted to simply update the code sample that I gave for the overridden drawRowBackground() method.  The code I had before was from Flex 3 and introduced a bug that I (for the life of me) couldn&#8217;t find.  So, I re-wrote it much more simply and this time it takes full advantage of the super class&#8217;s implementation rather than using Flex 3&#8217;s source.  Here you go:</p>
<p><code>override protected function drawRowBackground(s:Sprite, rowIndex:int, y:Number, height:Number, color:uint, dataIndex:int):void<br />
{<br />
	var rowColor:uint = color;<br />
	if( this.selectedIndices.indexOf(rowIndex) != -1 )<br />
	{<br />
		rowColor = getStyle("selectionColor");<br />
	}<br />
	super.drawRowBackground(s, rowIndex, y, height, rowColor, dataIndex);<br />
}</code></p>
<p>You can see, I&#8217;m simply overriding the color which is all I wanted to do in the first place.  I don&#8217;t know why the best solutions always come after you leave and revisit the code but so be it. </p>
]]></content:encoded>
			<wfw:commentRss>http://jake.cfwebtools.com/2009/05/21/flex-2-datagrid-not-highlighting-row-update/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Flex 2 Datagrid not highlighting row</title>
		<link>http://jake.cfwebtools.com/2009/05/20/flex-2-datagrid-not-highlighting-row/</link>
		<comments>http://jake.cfwebtools.com/2009/05/20/flex-2-datagrid-not-highlighting-row/#comments</comments>
		<pubDate>Wed, 20 May 2009 14:20:25 +0000</pubDate>
		<dc:creator>Jake Churchill</dc:creator>
		
		<category><![CDATA[Flex]]></category>

		<guid isPermaLink="false">http://jake.cfwebtools.com/?p=188</guid>
		<description><![CDATA[I had an issue in a Flex 2 project yesterday where a Datagrid would not highlight the selected row.  All the styles were set up for this but it still would not work.  The unfortunate matter is that this project (at least for the time being) is stuck in Flex 2 which is [...]]]></description>
			<content:encoded><![CDATA[<p>I had an issue in a Flex 2 project yesterday where a Datagrid would not highlight the selected row.  All the styles were set up for this but it still would not work.  The unfortunate matter is that this project (at least for the time being) is stuck in Flex 2 which is not open source.</p>
<p>I dug into the Flex 3 source code for Datagrid (I don&#8217;t recommend this unless you need to).  I found a method called drawSelectionIndicator() which gets called to set up the selection.  There are several methods that get called overall but the one that finally does the background color is drawRowBackground().  Somewhere down the line, the color being passed to drawRowBackground was not what was set in the stylesheet (see below).  So, I created a custom DataGrid class that extended the original and overrode the drawRowBackground method.  The source code is from Flex 2 so I made a few changes to make it work in Flex 2.  Here it is:<br />
<span id="more-188"></span><br />
<code>override protected function drawRowBackground(s:Sprite, rowIndex:int, y:Number, height:Number, color:uint, dataIndex:int):void<br />
{<br />
    var background:Shape;<br />
    if (rowIndex &lt; s.numChildren)<br />
    {<br />
        background = Shape(s.getChildAt(rowIndex));<br />
    }<br />
    else<br />
    {<br />
        background = new FlexShape();<br />
        background.name = "background";<br />
        s.addChild(background);<br />
    }<br />
    <span></span><br />
    background.y = y;<br />
    <span></span><br />
    // Height is usually as tall is the items in the row, but not if<br />
    // it would extend below the bottom of listContent<br />
    var tempHeight:Number = height;<br />
    var height:Number = Math.min(height,<br />
                                 s.height -<br />
                                 y);<br />
    if( height &lt; 0 )<br />
	height = tempHeight;<br />
    <span></span><br />
    // set the row color to what was passed in<br />
    var rowColor:uint = color;<br />
    // if the row is selected, override the row color with the selectionColor from the stylesheet<br />
    if( this.selectedIndices.indexOf(rowIndex) != -1 )<br />
    {<br />
	rowColor = getStyle("selectionColor");<br />
    }<br />
    var g:Graphics = background.graphics;<br />
    g.clear();<br />
    g.beginFill(rowColor, getStyle("backgroundAlpha"));<br />
    g.drawRect(0, 0, this.width, height);<br />
    g.endFill();<br />
}</code></p>
<p>The main addition here is the check for this.selectedIndices.indexOf(rowIndex) != -1.  This checks to see if the row is selected or not.  If it is, it gets the selectionColor from the styles and uses that instead of the default color that was passed in.</p>
<p>This might not be the most elegant solution but in my case it worked. </p>
<p>Oh yeah, here are the styles for the DataGrid that I referenced:</p>
<p><code>.QuoteList<br />
{<br />
	backgroundAlpha: 1;<br />
	backgroundColor: #000000;<br />
	alternatingItemColors: #000000, #040084;<br />
	headerColors: #ebe9ee, #cccccc;<br />
	horizontalGridLines: true;<br />
	horizontalGridLineColor: #ffffff;<br />
	verticalGridLineColor: #ffffff;<br />
	rollOverColor: #4844c8;<br />
	textRollOverColor: #ffffff;<br />
	borderThickness: 0;<br />
	selectionColor: #4844c8;<br />
	color: #ffffff;<br />
	textSelectedColor: #ffffff;<br />
	headerStyleName: "QuoteListHeaderStyle";<br />
}<br />
<span></span><br />
.QuoteListHeaderStyle {<br />
	color: #000000;<br />
	fontWeight: bold;<br />
	textDecoration: none;<br />
}</code></p>
]]></content:encoded>
			<wfw:commentRss>http://jake.cfwebtools.com/2009/05/20/flex-2-datagrid-not-highlighting-row/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Flex Dynamic casting of data</title>
		<link>http://jake.cfwebtools.com/2009/05/15/flex-dynamic-casting-of-data/</link>
		<comments>http://jake.cfwebtools.com/2009/05/15/flex-dynamic-casting-of-data/#comments</comments>
		<pubDate>Fri, 15 May 2009 19:46:39 +0000</pubDate>
		<dc:creator>Jake Churchill</dc:creator>
		
		<category><![CDATA[Flex]]></category>

		<guid isPermaLink="false">http://jake.cfwebtools.com/?p=180</guid>
		<description><![CDATA[I have been playing around with an AIR application which stores data to a local SQLite DB.  I have a very basic settings table which is nothing more than a key/value paring of settings.  The keys all match up with variables in the Model.  So, there&#8217;s a setting for &#8220;fontFamily&#8221; which is [...]]]></description>
			<content:encoded><![CDATA[<p>I have been playing around with an AIR application which stores data to a local SQLite DB.  I have a very basic settings table which is nothing more than a key/value paring of settings.  The keys all match up with variables in the Model.  So, there&#8217;s a setting for &#8220;fontFamily&#8221; which is both the key and the Model variable name.  I had the following basic settings:</p>
<ul>
<li>fontFamily (String)</li>
<li>fontColor (uint)</li>
<li>backgroundColor (uint)</li>
<li>startAtLogin (Boolean)</li>
</ul>
<p>The way SQLite works, it is just easier to store things as VARCHARs and convert them as needed, so how was I going to convert all of these?</p>
<p>My initial thought was to use a switch statement.  That way I could cast each variable based on the key.  That wouldn&#8217;t be so bad for this small amount of settings but it simply would not do for a larger application.  I know that the data stored in the DB is going to be able to be converted to whatever data type I need (i.e. &#8220;true&#8221; can be converted to Boolean, &#8220;#FFFFFF&#8221; can be converted to uint, etc).  So, I came up with this snippet of code that&#8217;s been working great for me so far.  All settings are loaded into an acSettings ArrayCollection in the model initially so that is what I&#8217;m looping over:</p>
<p><code>if( Model.getInstance().acSettings.length )<br />
{<br />
	var settingVO:SettingVO;<br />
	var className:Class;<br />
	<span></span><br />
	for( var i:int = 0; i &lt; Model.getInstance().acSettings.length; i++ )<br />
	{<br />
		settingVO = Model.getInstance().acSettings.getItemAt(i) as SettingVO;<br />
		className = Class( getDefinitionByName( getQualifiedClassName( Model.getInstance()[settingVO.key] ) ) );<br />
		Model.getInstance()[settingVO.key] = settingVO.value as className;<br />
	}<br />
}</code></p>
<p>Piece by piece, here&#8217;s what happens:</p>
<ul>
<li>I first get the variable in the model correponding with the current setting key: <b>Model.getInstance()[settingVO.key]</b></li>
<li>Then I get the class name of the model variable with this: <b>getQualifiedClassName( </b>Model.getInstance()[settingVO.key] <b>)</b></li>
<li>Then I get the class definition with this:  <b>getDefinitionByName( </b>getQualifiedClassName( Model.getInstance()[settingVO.key] ) <b>)</b></li>
<li>Finally, I cast that as a Class using  <b>Class(</b> getDefinitionByName( getQualifiedClassName( Model.getInstance()[settingVO.key] ) ) <b>);</b></li>
</ul>
<p>The result is that I get whatever the classname of the variable is stored as a class in my &#8220;className&#8221; variable which I use in casting in a loop.</p>
<p>Just so you know there&#8217;s nothing else going on, my SettingVO class is nothing more than this:</p>
<p><code>package com.reynacho.Reminder.vo<br />
{<br />
	[Bindable]<br />
	public class SettingVO<br />
	{<br />
		public var settingID		:	Number;  // primary key<br />
		public var key			:	String;<br />
		public var value			:	String;<br />
		<span></span><br />
		public function SettingVO (settingID:Number, key:String, value:String)<br />
		{<br />
			this.settingID		=	settingID;<br />
			this.key			=	key;<br />
			this.value 			=	value;<br />
		}<br />
	}<br />
}</code></p>
]]></content:encoded>
			<wfw:commentRss>http://jake.cfwebtools.com/2009/05/15/flex-dynamic-casting-of-data/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Reboot XP PC over Remote Desktop</title>
		<link>http://jake.cfwebtools.com/2009/05/08/reboot-xp-pc-over-remote-desktop/</link>
		<comments>http://jake.cfwebtools.com/2009/05/08/reboot-xp-pc-over-remote-desktop/#comments</comments>
		<pubDate>Fri, 08 May 2009 22:12:09 +0000</pubDate>
		<dc:creator>Jake Churchill</dc:creator>
		
		<category><![CDATA[Misc]]></category>

		<guid isPermaLink="false">http://jake.cfwebtools.com/?p=176</guid>
		<description><![CDATA[I work from home sometimes and in the past have had to reboot my PC due to the usual random reasons.  Over a Remote Desktop connection it does not give you that option by default.  It just gives you the option to log off or disconnect.  
Servers give you the option to [...]]]></description>
			<content:encoded><![CDATA[<p>I work from home sometimes and in the past have had to reboot my PC due to the usual random reasons.  Over a Remote Desktop connection it does not give you that option by default.  It just gives you the option to log off or disconnect.  </p>
<p>Servers give you the option to reboot so I thought, why not PCs?</p>
<p>Well, there is a way and you don&#8217;t have to jump through any major hoops to do it.  Simply open the run dialog or a command shell and type<br />
<code>shutdown -r</code></p>
<p>the -r is VERY important here, otherwise, you&#8217;ll just shutdown your computer.</p>
<p>I hope that helps someone.</p>
<p>EDIT:  Please not this is on Windows XP Pro.  I&#8217;m not sure about other Operating Systems</p>
<p>EDIT 5/20/2009:  The easiest way yet is to hit Alt+F4 and select &#8220;Restart&#8221;</p>
]]></content:encoded>
			<wfw:commentRss>http://jake.cfwebtools.com/2009/05/08/reboot-xp-pc-over-remote-desktop/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Dynamically instantiate a class</title>
		<link>http://jake.cfwebtools.com/2009/04/08/dynamically-instantiate-a-class/</link>
		<comments>http://jake.cfwebtools.com/2009/04/08/dynamically-instantiate-a-class/#comments</comments>
		<pubDate>Wed, 08 Apr 2009 22:55:28 +0000</pubDate>
		<dc:creator>Jake Churchill</dc:creator>
		
		<category><![CDATA[Flex]]></category>

		<guid isPermaLink="false">http://jake.cfwebtools.com/?p=169</guid>
		<description><![CDATA[I ran into a problem today where the most elegant solution was to dynamically instantiate a class.  However, I couldn&#8217;t for the life of me figure out how to do that.  Basically, the situation was this:

Dispatch Event A
If Event A Fails, Dispatch Event B, then re-dispatch Event A.

This dealt with a SQLite database [...]]]></description>
			<content:encoded><![CDATA[<p>I ran into a problem today where the most elegant solution was to dynamically instantiate a class.  However, I couldn&#8217;t for the life of me figure out how to do that.  Basically, the situation was this:</p>
<ol>
<li>Dispatch Event A</li>
<li>If Event A Fails, Dispatch Event B, then re-dispatch Event A.</li>
</ol>
<p>This dealt with a SQLite database and query statements.  I want to run a Select query but if the table has not yet been created, I need to create the table then re-try the query.  Here&#8217;s what I ended up doing&#8230;</p>
<p>In the fault of the select statement I dispatch the create table event and pass it an optional string (the class that I want to instantiate).  In the create table command, I then dynamically create that class and instantiate it.  Here&#8217;s the code:</p>
<p><strong>Fault of Select Command:</strong><br />
<code>new CreateTableEvent("com.test.cairngorm.events.SelectAllEvent").dispatch();</code></p>
<p><strong>Create Table Event:</strong><br />
<code>package com.test.cairngorm.events<br />
{<br />
	import com.adobe.cairngorm.control.CairngormEvent;<br />
<strong></strong><br />
	public class CreateTableEvent extends CairngormEvent<br />
	{<br />
		public static const CREATE_TABLE_EVENT:String = "com.test.cairngorm.events.CreateTableEvent";<br />
		public var nextAction:String;<br />
		// constructor<br />
		public function CreateTableEvent(nextAction:String=")<br />
		{<br />
			this.nextAction = nextAction;<br />
			super( CREATE_TABLE_EVENT );<br />
		}<br />
	}<br />
}</code></p>
<p><strong>Result of Create Table Command:</strong><br />
<code>// sourceEvent.nextAction is the string that I passed in<br />
if( sourceEvent.nextAction.length )<br />
{<br />
        // dynamically create a class based on the string<br />
    	var c:Class = Class( getDefinitionByName( sourceEvent.nextAction ) );<br />
        // instantiate that class into a generic Object<br />
    	var o:Object = new c();<br />
        // test if the object is a CairgormEvent.<br />
        // if so, dispatch that event<br />
    	if( o is CairngormEvent )<br />
    		CairngormEventDispatcher.getInstance().dispatchEvent(CairngormEvent(o));<br />
}</code></p>
<p>Thank you very much to <a href="http://thillerson.wordpress.com/2007/03/01/runtime-class-instantiation-in-actionscript-30/">http://thillerson.wordpress.com/2007/03/01/runtime-class-instantiation-in-actionscript-30/</a> for pointing me in the right direction.  </p>
]]></content:encoded>
			<wfw:commentRss>http://jake.cfwebtools.com/2009/04/08/dynamically-instantiate-a-class/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Flex Custom Preloader without SWF</title>
		<link>http://jake.cfwebtools.com/2009/03/27/flex-custom-preloader-without-swf/</link>
		<comments>http://jake.cfwebtools.com/2009/03/27/flex-custom-preloader-without-swf/#comments</comments>
		<pubDate>Fri, 27 Mar 2009 16:18:39 +0000</pubDate>
		<dc:creator>Jake Churchill</dc:creator>
		
		<category><![CDATA[Flex]]></category>

		<guid isPermaLink="false">http://jake.cfwebtools.com/?p=165</guid>
		<description><![CDATA[I had been searching for a custom preloader that did not require a SWF for a while and finally found my answer from i am josh:  http://iamjosh.wordpress.com/2007/12/18/flex-custom-preloader/.
His source code got me on the right path.  A simple preloader with a logo and a progress bar.  I modified the code that handles the [...]]]></description>
			<content:encoded><![CDATA[<p>I had been searching for a custom preloader that did not require a SWF for a while and finally found my answer from i am josh:  <a href="http://iamjosh.wordpress.com/2007/12/18/flex-custom-preloader/">http://iamjosh.wordpress.com/2007/12/18/flex-custom-preloader/</a>.</p>
<p>His source code got me on the right path.  A simple preloader with a logo and a progress bar.  I modified the code that handles the manual drawing to draw a border around the loader component and pad it a bit for visual purposes.  Here&#8217;s my modified code:  <a href='http://jake.cfwebtools.com/wp-content/uploads/2009/03/preloader.zip'>Download preloader.zip</a>.  </p>
<p>The original can be found at <a href="http://iamjosh.wordpress.com/2007/12/18/flex-custom-preloader/">i am josh&#8217;s blog</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://jake.cfwebtools.com/2009/03/27/flex-custom-preloader-without-swf/feed/</wfw:commentRss>
		</item>
		<item>
		<title>IE menu hover fix</title>
		<link>http://jake.cfwebtools.com/2009/03/20/ie-menu-hover-fix/</link>
		<comments>http://jake.cfwebtools.com/2009/03/20/ie-menu-hover-fix/#comments</comments>
		<pubDate>Fri, 20 Mar 2009 21:40:34 +0000</pubDate>
		<dc:creator>Jake Churchill</dc:creator>
		
		<category><![CDATA[Browsers]]></category>

		<category><![CDATA[CSS]]></category>

		<category><![CDATA[Javascript]]></category>

		<guid isPermaLink="false">http://jake.cfwebtools.com/?p=161</guid>
		<description><![CDATA[I run into an issue a lot with fly-out and dropdown menus not always layering on TOP of the subsequent content.  I see this most often with Farcry because that is what I use for a lot of sites but I see it elsewhere as well.  It can be the most irritating thing [...]]]></description>
			<content:encoded><![CDATA[<p>I run into an issue a lot with fly-out and dropdown menus not always layering on TOP of the subsequent content.  I see this most often with Farcry because that is what I use for a lot of sites but I see it elsewhere as well.  It can be the most irritating thing in the world to deal with but it CAN be fixed.</p>
<p>In farcry sites, there is a navigation.js or hover.js file that is loaded which provides a nice *hack* for IE6.  The purpose of this is that for multi-level navigations, the dropdown/flyout appears when you hover over an LI tag.  IE6 only recognizes the seudo element (:hover) on A tags so this javascript file manually adds a class to every LI tag that is a child of a particular element.  I.E. if your outer UL has an ID of &#8220;menu&#8221; this class will be added to all sub-elements.</p>
<p>Here&#8217;s what the basic javascript looks like:</p>
<p><code>hover = function() {<br />
	var nav = document.getElementById("menu");<br />
	if(nav){<br />
		var nodes = nav.getElementsByTagName("li")<br />
		for (var i=0; i&lt;nodes.length; i++) {<br />
			nodes[i].onmouseover=function() {<br />
				this.className+=" hover";<br />
			}<br />
			nodes[i].onmouseout=function() {<br />
				this.className=this.className.replace(new RegExp(" hover\\b"), "");<br />
			}<br />
		}<br />
	}<br />
}<br />
if (window.attachEvent) window.attachEvent("onload", hover);</code></p>
<p>I know, not necessarily that &#8220;basic&#8221; but all it&#8217;s doing is attaching an &#8220;onMouseOver&#8221; and &#8220;onMouseOut&#8221; event handler to all LI tags under the element with ID &#8220;menu&#8221;.</p>
<p>Now, back to the original problem&#8230;  The dropdown/flyout menus don&#8217;t always layer OVER the content in the page.  This is thanks to IE rendering all elements with a z-index of 0.  Regardless of what you set this to in your CSS (generally z-index of the flyout is higher than the z-index of the page) IE will make it all 0 at the time of loading.</p>
<p>I dealt with this problem for months always hacking my way through a fix depending on the site until it finally dawned on me.  I can use this javascript to my advantage because this code runs &#8220;onload&#8221; (once the page has loaded).  Conveniently, this is also after z-indexes have been butchered by IE.  So, here is a quick alteration to that javascript that has fixed every problem I&#8217;ve run into thusfar:</p>
<p><code>hover = function() {<br />
	var nav = document.getElementById("menu");<br />
	<strong>nav.style.zIndex = 100;</strong><br />
	if(nav){<br />
		var nodes = nav.getElementsByTagName("li")<br />
		for (var i=0; i&lt;nodes.length; i++) {<br />
			nodes[i].onmouseover=function() {<br />
				this.className+=" hover";<br />
			}<br />
			nodes[i].onmouseout=function() {<br />
				this.className=this.className.replace(new RegExp(" hover\\b"), "");<br />
			}<br />
		}<br />
	}<br />
}<br />
if (window.attachEvent) window.attachEvent("onload", hover);</code></p>
<p>Notice the line &#8220;nav.style.zIndex = 100;&#8221;.  That&#8217;s all it took.  Of course, your situation may be much more complex than this and may require more layering of elements.  Using this same example you can simply reset z-indexes even if you don&#8217;t have a complex menu.  Here would be an example of that:</p>
<p><code>resetZIndexes= function() {<br />
	var nav = document.getElementById("menu").style.zIndex = 100;<br />
        // other elements would go here<br />
}<br />
if (window.attachEvent) window.attachEvent("onload", resetZIndexes);</code></p>
<p>I really hope this helps someone avoid the agonizing pain that I had to endure prior to figuring this out.</p>
]]></content:encoded>
			<wfw:commentRss>http://jake.cfwebtools.com/2009/03/20/ie-menu-hover-fix/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Eclipse with plugins</title>
		<link>http://jake.cfwebtools.com/2009/02/26/eclipse-with-plugins/</link>
		<comments>http://jake.cfwebtools.com/2009/02/26/eclipse-with-plugins/#comments</comments>
		<pubDate>Fri, 27 Feb 2009 04:54:45 +0000</pubDate>
		<dc:creator>Jake Churchill</dc:creator>
		
		<category><![CDATA[CFEclipse]]></category>

		<guid isPermaLink="false">http://reynacho.com/?p=158</guid>
		<description><![CDATA[From time to time I have to re-install eclipse for whatever reason and I really got tired of having to re-download all my plugins (CFEclipse, Subclipse, etc), so I did a clean install and then zipped up the eclipse directory.  It is here for all to download if you want. 
This contains Eclipse 3.3, [...]]]></description>
			<content:encoded><![CDATA[<p>From time to time I have to re-install eclipse for whatever reason and I really got tired of having to re-download all my plugins (CFEclipse, Subclipse, etc), so I did a clean install and then zipped up the eclipse directory.  It is here for all to download if you want. </p>
<p>This contains Eclipse 3.3, CFEclipse, Subclipse and Remote Directory Browsing packages (FTP)</p>
<p><a href="/wp-content/uploads/2009/02/eclipse_with_plugins.zip">Download Now</a></p>
]]></content:encoded>
			<wfw:commentRss>http://jake.cfwebtools.com/2009/02/26/eclipse-with-plugins/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Flex Channel.Connect.Failed error NetConnection.Call.Failed: HTTP: Status 200</title>
		<link>http://jake.cfwebtools.com/2009/02/26/flex-channelconnectfailed-error-netconnectioncallfailed-http-status-200/</link>
		<comments>http://jake.cfwebtools.com/2009/02/26/flex-channelconnectfailed-error-netconnectioncallfailed-http-status-200/#comments</comments>
		<pubDate>Fri, 27 Feb 2009 00:04:02 +0000</pubDate>
		<dc:creator>Jake Churchill</dc:creator>
		
		<category><![CDATA[Flex]]></category>

		<guid isPermaLink="false">http://reynacho.com/?p=152</guid>
		<description><![CDATA[I had an issue recently during remoting which when debugged resulted in the following message:
Channel.Connect.Failed error NetConnection.Call.Failed: HTTP: Status 200
It took me forever to figure this one out but it results from IE caching things differently than other browsers and my debug settings use IE as the default browser.  To fix it do the [...]]]></description>
			<content:encoded><![CDATA[<p>I had an issue recently during remoting which when debugged resulted in the following message:</p>
<p>Channel.Connect.Failed error NetConnection.Call.Failed: HTTP: Status 200</p>
<p>It took me forever to figure this one out but it results from IE caching things differently than other browsers and my debug settings use IE as the default browser.  To fix it do the following:</p>
<p>1) add the following line to your services-config.xml file in the &#8220;channel-definition&#8221; tags.  I did this for the first 2 listed which are http and https based AMF endpoints.</p>
<p><code><!--  CF Based Endpoints --><br />
&lt;channel-definition id="my-cfamf" class="mx.messaging.channels.AMFChannel"&gt;<br />
    &lt;endpoint uri="http://{server.name}:{server.port}{context.root}/flex2gateway/" class="flex.messaging.endpoints.AMFEndpoint"/&gt;<br />
    &lt;properties&gt;<br />
        <strong>&lt;add-no-cache-headers&gt;false&lt;/add-no-cache-headers&gt;</strong><br />
        &lt;polling-enabled&gt;false&lt;/polling-enabled&gt;<br />
        &lt;serialization&gt;<br />
            &lt;instantiate-types&gt;false&lt;/instantiate-types&gt;<br />
        &lt;/serialization&gt;<br />
    &lt;/properties&gt;<br />
&lt;/channel-definition&gt;<br />
<span> </span><br />
&lt;channel-definition id="cf-polling-amf" class="mx.messaging.channels.AMFChannel"&gt;<br />
    &lt;endpoint uri="http://{server.name}:{server.port}{context.root}/flex2gateway/cfamfpolling" class="flex.messaging.endpoints.AMFEndpoint"/&gt;<br />
    &lt;properties&gt;<br />
        <strong>&lt;add-no-cache-headers&gt;false&lt;/add-no-cache-headers&gt;</strong><br />
        &lt;polling-enabled&gt;true&lt;/polling-enabled&gt;<br />
        &lt;polling-interval-seconds&gt;8&lt;/polling-interval-seconds&gt;<br />
        &lt;serialization&gt;<br />
            &lt;instantiate-types&gt;false&lt;/instantiate-types&gt;<br />
        &lt;/serialization&gt;<br />
    &lt;/properties&gt;<br />
&lt;/channel-definition&gt;</code></p>
<p>2) restart the CF server</p>
<p>I hope this helps someone not spend an entire day trying to fix a problem <img src='http://jake.cfwebtools.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>I have to give serious credit to 2 blogs for this solution:</p>
<ul>
<li><a href="http://www.d-p.com/Internet-Development-Blog/article/Generation-Flex.cfm">http://www.d-p.com/Internet-Development-Blog/article/Generation-Flex.cfm</a></li>
<li><a href="http://weblogs.macromedia.com/lin/archives/2006/08/flex_app_works.html">http://weblogs.macromedia.com/lin/archives/2006/08/flex_app_works.html</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://jake.cfwebtools.com/2009/02/26/flex-channelconnectfailed-error-netconnectioncallfailed-http-status-200/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Flex Metadata - Default Property Values</title>
		<link>http://jake.cfwebtools.com/2008/11/07/flex-metadata-default-property-values/</link>
		<comments>http://jake.cfwebtools.com/2008/11/07/flex-metadata-default-property-values/#comments</comments>
		<pubDate>Sat, 08 Nov 2008 04:27:49 +0000</pubDate>
		<dc:creator>Jake Churchill</dc:creator>
		
		<category><![CDATA[Flex]]></category>

		<guid isPermaLink="false">http://reynacho.com/?p=144</guid>
		<description><![CDATA[Until now I have never needed to do a lot with meta data except making items bindable or creating custom events.  Recently I wanted to create a limitation on a custom property.  Here&#8217;s the code:
private var _iconPosition:String = "left";
[Bindable]
public function set iconPosition( value:String ):void
{
	_iconPosition = value;
}
public function get iconPosition():String
{
	return _iconPosition;
}
In order to add [...]]]></description>
			<content:encoded><![CDATA[<p>Until now I have never needed to do a lot with meta data except making items bindable or creating custom events.  Recently I wanted to create a limitation on a custom property.  Here&#8217;s the code:</p>
<p><code>private var _iconPosition:String = "left";<br />
[Bindable]<br />
public function set iconPosition( value:String ):void<br />
{<br />
	_iconPosition = value;<br />
}<br />
public function get iconPosition():String<br />
{<br />
	return _iconPosition;<br />
}</code></p>
<p>In order to add default values you have to make the property inspectable.  This affects the compiler and provides code hints for the property.  See the <a href="http://livedocs.adobe.com/flex/201/html/wwhelp/wwhimpl/common/html/wwhelp.htm?context=LiveDocs_Book_Parts&#038;file=metadata_141_11.html">Live Docs</a> for a full description of &#8220;Inspectable&#8221;.    In my example, I wanted to simply limit my &#8220;iconPosition&#8221; property to either left or right.  Here is the updated code:</p>
<p><code>private var _iconPosition:String = "left";<br />
[Bindable]<br />
<strong>[Inspectable(enumeration="left,right")]</strong><br />
public function set iconPosition( value:String ):void<br />
{<br />
	_iconPosition = value;<br />
}<br />
public function get iconPosition():String<br />
{<br />
	return _iconPosition;<br />
}</code></p>
]]></content:encoded>
			<wfw:commentRss>http://jake.cfwebtools.com/2008/11/07/flex-metadata-default-property-values/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
