<?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>For My Own Amusement &#187; Software</title>
	<atom:link href="http://www.formyownamusement.com/tag/software/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.formyownamusement.com</link>
	<description>Bits and pieces that will likely only ever amuse me</description>
	<lastBuildDate>Thu, 01 Jul 2010 12:48:32 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Flex ActionScript Component Development Cheat Sheet</title>
		<link>http://www.formyownamusement.com/2009/06/30/flex-actionscript-component-development-cheat-sheet/</link>
		<comments>http://www.formyownamusement.com/2009/06/30/flex-actionscript-component-development-cheat-sheet/#comments</comments>
		<pubDate>Tue, 30 Jun 2009 00:56:17 +0000</pubDate>
		<dc:creator>Timothy Churchward</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[flex]]></category>

		<guid isPermaLink="false">http://www.formyownamusement.com/2009/06/30/flex-actionscript-component-development-cheat-sheet/</guid>
		<description><![CDATA[Recently at work I ran our developers through basic construction of building Flex ActionScript Components. Feel free to download the attached Cheat Sheet for your own reference when building components. Download Flex ActionScript Component Development Cheat Sheet Building ActionScript Components Aim: To make building custom ActionScript components the first option when developing in Flexlandia. Naming [...]]]></description>
			<content:encoded><![CDATA[<p>Recently at <a title="Smartpath Software" href="http://www.smartpath-software.com">work</a> I ran our developers through basic construction of building Flex ActionScript Components.</p>
<p>Feel free to download the attached Cheat Sheet for your own reference when building components.</p>
<p><strong>Download</strong> <a title="ActionScript Component Development Cheat Sheet.pdf" href="http://www.formyownamusement.com/wp-content/uploads/2009/06/ActionScript-Component-Development-Cheat-Sheet.pdf">Flex ActionScript Component Development Cheat Sheet</a></p>
<div style="font: 24px Helvetica; padding: 0px; margin: 0px;"><span style="color: #424037; font-family: Arial, Helvetica, sans-serif; line-height: 21px;"><span style="margin-top: 0px !important; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; letter-spacing: 0px; padding: 0px;"><strong>Building ActionScript Components</strong></span></span></div>
<div style="font: 12px Helvetica; min-height: 14px; padding: 0px; margin: 0px;"><br style="padding: 0px; margin: 0px;" /></div>
<div style="font: 12px Helvetica; padding: 0px; margin: 0px;"><span style="margin-top: 0px !important; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; letter-spacing: 0px; padding: 0px;"><strong>Aim:</strong> To make building custom ActionScript components the <em style="padding: 0px; margin: 0px;">first</em> option when developing in Flexlandia.</span></div>
<div style="font: 12px Helvetica; min-height: 14px; padding: 0px; margin: 0px;"><br style="padding: 0px; margin: 0px;" /></div>
<div style="font: 13px Helvetica; padding: 0px; margin: 0px;"><span style="margin-top: 0px !important; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; letter-spacing: 0px; padding: 0px;"><strong>Naming</strong></span></div>
<div style="font: 12px Helvetica; padding: 0px; margin: 0px;"><span style="margin-top: 0px !important; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; letter-spacing: 0px; padding: 0px;"><strong>Don’t</strong> describe its appearance – eg. RedButton, RoundedBorderedWindow.</span></div>
<div style="font: 12px Helvetica; padding: 0px; margin: 0px;"><span style="margin-top: 0px !important; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; letter-spacing: 0px; padding: 0px;"><strong>Do</strong> describe its function or UI element type – eg. ActionBarButton, InspectorWindow, NewElementFormPanel</span></div>
<div style="font: 12px Helvetica; min-height: 14px; padding: 0px; margin: 0px;"><br style="padding: 0px; margin: 0px;" /></div>
<div style="font: 13px Helvetica; padding: 0px; margin: 0px;"><span style="margin-top: 0px !important; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; letter-spacing: 0px; padding: 0px;"><strong>Extending</strong></span></div>
<div style="font: 12px Helvetica; padding: 0px; margin: 0px;"><span style="margin-top: 0px !important; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; letter-spacing: 0px; padding: 0px;">Extend UIComponent or as high up the inheritance tree as possible. Loc8 is massive so we want to make sure each component is taking up as little memory as possible.</span></div>
<div style="font: 12px Helvetica; padding: 0px; margin: 0px;"><span style="margin-top: 0px !important; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; letter-spacing: 0px; padding: 0px;">Avoid extending HBox or VBox! – custom layout is <em style="margin-top: 0px !important; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding: 0px;">easy!!</em></span></div>
<div style="font: 12px Helvetica; min-height: 14px; padding: 0px; margin: 0px;"><br style="padding: 0px; margin: 0px;" /></div>
<div style="font: 13px Helvetica; padding: 0px; margin: 0px;"><span style="margin-top: 0px !important; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; letter-spacing: 0px; padding: 0px;"><strong>Property Names</strong></span></div>
<div style="font: 12px Helvetica; padding: 0px; margin: 0px;"><span style="margin-top: 0px !important; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; letter-spacing: 0px; padding: 0px;">Keep in mind re-use for the data model:</span></div>
<div style="margin-bottom: 20px; margin-left: 20px; margin-right: 0px; margin-top: 20px; padding: 0px;">
<ul style="margin-top: 0px !important; margin-right: 0px; margin-bottom: 20px; margin-left: 20px; padding: 0px;">
<li style="list-style-type: disc; font: 12px Helvetica; padding: 0px; margin: 0px;"><span style="margin-top: 0px !important; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; letter-spacing: 0px; padding: 0px;">use generic terms like dataProvider – not assetData, label – not workOrderLabel</span></li>
</ul>
</div>
<div style="font: 12px Helvetica; min-height: 14px; padding: 0px; margin: 0px;"><br style="padding: 0px; margin: 0px;" /></div>
<div style="font: 13px Helvetica; padding: 0px; margin: 0px;"><span style="margin-top: 0px !important; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; letter-spacing: 0px; padding: 0px;"><strong>Multiple Components</strong></span></div>
<div style="font: 12px Helvetica; padding: 0px; margin: 0px;"><span style="margin-top: 0px !important; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; letter-spacing: 0px; padding: 0px;">Don’t try and implement <em style="margin-top: 0px !important; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding: 0px;">everything</em> in the one component. Break it down further. Generalise!</span></div>
<div style="font: 12px Helvetica; padding: 0px; margin: 0px;"><span style="margin-top: 0px !important; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; letter-spacing: 0px; padding: 0px;">The benefit is it makes it easier to extend and reuse in multiple situations.</span></div>
<div style="font: 12px Helvetica; padding: 0px; margin: 0px;"><span style="margin-top: 0px !important; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; letter-spacing: 0px; padding: 0px;">It also allows it to become a style target for simple CSS styling.</span></div>
<div style="font: 12px Helvetica; min-height: 14px; padding: 0px; margin: 0px;"><br style="padding: 0px; margin: 0px;" /></div>
<div style="font: 13px Helvetica; padding: 0px; margin: 0px;"><span style="margin-top: 0px !important; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; letter-spacing: 0px; padding: 0px;"><strong>MX Source Code</strong></span></div>
<div style="font: 12px Helvetica; padding: 0px; margin: 0px;"><span style="margin-top: 0px !important; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; letter-spacing: 0px; padding: 0px;">TextMate with the mx sdk source is your best friend.</span></div>
<div style="font: 12px Helvetica; padding: 0px; margin: 0px;"><br style="margin-top: 0px !important; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding: 0px;" /></div>
<div style="font: 12px Helvetica; padding: 0px; margin: 0px;"><br style="margin-top: 0px !important; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding: 0px;" /></div>
<div style="font: 24px Helvetica; padding: 0px; margin: 0px;"><span style="margin-top: 0px !important; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; letter-spacing: 0px; padding: 0px;"><strong>ActionScript Component Cheat Sheet</strong></span></div>
<div style="font: 12px Helvetica; min-height: 14px; padding: 0px; margin: 0px;"><br style="padding: 0px; margin: 0px;" /></div>
<div style="font: 18px Helvetica; padding: 0px; margin: 0px;"><span style="margin-top: 0px !important; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; letter-spacing: 0px; padding: 0px;"><strong>Component Children</strong></span></div>
<div style="font: 13px Helvetica; padding: 0px; margin: 0px;"><span style="margin-top: 0px !important; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; letter-spacing: 0px; padding: 0px;"><strong>Child Components</strong></span></div>
<div style="font: 12px Courier; color: #343434; padding: 0px; margin: 0px;"><span style="margin-top: 0px !important; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; letter-spacing: 0px; padding: 0px;"><strong>private var _icon:SuperImage;</strong></span></div>
<div style="font: 12px Helvetica; min-height: 14px; padding: 0px; margin: 0px;"><br style="padding: 0px; margin: 0px;" /></div>
<div style="font: 9px Helvetica; padding: 0px; margin: 0px;"><span style="margin-top: 0px !important; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; letter-spacing: 0px; padding: 0px;"><strong>note:</strong> an improvement here would to have the icon type to be an interface ie. ILoadedImage</span></div>
<div style="font: 12px Helvetica; min-height: 14px; padding: 0px; margin: 0px;"><br style="padding: 0px; margin: 0px;" /></div>
<div style="font: 13px Helvetica; padding: 0px; margin: 0px;"><span style="margin-top: 0px !important; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; letter-spacing: 0px; padding: 0px;"><strong>Create Children</strong></span></div>
<div style="font: 10px Helvetica; padding: 0px; margin: 0px;"><span style="margin-top: 0px !important; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; letter-spacing: 0px; padding: 0px;"><em style="margin-top: 0px !important; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding: 0px;">Create child objects of the component.</em></span></div>
<div style="font: 10px Helvetica; min-height: 12px; padding: 0px; margin: 0px;"><br style="padding: 0px; margin: 0px;" /></div>
<div style="font: 12px Courier; color: #343434; padding: 0px; margin: 0px;"><span style="margin-top: 0px !important; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; letter-spacing: 0px; padding: 0px;">overrider protected function createChildren():void</span></div>
<div style="font: 12px Courier; color: #343434; padding: 0px; margin: 0px;"><span style="margin-top: 0px !important; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; letter-spacing: 0px; padding: 0px;">{</span></div>
<div style="font: 12px Courier; color: #343434; padding: 0px; margin: 0px;"><span style="margin-top: 0px !important; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; letter-spacing: 0px; padding: 0px;"> super.createChildren();</span></div>
<div style="font: 12px Courier; color: #343434; min-height: 14px; padding: 0px; margin: 0px;"></div>
<div style="font: 12px Courier; color: #343434; padding: 0px; margin: 0px;"><span style="margin-top: 0px !important; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; letter-spacing: 0px; padding: 0px;"><strong> if(!_icon)</strong></span></div>
<div style="font: 12px Courier; color: #343434; padding: 0px; margin: 0px;"><span style="margin-top: 0px !important; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; letter-spacing: 0px; padding: 0px;"><strong> {</strong></span></div>
<div style="font: 12px Courier; color: #343434; padding: 0px; margin: 0px;"><span style="margin-top: 0px !important; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; letter-spacing: 0px; padding: 0px;"><strong> this._icon = new SuperImage();</strong></span></div>
<div style="font: 12px Courier; color: #343434; padding: 0px; margin: 0px;"><span style="margin-top: 0px !important; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; letter-spacing: 0px; padding: 0px;"><strong> this.addChild(this._icon);</strong></span></div>
<div style="font: 12px Courier; color: #343434; padding: 0px; margin: 0px;"><span style="margin-top: 0px !important; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; letter-spacing: 0px; padding: 0px;"><strong> }</strong></span></div>
<div style="font: 12px Courier; color: #343434; padding: 0px; margin: 0px;"><span style="margin-top: 0px !important; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; letter-spacing: 0px; padding: 0px;">}</span></div>
<div style="font: 12px Helvetica; min-height: 14px; padding: 0px; margin: 0px;"><br style="padding: 0px; margin: 0px;" /></div>
<div style="font: 13px Helvetica; padding: 0px; margin: 0px;"><span style="margin-top: 0px !important; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; letter-spacing: 0px; padding: 0px;"><strong>Updated Display List – <em style="margin-top: 0px !important; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding: 0px;">where you lay it all out</em></strong></span></div>
<div style="font: 10px Helvetica; padding: 0px; margin: 0px;"><span style="margin-top: 0px !important; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; letter-spacing: 0px; padding: 0px;"><em style="margin-top: 0px !important; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding: 0px;">Draws the object and/or sizes and positions its children.</em></span></div>
<div style="font: 10px Helvetica; min-height: 12px; padding: 0px; margin: 0px;"><br style="padding: 0px; margin: 0px;" /></div>
<div style="font: 11px Courier; color: #343434; padding: 0px; margin: 0px;"><span style="margin-top: 0px !important; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; letter-spacing: 0px; padding: 0px;">override protected function updateDisplayList(unscaledWidth:Number, unscaledHeight:Number):void</span></div>
<div style="font: 11px Courier; color: #343434; padding: 0px; margin: 0px;"><span style="margin-top: 0px !important; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; letter-spacing: 0px; padding: 0px;">{</span></div>
<div style="font: 11px Courier; color: #343434; padding: 0px; margin: 0px;"><span style="margin-top: 0px !important; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; letter-spacing: 0px; padding: 0px;"> super.updatedDisplayList(unscaledWidth, unscaledHeight);</span></div>
<div style="font: 11px Courier; color: #343434; min-height: 13px; padding: 0px; margin: 0px;"></div>
<div style="font: 11px Courier; color: #343434; padding: 0px; margin: 0px;"><span style="margin-top: 0px !important; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; letter-spacing: 0px; padding: 0px;"><strong> this._icon.x = 0;</strong></span></div>
<div style="font: 11px Courier; color: #343434; padding: 0px; margin: 0px;"><span style="margin-top: 0px !important; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; letter-spacing: 0px; padding: 0px;"><strong> this._icon.y = 2;</strong></span></div>
<div style="font: 11px Courier; color: #343434; padding: 0px; margin: 0px;"><span style="margin-top: 0px !important; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; letter-spacing: 0px; padding: 0px;"><strong> this._icon.width = 16;</strong></span></div>
<div style="font: 11px Courier; color: #343434; padding: 0px; margin: 0px;"><span style="margin-top: 0px !important; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; letter-spacing: 0px; padding: 0px;"><strong> this._icon.height = 16;</strong></span></div>
<div style="font: 11px Courier; color: #343434; padding: 0px; margin: 0px;"><span style="margin-top: 0px !important; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; letter-spacing: 0px; padding: 0px;">}</span></div>
<div style="font: 12px Helvetica; min-height: 14px; padding: 0px; margin: 0px;"><br style="padding: 0px; margin: 0px;" /></div>
<div style="font: 13px Helvetica; padding: 0px; margin: 0px;"><span style="margin-top: 0px !important; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; letter-spacing: 0px; padding: 0px;"><strong>Measure – <em style="margin-top: 0px !important; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding: 0px;">helps the component know minimum sizes and measurements</em></strong></span></div>
<div style="font: 10px Helvetica; padding: 0px; margin: 0px;"><span style="margin-top: 0px !important; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; letter-spacing: 0px; padding: 0px;"><em style="margin-top: 0px !important; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding: 0px;">Calculates the default size, and optionally the default minimum size, of the component.</em></span></div>
<div style="font: 10px Helvetica; min-height: 12px; padding: 0px; margin: 0px;"><br style="padding: 0px; margin: 0px;" /></div>
<div style="font: 12px Courier; color: #343434; padding: 0px; margin: 0px;"><span style="margin-top: 0px !important; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; letter-spacing: 0px; padding: 0px;">override protected function measure():void</span></div>
<div style="font: 12px Courier; color: #343434; padding: 0px; margin: 0px;"><span style="margin-top: 0px !important; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; letter-spacing: 0px; padding: 0px;">{</span></div>
<div style="font: 12px Courier; color: #343434; padding: 0px; margin: 0px;"><span style="margin-top: 0px !important; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; letter-spacing: 0px; padding: 0px;"> super.measure();</span></div>
<div style="font: 12px Courier; color: #343434; min-height: 14px; padding: 0px; margin: 0px;"></div>
<div style="font: 12px Courier; color: #343434; padding: 0px; margin: 0px;"><span style="margin-top: 0px !important; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; letter-spacing: 0px; padding: 0px;"><strong> measuredWidth += 16;</strong></span></div>
<div style="font: 12px Courier; color: #343434; padding: 0px; margin: 0px;"><span style="margin-top: 0px !important; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; letter-spacing: 0px; padding: 0px;">}</span></div>
<div style="font: 12px Courier; color: #343434; padding: 0px; margin: 0px;"><br style="margin-top: 0px !important; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding: 0px;" /></div>
<div style="font: 18px Helvetica; padding: 0px; margin: 0px;"><span style="margin-top: 0px !important; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; letter-spacing: 0px; padding: 0px;"><strong>Component Properties</strong></span></div>
<div style="font: 13px Helvetica; padding: 0px; margin: 0px;"><span style="margin-top: 0px !important; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; letter-spacing: 0px; padding: 0px;"><strong>Property Setup</strong></span></div>
<div style="font: 12px Courier; color: #343434; padding: 0px; margin: 0px;"><span style="margin-top: 0px !important; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; letter-spacing: 0px; padding: 0px;"><strong>private var _iconSource:String;</strong></span></div>
<div style="font: 12px Courier; color: #343434; padding: 0px; margin: 0px;"><span style="margin-top: 0px !important; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; letter-spacing: 0px; padding: 0px;"><strong>private var _iconSourceChanged:Boolean = false;</strong></span></div>
<div style="font: 12px Courier; color: #343434; min-height: 14px; padding: 0px; margin: 0px;"><br style="padding: 0px; margin: 0px;" /></div>
<div style="font: 12px Courier; color: #343434; padding: 0px; margin: 0px;"><span style="margin-top: 0px !important; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; letter-spacing: 0px; padding: 0px;"><strong>[Bindable(‘iconChanged’)]</strong></span></div>
<div style="font: 12px Courier; color: #343434; padding: 0px; margin: 0px;"><span style="margin-top: 0px !important; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; letter-spacing: 0px; padding: 0px;"><strong>public function set iconSource(source:String):void</strong></span></div>
<div style="font: 12px Courier; color: #343434; padding: 0px; margin: 0px;"><span style="margin-top: 0px !important; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; letter-spacing: 0px; padding: 0px;"><strong>{</strong></span></div>
<div style="font: 12px Courier; color: #343434; padding: 0px; margin: 0px;"><span style="margin-top: 0px !important; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; letter-spacing: 0px; padding: 0px;"><strong> if(this._iconSource == source) return;</strong></span></div>
<div style="font: 12px Courier; color: #343434; min-height: 14px; padding: 0px; margin: 0px;"></div>
<div style="font: 12px Courier; color: #343434; padding: 0px; margin: 0px;"><span style="margin-top: 0px !important; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; letter-spacing: 0px; padding: 0px;"><strong> this._iconSource = source;</strong></span></div>
<div style="font: 12px Courier; color: #343434; padding: 0px; margin: 0px;"><span style="margin-top: 0px !important; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; letter-spacing: 0px; padding: 0px;"><strong> this._iconSourceChanged = true;</strong></span></div>
<div style="font: 12px Courier; color: #343434; min-height: 14px; padding: 0px; margin: 0px;"></div>
<div style="font: 12px Courier; color: #343434; padding: 0px; margin: 0px;"><span style="margin-top: 0px !important; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; letter-spacing: 0px; padding: 0px;"><strong> this.invalidateProperties();</strong></span></div>
<div style="font: 12px Courier; color: #343434; padding: 0px; margin: 0px;"><span style="margin-top: 0px !important; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; letter-spacing: 0px; padding: 0px;"><strong>}</strong></span></div>
<div style="font: 12px Courier; color: #343434; min-height: 14px; padding: 0px; margin: 0px;"><br style="padding: 0px; margin: 0px;" /></div>
<div style="font: 12px Courier; color: #343434; padding: 0px; margin: 0px;"><span style="margin-top: 0px !important; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; letter-spacing: 0px; padding: 0px;"><strong>public function get iconSource():String</strong></span></div>
<div style="font: 12px Courier; color: #343434; padding: 0px; margin: 0px;"><span style="margin-top: 0px !important; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; letter-spacing: 0px; padding: 0px;"><strong>{</strong></span></div>
<div style="font: 12px Courier; color: #343434; padding: 0px; margin: 0px;"><span style="margin-top: 0px !important; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; letter-spacing: 0px; padding: 0px;"><strong> return this._iconSource;</strong></span></div>
<div style="font: 12px Courier; color: #343434; padding: 0px; margin: 0px;"><span style="margin-top: 0px !important; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; letter-spacing: 0px; padding: 0px;"><strong>}</strong></span></div>
<div style="font: 13px Helvetica; min-height: 16px; padding: 0px; margin: 0px;"><br style="padding: 0px; margin: 0px;" /></div>
<div style="font: 13px Helvetica; padding: 0px; margin: 0px;"><span style="margin-top: 0px !important; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; letter-spacing: 0px; padding: 0px;"><strong>Commit Properties</strong></span></div>
<div style="font: 10px Helvetica; padding: 0px; margin: 0px;"><span style="margin-top: 0px !important; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; letter-spacing: 0px; padding: 0px;"><em style="margin-top: 0px !important; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding: 0px;">Processes the properties set on the component.</em></span></div>
<div style="font: 10px Helvetica; min-height: 12px; padding: 0px; margin: 0px;"><br style="padding: 0px; margin: 0px;" /></div>
<div style="font: 12px Courier; color: #343434; padding: 0px; margin: 0px;"><span style="margin-top: 0px !important; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; letter-spacing: 0px; padding: 0px;">override protected function commitProperties():void</span></div>
<div style="font: 12px Courier; color: #343434; padding: 0px; margin: 0px;"><span style="margin-top: 0px !important; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; letter-spacing: 0px; padding: 0px;">{</span></div>
<div style="font: 12px Courier; color: #343434; padding: 0px; margin: 0px;"><span style="margin-top: 0px !important; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; letter-spacing: 0px; padding: 0px;"> super.commitProperties();</span></div>
<div style="font: 12px Courier; color: #343434; min-height: 14px; padding: 0px; margin: 0px;"></div>
<div style="font: 12px Courier; color: #343434; padding: 0px; margin: 0px;"><span style="margin-top: 0px !important; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; letter-spacing: 0px; padding: 0px;"><strong> if(this._iconSourceChanged)</strong></span></div>
<div style="font: 12px Courier; color: #343434; padding: 0px; margin: 0px;"><span style="margin-top: 0px !important; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; letter-spacing: 0px; padding: 0px;"><strong> {</strong></span></div>
<div style="font: 12px Courier; color: #343434; padding: 0px; margin: 0px;"><span style="margin-top: 0px !important; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; letter-spacing: 0px; padding: 0px;"><strong> this._icon.source = this._iconSource;</strong></span></div>
<div style="font: 12px Courier; color: #343434; padding: 0px; margin: 0px;"><span style="margin-top: 0px !important; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; letter-spacing: 0px; padding: 0px;"><strong> this._iconSourceChanged = false;</strong></span></div>
<div style="font: 12px Courier; color: #343434; min-height: 14px; padding: 0px; margin: 0px;"></div>
<div style="font: 12px Courier; color: #343434; padding: 0px; margin: 0px;"><span style="margin-top: 0px !important; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; letter-spacing: 0px; padding: 0px;"><strong> this.invalidateDisplayList();</strong></span></div>
<div style="font: 12px Courier; color: #343434; padding: 0px; margin: 0px;"><span style="margin-top: 0px !important; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; letter-spacing: 0px; padding: 0px;"><strong> }</strong></span></div>
<div style="font: 12px Courier; color: #343434; padding: 0px; margin: 0px;"><span style="margin-top: 0px !important; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; letter-spacing: 0px; padding: 0px;">}</span></div>
<div style="font: 12px Courier; color: #343434; min-height: 14px; padding: 0px; margin: 0px;"><br style="padding: 0px; margin: 0px;" /></div>
<div style="font: 12px Courier; color: #343434; min-height: 14px; padding: 0px; margin: 0px;"><br style="padding: 0px; margin: 0px;" /></div>
<div style="font: 18px Helvetica; padding: 0px; margin: 0px;"><span style="margin-top: 0px !important; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; letter-spacing: 0px; padding: 0px;"><strong>Component Events</strong></span></div>
<div style="font: 13px Helvetica; padding: 0px; margin: 0px;"><span style="margin-top: 0px !important; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; letter-spacing: 0px; padding: 0px;"><strong>Meta Data –  <em style="margin-top: 0px !important; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding: 0px;">defining lets FlexBuilder MXML auto-complete – happy compiler</em></strong></span></div>
<div style="font: 12px Courier; color: #343434; padding: 0px; margin: 0px;"><span style="margin-top: 0px !important; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; letter-spacing: 0px; padding: 0px;"><strong>[Event(name=‘iconClick’, type=’mx.events.MouseEvent’)]</strong></span></div>
<div style="font: 12px Courier; color: #343434; min-height: 14px; padding: 0px; margin: 0px;"><br style="padding: 0px; margin: 0px;" /></div>
<div style="font: 13px Helvetica; padding: 0px; margin: 0px;"><span style="margin-top: 0px !important; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; letter-spacing: 0px; padding: 0px;"><strong>Event Notes</strong></span></div>
<ul style="margin-top: 20px; margin-right: 0px; margin-bottom: 20px; margin-left: 20px; padding: 0px;">
<li style="list-style-type: disc; font: 12px Helvetica; padding: 0px; margin: 0px;"><span style="margin-top: 0px !important; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; letter-spacing: 0px; padding: 0px;">Minimise internal event handlers – where possible override event handlers from parent component. eg.</span> <span style="font: 12px Courier; padding: 0px; margin: 0px;">override protected function mouseClickHandler(event:MouseEvent):void</span></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.formyownamusement.com/2009/06/30/flex-actionscript-component-development-cheat-sheet/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Apple Breaks Dvorak in Carbon</title>
		<link>http://www.formyownamusement.com/2009/03/18/apple-breaks-dvorak-in-carbon/</link>
		<comments>http://www.formyownamusement.com/2009/03/18/apple-breaks-dvorak-in-carbon/#comments</comments>
		<pubDate>Wed, 18 Mar 2009 09:33:29 +0000</pubDate>
		<dc:creator>Timothy Churchward</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Usability]]></category>

		<guid isPermaLink="false">http://www.formyownamusement.com/2009/03/18/apple-breaks-dvorak-in-carbon/</guid>
		<description><![CDATA[What the crap is going on with Dvorak in Carbon apps like Flex Builder and Eclipse :&#8217;( very very sad. It seems that when apps utilise Carbon in Mac OS X 10.5.6 the keyboard mapping reverts to QWERTY instead of dvorak. However, this seems to be only for some keys. Command+S is still Save Command+W [...]]]></description>
			<content:encoded><![CDATA[<p>What the crap is going on with Dvorak in Carbon apps like Flex Builder and Eclipse :&#8217;( very very sad.</p>
<p>It seems that when apps utilise Carbon in Mac OS X 10.5.6 the keyboard mapping reverts to QWERTY instead of dvorak. However, this seems to be only for some keys.</p>
<p>Command+S is still Save<br />
Command+W still closes a window<br />
Command+Q still quits</p>
<p>However, copy and paste are totally screwed.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.formyownamusement.com/2009/03/18/apple-breaks-dvorak-in-carbon/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>LittleSnapper Review</title>
		<link>http://www.formyownamusement.com/2009/02/09/littlesnapper-review/</link>
		<comments>http://www.formyownamusement.com/2009/02/09/littlesnapper-review/#comments</comments>
		<pubDate>Sun, 08 Feb 2009 21:46:53 +0000</pubDate>
		<dc:creator>Timothy Churchward</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[Usability]]></category>
		<category><![CDATA[review]]></category>

		<guid isPermaLink="false">http://www.formyownamusement.com/?p=84</guid>
		<description><![CDATA[LittleSnapper – a fantastic way to Snap, Organise, Edit and Share screenshots, designs and other images. http://www.realmacsoftware.com/littlesnapper/ Snap – Capturing This all works great. There&#8217;s a fantastic Toolbar Menu item for mouse-driven snapping. Mac OS already has great capturing built in for capturing: Full Screen, Area and Window. LittleSnapper adds Web Snappshots. It will grab [...]]]></description>
			<content:encoded><![CDATA[<p><strong><span style="font-weight: normal;"><img src="http://www.formyownamusement.com/wp-content/uploads/2009/02/littlesnappericon1.png" width="95" height="95" alt="LittleSnapperIcon.png" style="float:left;" /></span>LittleSnapper</strong> – a fantastic way to Snap, Organise, Edit and Share screenshots, designs and other images.</p>
<p style="text-align: left;"><a href="http://www.realmacsoftware.com/littlesnapper/" title="RealMac Software Website – LittleSnapper" target="_blank">http://www.realmacsoftware.com/littlesnapper/</a></p>
<h2></h2>
<h2></h2>
<h2></h2>
<p><span style="font-size: 18px; font-weight: bold;">Snap – Capturing</span><img src="http://www.formyownamusement.com/wp-content/uploads/2009/02/littlesnappermenuitem.png" width="272" height="177" alt="LittleSnapper Menu Bar Item" style="float:right;" /><br />
This all works great. There&#8217;s a fantastic Toolbar Menu item for mouse-driven snapping. Mac OS already has great capturing built in for capturing: Full Screen, Area and Window. LittleSnapper adds Web Snappshots. It will grab an entire web page even if it&#8217;s out of view.</p>
<h3>No &#8216;New from Clipboard&#8217;</h3>
<p>My biggest gripe with the &#8220;Snap&#8221; part of LittleSnapper is that there is no pasting an image in to the Library or (similar to Preview.app&#8217;s ability) New from Clipboard.</p>
<p>The only way to get images in to LittleSnapper is by either dragging them or taking a &#8220;snap&#8221; using their capture tools.</p>
<h2></h2>
<h2><strong>Organise</strong></h2>
<h2><strong><span style="font-size: 12px; font-weight: normal;">This is done <em>quite</em> well. Definitely could be better, but is relatively smooth. I&#8217;m loving anything these days with easy tagging ability. Unfortunately tags currently do not auto-complete to pre-existing tags.</span></strong></h2>
<p>It has all the usual ways of filing: Folders, Collections and Smart Folders.</p>
<p><strong>Folders</strong> – can contain Folders, Collections and Smart Collections.<br />
<strong>Collections</strong> – can only contain Snapshots.<br />
<strong>Smart Collections</strong> – can only contain Snapshots based on the rules below.</p>
<h2>Edit</h2>
<p>This is one the best bits. The actual controls are quite clunky, however, the end product is fantastic. I love that you can draw outside the border of images. This is fantastic for when you&#8217;ve got a smaller screen shot that you still want to mark up with arrows, highlights, text etc. I sure hope better control is coming here.</p>
<h2>Share</h2>
<p>This is probably where I find the most problems (other than some UI things I&#8217;d love to see tweaked). Don&#8217;t get me wrong Realmac Software have done a fantastic job at in integrating LittleSnapper with their QuickSnapper website, Flickr and the ability to upload to FTP or SFTP.</p>
<h3>Sharing Annoyances</h3>
<p>My problem comes more from how I use LittleSnapper. I work with a software development company where I take screen shots for inspiration, records of current work and in particular letting the developers know how I want something to look.</p>
<p>LittleSnapper is fantastic for taking a screen and marking it up &#8230; but then all I want to do is email it or or save the file.</p>
<p>Now, you can Export the image, you can also drag an image out of the main Icon View, however the exported image does not include any visual mark-up that exceeds the border of the original image. So if you&#8217;ve got a smaller image and created a Text box and an arrow pointing to an element you loose it all except the bit that overlaps the existing image.</p>
<p>Furthermore, sharing by email means exporting the image to say the desktop and then dragging it to mail. Even though the Edit menu has Cut, Copy and Paste in the Icon view they do not work for sucking an image in to the Clipboard for pasting in documents or email.</p>
<h2>Summary</h2>
<p>Overall, as a Version 1 it&#8217;s fantastic. It&#8217;s instantly become an &#8220;Open at Login&#8221; item on my mac. Some things in the UI bug me (at some stage I hope to write about them) but overall it&#8217;s a great concept and quite well implemented. I was initially put off by the cost &#8230; but after trying it for 20mins I just had to have it.</p>
<p><em>Apologies for no images &#8230; weird stuff with the latest WebKit nightly build and WP. (trying ecto shortly)</em></p>
]]></content:encoded>
			<wfw:commentRss>http://www.formyownamusement.com/2009/02/09/littlesnapper-review/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
