<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-834293513622460372</id><updated>2012-01-27T09:10:46.641-04:00</updated><category term='datatip'/><category term='columnChart'/><category term='linechart'/><category term='IHierarchicalCollectionViewCursor'/><category term='ImageReady'/><category term='bugs'/><category term='editorDataField'/><category term='DateChooser'/><category term='dataGrid'/><category term='events'/><category term='verticalAxis'/><category term='Photoshop'/><category term='advanceddatagrid'/><category term='contextual research'/><category term='header-sort-separator-skin'/><category term='ComboBox'/><category term='supertabnavigator'/><category term='maximize'/><category term='folderClosedIcon'/><category term='datatipfunction'/><category term='wordwrap'/><category term='freelance'/><category term='TitleWindow'/><category term='sort'/><category term='selectedItem'/><category term='Adobe'/><category term='fills'/><category term='xml'/><category term='Dictionary'/><category term='CSS'/><category term='imageMap'/><category term='togglebuttonbar'/><category term='ux'/><category term='flex'/><category term='iPhone'/><category term='baseAtZero'/><category term='RadialGradient'/><category term='Panel'/><category term='headerRenderer'/><category term='paper prototyping'/><category term='Contribute'/><category term='color'/><category term='flexLib'/><category term='HTML'/><category term='hitdata'/><category term='itemEditor'/><category term='feedburner'/><category term='DropDownList'/><category term='source code snip'/><category term='headerWordWrap'/><category term='FillFunction'/><category term='removeChild'/><category term='sortExpertMode'/><category term='web design'/><category term='folderOpenIcon'/><category term='label'/><category term='javascript'/><category term='digital imaging'/><category term='Date'/><category term='CursorManager'/><category term='itemRenderer'/><category term='header-separator-skin'/><category term='spark'/><category term='rounded corners'/><category term='IHierarchicalCollectionView'/><category term='image'/><category term='CS3'/><category term='DragManager'/><category term='tabnvaigator'/><category term='openNodes'/><category term='volunteer'/><category term='feed'/><category term='getParentItem'/><category term='dataProvider'/><category term='dreamweaver'/><category term='research'/><category term='VSS'/><category term='php'/><category term='header'/><category term='cool link'/><category term='refresh'/><category term='button'/><category term='lineseries'/><category term='animated gif'/><category term='click'/><category term='close'/><category term='verticalScrollPosition'/><category term='CheckBox'/><category term='PieChart'/><category term='spca'/><category term='blogger'/><category term='buttonbar'/><category term='div'/><category term='icon'/><category term='clipcontent'/><category term='skins'/><category term='flash builder 4'/><category term='htmlText'/><category term='iPad'/><title type='text'>What's My Title Today?</title><subtitle type='html'>Ramblings from a user experience professional that has no idea what her role is from one day to the next.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://whatsmytitletoday.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/834293513622460372/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://whatsmytitletoday.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Ang</name><uri>http://www.blogger.com/profile/10242843268874466256</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://bp3.blogger.com/_v41MhIIRWT4/SHZT_mRJNaI/AAAAAAAAAGQ/ekFamcH3N1k/S220/n625835384_3458977_7608.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>66</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-834293513622460372.post-8738381061275859571</id><published>2011-09-28T13:02:00.001-03:00</published><updated>2011-09-28T13:03:49.720-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='flex'/><category scheme='http://www.blogger.com/atom/ns#' term='TitleWindow'/><title type='text'></title><content type='html'>Great example on creating and positioning TitleWindows.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.mxml.it/index.php/2008/06/18/positioning-popups/"&gt;http://www.mxml.it/index.php/2008/06/18/positioning-popups/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/834293513622460372-8738381061275859571?l=whatsmytitletoday.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://whatsmytitletoday.blogspot.com/feeds/8738381061275859571/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=834293513622460372&amp;postID=8738381061275859571' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/834293513622460372/posts/default/8738381061275859571'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/834293513622460372/posts/default/8738381061275859571'/><link rel='alternate' type='text/html' href='http://whatsmytitletoday.blogspot.com/2011/09/great-example-on-creating-and.html' title=''/><author><name>Ang</name><uri>http://www.blogger.com/profile/10242843268874466256</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://bp3.blogger.com/_v41MhIIRWT4/SHZT_mRJNaI/AAAAAAAAAGQ/ekFamcH3N1k/S220/n625835384_3458977_7608.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-834293513622460372.post-1476089474516432212</id><published>2011-06-23T09:40:00.003-03:00</published><updated>2011-06-23T10:01:22.017-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ux'/><category scheme='http://www.blogger.com/atom/ns#' term='paper prototyping'/><title type='text'>Paper Prototyping</title><content type='html'>I've been pretty far down in the trenches the last couple months, hence my lack of posting. It's good to be busy, and working on what I love the most, visual designs.&lt;br /&gt;&lt;br /&gt;A fun thing happened while on the client site last week, and I thought I'd quickly post about it. &lt;br /&gt;&lt;br /&gt;I was there to present my visual designs and get feedback before the requirements doc was finalized. I had suggested to the client previously, with the recommendation of my company's UX Director, that I try some paper prototyping with some real users. They liked the idea, but didn't really speak of it much since. So there I was, on the client site, working away at some suggested changes made by the BAs in our morning session, and here comes a BA with a user. "Do you want to try some paper prototyping?" I was a little stunned, but luckily had my visuals previously printed (all be it in black and white). I took the user into a meeting room. Now this isn't something I had ever done before, I read a couple articles, looked at some examples online, but that was the extent of my knowledge. What the heck, right? No better way to learn. Jump in the deep end.&lt;br /&gt;&lt;br /&gt;By the end I had some great feedback and a bunch of marked up papers all over the place in no logical order. You know what? It was fun. It was great to have a one-on-one session with a user. There was no one else there to basis him, or explain how something should work, or guide him into the right place. It was just me, my mock ups, and the user. That's real research.&lt;br /&gt;&lt;br /&gt;I got to do it once more while there, and it looks like I will be making a trip back specifically for the purpose of paper prototyping. &lt;br /&gt;&lt;br /&gt;So I've now convinced my client to let me do contextual research and paper prototyping. Hooray for advocating the value of user experience research!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/834293513622460372-1476089474516432212?l=whatsmytitletoday.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://whatsmytitletoday.blogspot.com/feeds/1476089474516432212/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=834293513622460372&amp;postID=1476089474516432212' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/834293513622460372/posts/default/1476089474516432212'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/834293513622460372/posts/default/1476089474516432212'/><link rel='alternate' type='text/html' href='http://whatsmytitletoday.blogspot.com/2011/06/paper-prototyping.html' title='Paper Prototyping'/><author><name>Ang</name><uri>http://www.blogger.com/profile/10242843268874466256</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://bp3.blogger.com/_v41MhIIRWT4/SHZT_mRJNaI/AAAAAAAAAGQ/ekFamcH3N1k/S220/n625835384_3458977_7608.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-834293513622460372.post-7644681464003755936</id><published>2010-11-23T11:31:00.006-04:00</published><updated>2010-11-23T11:43:52.122-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='flex'/><category scheme='http://www.blogger.com/atom/ns#' term='DateChooser'/><category scheme='http://www.blogger.com/atom/ns#' term='Date'/><title type='text'>Default Flex DateChooser to tomorrow</title><content type='html'>I have a DateChooser control and I was trying to default it to have tomorrow's date selected. This is actually really easy to do, but it took me a fair amount of time to figure it out, so I thought I'd post this just in case anyone else has some trouble.&lt;br /&gt;&lt;br /&gt;Create a variable for today's date:&lt;br /&gt;&lt;b&gt;[Bindable] private var today:Date = new Date();&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Then set the selected date of the DateChooser. You may also want to set showToday to false so that today's date isn't highlighted.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&amp;lt;mx:DateChooser selectedDate="{new Date(today.fullYear,today.month,today.date+1)}" showToday="false"/&amp;gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;The selectedDate property only understands straight dates with no time, which is why I had to assign it this way. If you're at the end of the month/year Flex is smart enough to know that date + 1 should take you to the next month/year.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://angelaportfolio.com/FlexSamples/DateChooserTomorrow/DateChooserTomorrow.html"&gt;Here is a sample with view source enabled.&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/834293513622460372-7644681464003755936?l=whatsmytitletoday.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://whatsmytitletoday.blogspot.com/feeds/7644681464003755936/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=834293513622460372&amp;postID=7644681464003755936' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/834293513622460372/posts/default/7644681464003755936'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/834293513622460372/posts/default/7644681464003755936'/><link rel='alternate' type='text/html' href='http://whatsmytitletoday.blogspot.com/2010/11/default-flex-datechooser.html' title='Default Flex DateChooser to tomorrow'/><author><name>Ang</name><uri>http://www.blogger.com/profile/10242843268874466256</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://bp3.blogger.com/_v41MhIIRWT4/SHZT_mRJNaI/AAAAAAAAAGQ/ekFamcH3N1k/S220/n625835384_3458977_7608.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-834293513622460372.post-3426391099415276397</id><published>2010-11-19T12:20:00.004-04:00</published><updated>2010-11-19T12:26:08.027-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='flex'/><category scheme='http://www.blogger.com/atom/ns#' term='advanceddatagrid'/><category scheme='http://www.blogger.com/atom/ns#' term='wordwrap'/><category scheme='http://www.blogger.com/atom/ns#' term='itemRenderer'/><title type='text'>Word wrap in AdvancedDataGrid</title><content type='html'>So getting a column field to wrap in an AdvancedDataGrid isn't as easy as just setting the "wordWrap" property to true. Maybe it should be, but it isn't.&lt;br /&gt;&lt;br /&gt;First thing's first. Do you have an itemRenderer on the column you're trying to wrap. If the answer is yes you have to make sure that itemRenderer is based on a wrappable component. For argument's sake, lets say you have a Label itemRenderer, well you're going to have to change that to be based on Text, and you're going to have to give it a width to give it the capability to wrap (percentWidth = 100 works nicely).&lt;br /&gt;&lt;br /&gt;Then set your wrap-able column to &lt;b&gt;wordWrap = true&lt;/b&gt;.&lt;br /&gt;&lt;br /&gt;Finally set your AdvancedDataGrid to have property &lt;b&gt;variableRowHeight = true&lt;/b&gt;.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://angelaportfolio.com/FlexSamples/ADGWordWrap/ADGWordWrap.html" target="_blank"&gt;Here is a link to an example with the view source enabled.&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/834293513622460372-3426391099415276397?l=whatsmytitletoday.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://whatsmytitletoday.blogspot.com/feeds/3426391099415276397/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=834293513622460372&amp;postID=3426391099415276397' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/834293513622460372/posts/default/3426391099415276397'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/834293513622460372/posts/default/3426391099415276397'/><link rel='alternate' type='text/html' href='http://whatsmytitletoday.blogspot.com/2010/11/word-wrap-in-advanceddatagrid.html' title='Word wrap in AdvancedDataGrid'/><author><name>Ang</name><uri>http://www.blogger.com/profile/10242843268874466256</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://bp3.blogger.com/_v41MhIIRWT4/SHZT_mRJNaI/AAAAAAAAAGQ/ekFamcH3N1k/S220/n625835384_3458977_7608.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-834293513622460372.post-1871825447016497674</id><published>2010-11-09T15:24:00.002-04:00</published><updated>2010-11-09T15:31:36.757-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='contextual research'/><category scheme='http://www.blogger.com/atom/ns#' term='research'/><category scheme='http://www.blogger.com/atom/ns#' term='ux'/><title type='text'>My first experience doing contextual research</title><content type='html'>For some back story – I’ve been on this project for 2 years now. I’ve helped design and build two dashboards and have never had the opportunity to meet or talk with a user until now and I am no expert in the client's line of business.&lt;br /&gt; &lt;br /&gt;I met with 7 users from 3 different user groups; 1 group per day; 30-45 minutes with each user, followed by an hour group session discussing the observations. A lot of them have similar issues. Issues within groups of users seem to be pretty much the same.&lt;br /&gt;&lt;br /&gt;I found myself getting frustrated and having to consciously calm myself down while meeting with the users. Seeing the roundabout way some of them had to work just to use the system drove me crazy. If I had only been involved from the beginning in this capacity, and with the requirements gathering for each release, these poor users wouldn't have to deal with a system that really doesn't meet their needs. But hey, better late than never I suppose. That is the story of my life... the story of UX.&lt;br /&gt;&lt;br /&gt;I had some follow up meetings with some managers and I could feel the overall manager not taking all of the feedback seriously. His job is to get things done quickly and at the lowest cost... and lets face it, UX takes time and money, and when done in the beginning will save so much time and money in the end. What I basically want is a redesign of a two year old system. That's a hard sell. But, being an outside consultant, I can push for my cause a little more than the average employee. That is why they hire us, after all.&lt;br /&gt; &lt;br /&gt;I typed up all my observations and recommendations and sent them off to my manager. I broke them out into three categories; 1 – quick fixes, 2 – can be done leaving the main system as is, 3 – needing a total redesign. &lt;br /&gt;&lt;br /&gt;Our plan of attack is to pull out the major changes and estimate how much time each one will save each user, and then do the math. Time equals money, and if the changes save enough money, we can go after some funding to make the system better. If nothing else, we can at least implement the quick fixes over the next couple months.&lt;br /&gt; &lt;br /&gt;All in all, it was a very positive experience for me. I thought I would have been more uncomfortable with it all, being that I’ve never done contextual research before, but it was all very natural once I got there and was sitting with the users.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/834293513622460372-1871825447016497674?l=whatsmytitletoday.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://whatsmytitletoday.blogspot.com/feeds/1871825447016497674/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=834293513622460372&amp;postID=1871825447016497674' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/834293513622460372/posts/default/1871825447016497674'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/834293513622460372/posts/default/1871825447016497674'/><link rel='alternate' type='text/html' href='http://whatsmytitletoday.blogspot.com/2010/11/my-first-experience-doing-contextual.html' title='My first experience doing contextual research'/><author><name>Ang</name><uri>http://www.blogger.com/profile/10242843268874466256</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://bp3.blogger.com/_v41MhIIRWT4/SHZT_mRJNaI/AAAAAAAAAGQ/ekFamcH3N1k/S220/n625835384_3458977_7608.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-834293513622460372.post-2353548327349196487</id><published>2010-06-30T14:39:00.002-03:00</published><updated>2010-06-30T14:47:51.175-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='flex'/><category scheme='http://www.blogger.com/atom/ns#' term='flash builder 4'/><category scheme='http://www.blogger.com/atom/ns#' term='skins'/><category scheme='http://www.blogger.com/atom/ns#' term='spark'/><title type='text'>Spark Icon button</title><content type='html'>So the Spark button doesn't have the icon property... which to be honest annoys me a little, but I &lt;i&gt;do&lt;/i&gt; understand that they want the skin to be separate from the code.&lt;br /&gt;&lt;br /&gt;Anyway, I made an icon button based on some other examples I've looked over.&lt;br /&gt;&lt;br /&gt;To see the working example with view source enabled &lt;a href="http://angelaportfolio.com/FlexSamples/IconButton/SparkSkinTest.html"&gt;click here&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/834293513622460372-2353548327349196487?l=whatsmytitletoday.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://whatsmytitletoday.blogspot.com/feeds/2353548327349196487/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=834293513622460372&amp;postID=2353548327349196487' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/834293513622460372/posts/default/2353548327349196487'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/834293513622460372/posts/default/2353548327349196487'/><link rel='alternate' type='text/html' href='http://whatsmytitletoday.blogspot.com/2010/06/spark-icon-button.html' title='Spark Icon button'/><author><name>Ang</name><uri>http://www.blogger.com/profile/10242843268874466256</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://bp3.blogger.com/_v41MhIIRWT4/SHZT_mRJNaI/AAAAAAAAAGQ/ekFamcH3N1k/S220/n625835384_3458977_7608.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-834293513622460372.post-6195644544149180628</id><published>2010-06-30T08:25:00.004-03:00</published><updated>2010-06-30T08:28:54.525-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='flex'/><category scheme='http://www.blogger.com/atom/ns#' term='ComboBox'/><category scheme='http://www.blogger.com/atom/ns#' term='DropDownList'/><category scheme='http://www.blogger.com/atom/ns#' term='flash builder 4'/><category scheme='http://www.blogger.com/atom/ns#' term='spark'/><title type='text'>Spark ComboBox vs DropDownList</title><content type='html'>I discovered yesterday that with the new Spark components there was no "editable" property on the ComboBox component. &lt;br /&gt;&lt;br /&gt;I realized that the Spark ComboBox is always editable by default, and with no way to turn that off I was confused. Did a little research and found that to have what would have been &lt;i&gt;ComboBox editable="false"&lt;/i&gt; in Halo is now simply DropDownList. Two different components. &lt;br /&gt;&lt;br /&gt;I think it makes sense to have these separate.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/834293513622460372-6195644544149180628?l=whatsmytitletoday.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://whatsmytitletoday.blogspot.com/feeds/6195644544149180628/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=834293513622460372&amp;postID=6195644544149180628' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/834293513622460372/posts/default/6195644544149180628'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/834293513622460372/posts/default/6195644544149180628'/><link rel='alternate' type='text/html' href='http://whatsmytitletoday.blogspot.com/2010/06/spark-combobox-vs-dropdownlist.html' title='Spark ComboBox vs DropDownList'/><author><name>Ang</name><uri>http://www.blogger.com/profile/10242843268874466256</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://bp3.blogger.com/_v41MhIIRWT4/SHZT_mRJNaI/AAAAAAAAAGQ/ekFamcH3N1k/S220/n625835384_3458977_7608.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-834293513622460372.post-6213592143275070017</id><published>2010-06-22T09:26:00.014-03:00</published><updated>2010-06-22T11:26:45.849-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='flex'/><category scheme='http://www.blogger.com/atom/ns#' term='flash builder 4'/><category scheme='http://www.blogger.com/atom/ns#' term='button'/><title type='text'>Spark image button</title><content type='html'>So skinning spark buttons with images isn't the same as skinning halo (mx) buttons with images.&lt;br /&gt;&lt;br /&gt;It's a 3 part process.&lt;br /&gt;&lt;br /&gt;components.ImageButton.as&lt;br /&gt;&lt;pre name="code" class="html"&gt;&lt;br /&gt;package components&lt;br /&gt;{&lt;br /&gt; import spark.components.Button;&lt;br /&gt; &lt;br /&gt; [Style(name="imageSkin",type="*")]&lt;br /&gt; [Style(name="imageSkinDisabled",type="*")]&lt;br /&gt; [Style(name="imageSkinDown",type="*")]&lt;br /&gt; [Style(name="imageSkinOver",type="*")]&lt;br /&gt; &lt;br /&gt; public class ImageButton extends Button&lt;br /&gt; {&lt;br /&gt;  public function ImageButton()&lt;br /&gt;  {&lt;br /&gt;   super();&lt;br /&gt;  }&lt;br /&gt; }&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Script block&lt;br /&gt;&lt;pre name="code" class="html"&gt;&lt;br /&gt;[Embed('assets/images/btnGoUp.png')]&lt;br /&gt;[Bindable]&lt;br /&gt;public var btnGo:Class;&lt;br /&gt;  &lt;br /&gt;[Embed('assets/images/btnGoOver.png')]&lt;br /&gt;[Bindable]&lt;br /&gt;public var btnGoOver:Class;&lt;br /&gt;  &lt;br /&gt;[Embed('assets/images/btnGoDisabled.png')]&lt;br /&gt;[Bindable]&lt;br /&gt;public var btnGoDisabled:Class;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;MXML block&lt;br /&gt;&lt;pre name="code" class="html"&gt;&lt;br /&gt;&amp;lt;components:ImageButton buttonMode="true"&lt;br /&gt;   imageSkin="{btnGo}" imageSkinDisabled="{btnGoDisabled}"&lt;br /&gt;   imageSkinDown="{btnGoOver}" imageSkinOver="{btnGoOver}"&lt;br /&gt;   skinClass="assets.skins.ImageButtonSkin"/&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://angelaportfolio.com/FlexSamples/ImageButton/TestMainApp.html" target="_blank"&gt;Here's a sample with the view source enabled&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/834293513622460372-6213592143275070017?l=whatsmytitletoday.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://whatsmytitletoday.blogspot.com/feeds/6213592143275070017/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=834293513622460372&amp;postID=6213592143275070017' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/834293513622460372/posts/default/6213592143275070017'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/834293513622460372/posts/default/6213592143275070017'/><link rel='alternate' type='text/html' href='http://whatsmytitletoday.blogspot.com/2010/06/spark-image-button.html' title='Spark image button'/><author><name>Ang</name><uri>http://www.blogger.com/profile/10242843268874466256</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://bp3.blogger.com/_v41MhIIRWT4/SHZT_mRJNaI/AAAAAAAAAGQ/ekFamcH3N1k/S220/n625835384_3458977_7608.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-834293513622460372.post-8761573522476282169</id><published>2010-06-15T21:16:00.004-03:00</published><updated>2010-06-15T21:42:03.954-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ux'/><title type='text'>What is a UX specialist?</title><content type='html'>A UX specialist is the best thing your company never knew it needed.&lt;br /&gt;&lt;br /&gt;Remember the day you got your first microwave? Your first cell phone? Your first smart phone? Your first DVR? Remember life before these devices? Can you imagine going back to that? What these devices do for your life, is what a UX specialist can do for your development company.&lt;br /&gt;&lt;br /&gt;A UX specialist can make things run more smoothly. A UX specialist will always make a product better, and will make a client happier. They may need some time up front, kind of like how you need to spend time learning and setting up your smart phone when you first get it, but more often than not, the total time spent on the project will be less because all those bumps and kinks get sorted out right up front. Because of this, a UX specialist will make your other team members happier because their job will be easier and there will be less rework. &lt;br /&gt;&lt;br /&gt;If you're running your TV without a DVR, you're missing out. If your development company is operating without a UX specialist, they're missing out. You may think everything is fine the way it is, but once you have UX, you never go back.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/834293513622460372-8761573522476282169?l=whatsmytitletoday.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://whatsmytitletoday.blogspot.com/feeds/8761573522476282169/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=834293513622460372&amp;postID=8761573522476282169' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/834293513622460372/posts/default/8761573522476282169'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/834293513622460372/posts/default/8761573522476282169'/><link rel='alternate' type='text/html' href='http://whatsmytitletoday.blogspot.com/2010/06/what-is-ux-specialist.html' title='What is a UX specialist?'/><author><name>Ang</name><uri>http://www.blogger.com/profile/10242843268874466256</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://bp3.blogger.com/_v41MhIIRWT4/SHZT_mRJNaI/AAAAAAAAAGQ/ekFamcH3N1k/S220/n625835384_3458977_7608.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-834293513622460372.post-4069023100457339570</id><published>2010-06-09T16:01:00.004-03:00</published><updated>2010-06-09T16:04:35.005-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='iPhone'/><category scheme='http://www.blogger.com/atom/ns#' term='iPad'/><title type='text'>iPhone &amp; iPad design PS goodies</title><content type='html'>I have to very quickly come up with a design for an existing application for the iPad and the iPhone. No real time to learn some cool new tools (unfortunately). I am most comfortable in Photoshop so that's what I went hunting for for tools...&lt;br /&gt;&lt;br /&gt;These are just awesome and so helpful...&lt;br /&gt;&lt;br /&gt;iPhone: &lt;a href="http://www.teehanlax.com/blog/2009/06/18/iphone-gui-psd-30/"&gt;http://www.teehanlax.com/blog/2009/06/18/iphone-gui-psd-30/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;iPad: &lt;a href="http://www.teehanlax.com/blog/2010/02/01/ipad-gui-psd/"&gt;http://www.teehanlax.com/blog/2010/02/01/ipad-gui-psd/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_v41MhIIRWT4/TA_lrGe4uTI/AAAAAAAABOc/21JCR4Lceeg/s1600/ipad_GUI_PSD1.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 247px;" src="http://2.bp.blogspot.com/_v41MhIIRWT4/TA_lrGe4uTI/AAAAAAAABOc/21JCR4Lceeg/s400/ipad_GUI_PSD1.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5480851800170477874" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/834293513622460372-4069023100457339570?l=whatsmytitletoday.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://whatsmytitletoday.blogspot.com/feeds/4069023100457339570/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=834293513622460372&amp;postID=4069023100457339570' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/834293513622460372/posts/default/4069023100457339570'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/834293513622460372/posts/default/4069023100457339570'/><link rel='alternate' type='text/html' href='http://whatsmytitletoday.blogspot.com/2010/06/iphone-ipad-design-ps-goodies.html' title='iPhone &amp; iPad design PS goodies'/><author><name>Ang</name><uri>http://www.blogger.com/profile/10242843268874466256</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://bp3.blogger.com/_v41MhIIRWT4/SHZT_mRJNaI/AAAAAAAAAGQ/ekFamcH3N1k/S220/n625835384_3458977_7608.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_v41MhIIRWT4/TA_lrGe4uTI/AAAAAAAABOc/21JCR4Lceeg/s72-c/ipad_GUI_PSD1.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-834293513622460372.post-6379458838137254015</id><published>2010-05-26T15:02:00.002-03:00</published><updated>2010-05-26T15:13:37.270-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='flex'/><category scheme='http://www.blogger.com/atom/ns#' term='flash builder 4'/><title type='text'>Flex 3 &amp; Flex 4 Frankenstein</title><content type='html'>So we have a large dashboard application built in Flex 3.5 SDK. Anyway, making it work with the Flex 4 SDK was annoying and took nearly a week.&lt;br /&gt;&lt;br /&gt;So the client doesn't want to give me the time to rewrite the UI in the new spark stuff BUT instead slowly convert it over time. So I started to try that... doesn't seem possible. Spark components don't work with the "Use Flex 3 compatibility mode" box checked. When I uncheck that box my whole project blows up and looks totally messed up. &lt;br /&gt;&lt;br /&gt;So my ultimate conclusion is that a Flex 3 Flex 4 Frankenstein is not really possible.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/834293513622460372-6379458838137254015?l=whatsmytitletoday.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://whatsmytitletoday.blogspot.com/feeds/6379458838137254015/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=834293513622460372&amp;postID=6379458838137254015' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/834293513622460372/posts/default/6379458838137254015'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/834293513622460372/posts/default/6379458838137254015'/><link rel='alternate' type='text/html' href='http://whatsmytitletoday.blogspot.com/2010/05/flex-3-flex-4-frankenstein.html' title='Flex 3 &amp; Flex 4 Frankenstein'/><author><name>Ang</name><uri>http://www.blogger.com/profile/10242843268874466256</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://bp3.blogger.com/_v41MhIIRWT4/SHZT_mRJNaI/AAAAAAAAAGQ/ekFamcH3N1k/S220/n625835384_3458977_7608.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-834293513622460372.post-3964927868542211592</id><published>2010-05-17T15:57:00.003-03:00</published><updated>2010-05-17T16:07:26.504-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='flash builder 4'/><title type='text'>Flex 4 SDK - backwards compatible?</title><content type='html'>So for the last few weeks I have been trying to get our current Flex 3.5 SDK to the new Flex 4 SDK. Wow. Backwards compatible? Not really.&lt;br /&gt;&lt;br /&gt;After much annoyance and code changes, I finally got it working and running without run time errors. Now there are lots of things wrong visually mostly with the fonts.&lt;br /&gt;&lt;br /&gt;What I am discovering is that the CSS inheritance seems to be lost. For example, if I have a VBox that has its color style set to white, its children are not white. Not sure what is up with that. So in my Application style tag I had the font family set... but it's not picking up on all the components inside the application, which means there are lots of problems with labels being too large and not fitting properly.&lt;br /&gt;&lt;br /&gt;So now I am messing with the CSS files and the component files. &lt;br /&gt;&lt;br /&gt;So far my take on the backwards compatibility? It's barely there. I mean everything functions okay (once you get all the initial errors and warnings cleaned up) but there is going to be a lot of work visually.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/834293513622460372-3964927868542211592?l=whatsmytitletoday.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://whatsmytitletoday.blogspot.com/feeds/3964927868542211592/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=834293513622460372&amp;postID=3964927868542211592' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/834293513622460372/posts/default/3964927868542211592'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/834293513622460372/posts/default/3964927868542211592'/><link rel='alternate' type='text/html' href='http://whatsmytitletoday.blogspot.com/2010/05/flex-4-sdk-backwards-compatible.html' title='Flex 4 SDK - backwards compatible?'/><author><name>Ang</name><uri>http://www.blogger.com/profile/10242843268874466256</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://bp3.blogger.com/_v41MhIIRWT4/SHZT_mRJNaI/AAAAAAAAAGQ/ekFamcH3N1k/S220/n625835384_3458977_7608.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-834293513622460372.post-5523784595751579157</id><published>2010-05-12T14:35:00.003-03:00</published><updated>2010-05-12T14:37:21.659-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='freelance'/><title type='text'>Looking for a website?</title><content type='html'>I'm looking for some freelance work if anyone knows of someone needing a website.&lt;br /&gt;&lt;br /&gt;I'm done my latest side project and usually like to have one on the go at a time.&lt;br /&gt;&lt;br /&gt;You can see samples of my work here: &lt;a href="http://angelaportfolio.com/"&gt;angelaportfolio.com&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/834293513622460372-5523784595751579157?l=whatsmytitletoday.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://whatsmytitletoday.blogspot.com/feeds/5523784595751579157/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=834293513622460372&amp;postID=5523784595751579157' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/834293513622460372/posts/default/5523784595751579157'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/834293513622460372/posts/default/5523784595751579157'/><link rel='alternate' type='text/html' href='http://whatsmytitletoday.blogspot.com/2010/05/looking-for-website.html' title='Looking for a website?'/><author><name>Ang</name><uri>http://www.blogger.com/profile/10242843268874466256</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://bp3.blogger.com/_v41MhIIRWT4/SHZT_mRJNaI/AAAAAAAAAGQ/ekFamcH3N1k/S220/n625835384_3458977_7608.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-834293513622460372.post-2035718296668689193</id><published>2010-05-07T09:00:00.004-03:00</published><updated>2010-05-07T09:07:52.492-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='web design'/><category scheme='http://www.blogger.com/atom/ns#' term='CSS'/><category scheme='http://www.blogger.com/atom/ns#' term='php'/><category scheme='http://www.blogger.com/atom/ns#' term='HTML'/><title type='text'>East Coast German Shepherd Rescue</title><content type='html'>Yesterday I put up the newly redesigned and rebuilt East Coast German Shepherd Rescue website.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_v41MhIIRWT4/S-QCg2ZMxmI/AAAAAAAABMc/R45RGjPugeE/s1600/021.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="http://2.bp.blogspot.com/_v41MhIIRWT4/S-QCg2ZMxmI/AAAAAAAABMc/R45RGjPugeE/s400/021.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5468498610914903650" /&gt;&lt;/a&gt;&lt;br /&gt; &lt;br /&gt;We adopted our German Shepherd, Keely, from this rescue. Since then I have chatted off and on with the founder of the rescue, and have gained the up-most respect for her and what she does. I wanted to help, but wasn't sure how. One day she mentioned how difficult it has been to get updates to her website, and new dogs that come into her care can't get adopted if no one knows about them.&lt;br /&gt;&lt;br /&gt;And so I began a mission to design a better website.&lt;br /&gt;&lt;br /&gt;How it is currently is only the first round. I need to learn more about PHP and different content management systems. The ultimate goal is to enable her the ability to update the website easily herself. I also have several ideas to make the site better, more interesting, and to get more funding.&lt;br /&gt;&lt;br /&gt;Here's a link to the site (iteration 1)&lt;br /&gt;&lt;a href="http://www.ecgsrescue.com"&gt;http://www.ecgsrescue.com&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/834293513622460372-2035718296668689193?l=whatsmytitletoday.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://whatsmytitletoday.blogspot.com/feeds/2035718296668689193/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=834293513622460372&amp;postID=2035718296668689193' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/834293513622460372/posts/default/2035718296668689193'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/834293513622460372/posts/default/2035718296668689193'/><link rel='alternate' type='text/html' href='http://whatsmytitletoday.blogspot.com/2010/05/east-coast-german-shepherd-rescue.html' title='East Coast German Shepherd Rescue'/><author><name>Ang</name><uri>http://www.blogger.com/profile/10242843268874466256</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://bp3.blogger.com/_v41MhIIRWT4/SHZT_mRJNaI/AAAAAAAAAGQ/ekFamcH3N1k/S220/n625835384_3458977_7608.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_v41MhIIRWT4/S-QCg2ZMxmI/AAAAAAAABMc/R45RGjPugeE/s72-c/021.JPG' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-834293513622460372.post-3759920824013121268</id><published>2010-05-04T11:21:00.004-03:00</published><updated>2010-05-04T11:25:51.311-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='flex'/><category scheme='http://www.blogger.com/atom/ns#' term='flash builder 4'/><category scheme='http://www.blogger.com/atom/ns#' term='spark'/><title type='text'>Learning Flex 4</title><content type='html'>I am watching a few videos on Flash Builder 4 (or Flex 4) from Adobe's site.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.adobe.com/devnet/flex/videotraining/"&gt;http://www.adobe.com/devnet/flex/videotraining/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;This is my first taste of the Spark components, and let me tell you, they are so much better and easier to customize. They haven't transfered all the components over to spark yet, so we'll still have to use some MX components, but they have done a lot of them already, and are continuing to work to get them all converted.&lt;br /&gt;&lt;br /&gt;I haven't tried to actually do any real work with this yet, but so far it has my vote.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/834293513622460372-3759920824013121268?l=whatsmytitletoday.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://whatsmytitletoday.blogspot.com/feeds/3759920824013121268/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=834293513622460372&amp;postID=3759920824013121268' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/834293513622460372/posts/default/3759920824013121268'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/834293513622460372/posts/default/3759920824013121268'/><link rel='alternate' type='text/html' href='http://whatsmytitletoday.blogspot.com/2010/05/learning-flex-4.html' title='Learning Flex 4'/><author><name>Ang</name><uri>http://www.blogger.com/profile/10242843268874466256</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://bp3.blogger.com/_v41MhIIRWT4/SHZT_mRJNaI/AAAAAAAAAGQ/ekFamcH3N1k/S220/n625835384_3458977_7608.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-834293513622460372.post-6835300610539970229</id><published>2010-05-04T09:40:00.003-03:00</published><updated>2010-05-04T09:42:41.532-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='VSS'/><category scheme='http://www.blogger.com/atom/ns#' term='flash builder 4'/><title type='text'>VSS plugin for Flash Builder 4</title><content type='html'>So the new "Flex Builder", now called Flash Builder, is out. I have recently installed it... all was fine until I tried to use the VSS plugin. It wasn't being recgonized.&lt;br /&gt;&lt;br /&gt;Now I know you need the Java Development Tools plugin for it to work... but I couldn't find that either. They really changed the whole install new features thing in Flash Builder 4.&lt;br /&gt;&lt;br /&gt;So I hunted on Google for a while and found my solution, install it manually:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://renaun.com/blog/2010/03/31/416/"&gt;http://renaun.com/blog/2010/03/31/416/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Thanks Renaun!!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/834293513622460372-6835300610539970229?l=whatsmytitletoday.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://whatsmytitletoday.blogspot.com/feeds/6835300610539970229/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=834293513622460372&amp;postID=6835300610539970229' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/834293513622460372/posts/default/6835300610539970229'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/834293513622460372/posts/default/6835300610539970229'/><link rel='alternate' type='text/html' href='http://whatsmytitletoday.blogspot.com/2010/05/vss-plugin-for-flash-builder-4.html' title='VSS plugin for Flash Builder 4'/><author><name>Ang</name><uri>http://www.blogger.com/profile/10242843268874466256</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://bp3.blogger.com/_v41MhIIRWT4/SHZT_mRJNaI/AAAAAAAAAGQ/ekFamcH3N1k/S220/n625835384_3458977_7608.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-834293513622460372.post-6539249495909228284</id><published>2010-04-23T15:59:00.001-03:00</published><updated>2010-04-23T16:00:39.874-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='javascript'/><category scheme='http://www.blogger.com/atom/ns#' term='php'/><title type='text'>PHP photo viewer script</title><content type='html'>Very cool and very simple PHP/Javascript photo viewer script.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.dynamicdrive.com/dynamicindex4/php-photoalbum.htm"&gt;http://www.dynamicdrive.com/dynamicindex4/php-photoalbum.htm&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Perfect for handing off to a client that doesn't know how to code html but that is computer savvy enough to drop images in a ftp directory.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/834293513622460372-6539249495909228284?l=whatsmytitletoday.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://whatsmytitletoday.blogspot.com/feeds/6539249495909228284/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=834293513622460372&amp;postID=6539249495909228284' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/834293513622460372/posts/default/6539249495909228284'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/834293513622460372/posts/default/6539249495909228284'/><link rel='alternate' type='text/html' href='http://whatsmytitletoday.blogspot.com/2010/04/php-photo-viewer-script.html' title='PHP photo viewer script'/><author><name>Ang</name><uri>http://www.blogger.com/profile/10242843268874466256</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://bp3.blogger.com/_v41MhIIRWT4/SHZT_mRJNaI/AAAAAAAAAGQ/ekFamcH3N1k/S220/n625835384_3458977_7608.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-834293513622460372.post-9011809479361391590</id><published>2010-04-23T14:33:00.003-03:00</published><updated>2010-04-23T14:37:09.289-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='dreamweaver'/><title type='text'>Dreamweaver</title><content type='html'>So I never really truly appreciated Dreamweaver until recently. &lt;br /&gt;&lt;br /&gt;I had never really used the ftp function of Dreamweaver (insane I know). I'd use it to write html and css code, then I'd just put the updated files on the server using a generic ftp client. &lt;br /&gt;&lt;br /&gt;Now that I am maintaining several sites that got tiring, so I looked into and started using the built in Dreamweaver ftp functionality. What a difference! Just a right click away from putting changes up on the server. It's quite wonderful actually. &lt;br /&gt;&lt;br /&gt;I always knew it existed, I just never bothered to use it. &lt;br /&gt;&lt;br /&gt;Just goes to show... just because you do things a certain way and it works fine, doesn't mean it's not worth learning a new way.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/834293513622460372-9011809479361391590?l=whatsmytitletoday.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://whatsmytitletoday.blogspot.com/feeds/9011809479361391590/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=834293513622460372&amp;postID=9011809479361391590' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/834293513622460372/posts/default/9011809479361391590'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/834293513622460372/posts/default/9011809479361391590'/><link rel='alternate' type='text/html' href='http://whatsmytitletoday.blogspot.com/2010/04/dreamweaver.html' title='Dreamweaver'/><author><name>Ang</name><uri>http://www.blogger.com/profile/10242843268874466256</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://bp3.blogger.com/_v41MhIIRWT4/SHZT_mRJNaI/AAAAAAAAAGQ/ekFamcH3N1k/S220/n625835384_3458977_7608.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-834293513622460372.post-2800367293716173962</id><published>2010-04-06T19:42:00.002-03:00</published><updated>2010-04-06T19:50:14.318-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='web design'/><category scheme='http://www.blogger.com/atom/ns#' term='ux'/><title type='text'>Simplistic web design</title><content type='html'>So I am kind of digging this whole move toward more simplistic, minimalistic web (and other app) design. I like the feel of space. I like that there isn't lots of distracting chrome and boarders. It's all about the content, it's all about getting what you were trying to get done, and that's the whole point isn't it?&lt;br /&gt;&lt;br /&gt;Now don't get me wrong, I &lt;b&gt;love&lt;/b&gt; color and added interest. - I am a bit of a color nut to be honest. Whenever I check out http://colorschemedesigner.com/ (aka my most favorite place to get a new color scheme) I always pick the tetrad first. - I just think there are better ways of adding those things than a lot of what we have been doing. Clean and simple. That's the new way to go.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://sixrevisions.com/design-showcase-inspiration/40-beautiful-examples-of-minimalism-in-web-design/"&gt;http://sixrevisions.com/design-showcase-inspiration/40-beautiful-examples-of-minimalism-in-web-design/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/834293513622460372-2800367293716173962?l=whatsmytitletoday.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://whatsmytitletoday.blogspot.com/feeds/2800367293716173962/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=834293513622460372&amp;postID=2800367293716173962' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/834293513622460372/posts/default/2800367293716173962'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/834293513622460372/posts/default/2800367293716173962'/><link rel='alternate' type='text/html' href='http://whatsmytitletoday.blogspot.com/2010/04/simplistic-web-design.html' title='Simplistic web design'/><author><name>Ang</name><uri>http://www.blogger.com/profile/10242843268874466256</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://bp3.blogger.com/_v41MhIIRWT4/SHZT_mRJNaI/AAAAAAAAAGQ/ekFamcH3N1k/S220/n625835384_3458977_7608.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-834293513622460372.post-2622887580728769765</id><published>2010-03-03T09:52:00.003-04:00</published><updated>2010-03-03T10:01:17.461-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='blogger'/><category scheme='http://www.blogger.com/atom/ns#' term='feedburner'/><category scheme='http://www.blogger.com/atom/ns#' term='feed'/><title type='text'>Publishing this blog on another website</title><content type='html'>So I am working on a new portfolio site and I wanted this blog to be featured on that site. I didn't want to show a link or just a feed digest, I wanted the entries in FULL shown on the website. Well... little did I know it was so easy. I spent hours looking for a solution that was built right into something I already subscribed to! &lt;a href="http://feedburner.google.com"&gt;Feedburner&lt;/a&gt; that is.&lt;br /&gt;&lt;br /&gt;I found the info I was looking for here:&lt;br /&gt;&lt;a href="http://www.tipandtrick.net/2008/display-and-show-feed-on-html-website-with-feedburner-buzzboost/"&gt;http://www.tipandtrick.net/2008/display-and-show-feed-on-html-website-with-feedburner-buzzboost/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;You can subscribe to &lt;a href="http://feedburner.google.com"&gt;Feedburner&lt;/a&gt; very easily if you already have a Google account. Then you can burn the feed by just putting in your feed address.&lt;br /&gt;&lt;br /&gt;Then click the Publicize tab. Click BuzzBoost. Fill out the form and choose FULL HTML. Once you're done it will give you a script to put into your website. So easy and so very awesome. You can also style it to look however you like using CSS. Perfect.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/834293513622460372-2622887580728769765?l=whatsmytitletoday.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://whatsmytitletoday.blogspot.com/feeds/2622887580728769765/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=834293513622460372&amp;postID=2622887580728769765' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/834293513622460372/posts/default/2622887580728769765'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/834293513622460372/posts/default/2622887580728769765'/><link rel='alternate' type='text/html' href='http://whatsmytitletoday.blogspot.com/2010/03/publishing-this-blog-on-another-website.html' title='Publishing this blog on another website'/><author><name>Ang</name><uri>http://www.blogger.com/profile/10242843268874466256</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://bp3.blogger.com/_v41MhIIRWT4/SHZT_mRJNaI/AAAAAAAAAGQ/ekFamcH3N1k/S220/n625835384_3458977_7608.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-834293513622460372.post-7372237929706427105</id><published>2010-01-28T13:22:00.008-04:00</published><updated>2010-03-03T10:26:06.255-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='DragManager'/><category scheme='http://www.blogger.com/atom/ns#' term='CursorManager'/><title type='text'>Using Flex's default cursors</title><content type='html'>So I made my own component, and I wanted the default move cursor that Flex has built in to appear on the mouse over of my component. I &lt;i&gt;thought&lt;/i&gt; this would be an easy task - oh how wrong I was. &lt;br /&gt;&lt;br /&gt;An hour of researching later I was no further ahead, besides discovering that mx.skins.cursor.moveCursor was in fact a style and the image was in Assets.css (from this helpful webpage here: &lt;a href="http://www.loscavio.com/downloads/blog/flex3_css_list/flex3_css_list.htm"&gt;http://www.loscavio.com/downloads/blog/flex3_css_list/flex3_css_list.htm&lt;/a&gt;). It occurred to me that I know how to &lt;a href="http://whatsmytitletoday.blogspot.com/2010/01/getting-value-out-of-css-file.html"&gt;get a value out of a CSS file&lt;/a&gt;, and therein lied the solution.&lt;br /&gt;&lt;br /&gt;&lt;!--&lt;pre name="code" class="html"&gt;--&gt;&lt;br /&gt;[Bindable]&lt;br /&gt;public var myCursor:Class;&lt;br /&gt;&lt;br /&gt;//Called on creation complete&lt;br /&gt;public function complete():void&lt;br /&gt;{&lt;br /&gt;   myCursor = mx.styles.StyleManager.getStyleDeclaration('DragManager').getStyle('moveCursor');&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;//Called on mouseover of the component&lt;br /&gt;protected function mouseOverWindow(evt:MouseEvent):void&lt;br /&gt;{&lt;br /&gt;   CursorManager.setCursor(myCursor);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;//Called on mouseout of the component&lt;br /&gt;protected function mouseOutWindow(evt:MouseEvent):void&lt;br /&gt;{&lt;br /&gt;   CursorManager.removeCursor(CursorManager.currentCursorID);&lt;br /&gt;}&lt;br /&gt;&lt;!--&lt;/pre&gt;--&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/834293513622460372-7372237929706427105?l=whatsmytitletoday.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://whatsmytitletoday.blogspot.com/feeds/7372237929706427105/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=834293513622460372&amp;postID=7372237929706427105' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/834293513622460372/posts/default/7372237929706427105'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/834293513622460372/posts/default/7372237929706427105'/><link rel='alternate' type='text/html' href='http://whatsmytitletoday.blogspot.com/2010/01/using-flexs-default-cursors.html' title='Using Flex&apos;s default cursors'/><author><name>Ang</name><uri>http://www.blogger.com/profile/10242843268874466256</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://bp3.blogger.com/_v41MhIIRWT4/SHZT_mRJNaI/AAAAAAAAAGQ/ekFamcH3N1k/S220/n625835384_3458977_7608.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-834293513622460372.post-1231778778559744795</id><published>2010-01-28T11:47:00.006-04:00</published><updated>2010-01-28T11:54:57.542-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='CSS'/><title type='text'>Getting a value out of CSS file</title><content type='html'>I keep forgetting how to do this:&lt;br /&gt;&lt;br /&gt;&lt;b&gt;mx.styles.StyleManager.getStyleDeclaration('.styleclassname').getStyle('style')&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;This gets a value out of the CSS. So for example if you had a .lineStroke style with a style property of color and you wanted to use that for a stroke declared in MXML you could do this:&lt;br /&gt;&lt;br /&gt;&amp;lt;mx:Stroke id="myStroke"&lt;br /&gt;   weight="1" color="{mx.styles.StyleManager.getStyleDeclaration('.lineStroke').getStyle('color')}"/&amp;gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/834293513622460372-1231778778559744795?l=whatsmytitletoday.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://whatsmytitletoday.blogspot.com/feeds/1231778778559744795/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=834293513622460372&amp;postID=1231778778559744795' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/834293513622460372/posts/default/1231778778559744795'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/834293513622460372/posts/default/1231778778559744795'/><link rel='alternate' type='text/html' href='http://whatsmytitletoday.blogspot.com/2010/01/getting-value-out-of-css-file.html' title='Getting a value out of CSS file'/><author><name>Ang</name><uri>http://www.blogger.com/profile/10242843268874466256</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://bp3.blogger.com/_v41MhIIRWT4/SHZT_mRJNaI/AAAAAAAAAGQ/ekFamcH3N1k/S220/n625835384_3458977_7608.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-834293513622460372.post-2319806972388623339</id><published>2009-09-25T10:04:00.001-03:00</published><updated>2009-09-25T11:22:49.810-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='cool link'/><title type='text'>Useful UX article</title><content type='html'>Excellent article:&lt;br /&gt;&lt;b&gt;10 Useful Usability Findings and Guidelines&lt;/b&gt;&lt;br /&gt;&lt;a href="http://www.smashingmagazine.com/2009/09/24/10-useful-usability-findings-and-guidelines/"&gt;http://www.smashingmagazine.com/2009/09/24/10-useful-usability-findings-and-guidelines/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Thanks &lt;a href="http://twitter.com/jeswinlopez"&gt;@jeswinlopez&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/834293513622460372-2319806972388623339?l=whatsmytitletoday.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://whatsmytitletoday.blogspot.com/feeds/2319806972388623339/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=834293513622460372&amp;postID=2319806972388623339' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/834293513622460372/posts/default/2319806972388623339'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/834293513622460372/posts/default/2319806972388623339'/><link rel='alternate' type='text/html' href='http://whatsmytitletoday.blogspot.com/2009/09/useful-ux-article.html' title='Useful UX article'/><author><name>Ang</name><uri>http://www.blogger.com/profile/10242843268874466256</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://bp3.blogger.com/_v41MhIIRWT4/SHZT_mRJNaI/AAAAAAAAAGQ/ekFamcH3N1k/S220/n625835384_3458977_7608.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-834293513622460372.post-1543919687317980828</id><published>2009-08-27T09:38:00.011-03:00</published><updated>2009-08-27T10:30:41.993-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='flex'/><category scheme='http://www.blogger.com/atom/ns#' term='button'/><title type='text'>Flex Legend Button: Solved!</title><content type='html'>Thanks to &lt;a href="http://www.blogger.com/profile/15276546389687032562"&gt;Marcus&lt;/a&gt; and his amazing code I can share with you a soultion for &lt;a href="http://whatsmytitletoday.blogspot.com/2009/07/extending-flex-buttons-can-you-help-me.html"&gt;my legend button problem&lt;/a&gt;. &lt;br /&gt;&lt;br /&gt;This is more than I asked for. Make sure if you use this, you credit and thank &lt;a href="http://www.blogger.com/profile/15276546389687032562"&gt;Marcus&lt;/a&gt; for his amazing work!&lt;br /&gt;&lt;br /&gt;&lt;a href="http://angelaportfolio.com/FlexSamples/TestLegendButton/TestLegendButton.html" target="_blank"&gt;Sample with view source enabled&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/834293513622460372-1543919687317980828?l=whatsmytitletoday.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://whatsmytitletoday.blogspot.com/feeds/1543919687317980828/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=834293513622460372&amp;postID=1543919687317980828' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/834293513622460372/posts/default/1543919687317980828'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/834293513622460372/posts/default/1543919687317980828'/><link rel='alternate' type='text/html' href='http://whatsmytitletoday.blogspot.com/2009/08/flex-legend-button-solved.html' title='Flex Legend Button: Solved!'/><author><name>Ang</name><uri>http://www.blogger.com/profile/10242843268874466256</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://bp3.blogger.com/_v41MhIIRWT4/SHZT_mRJNaI/AAAAAAAAAGQ/ekFamcH3N1k/S220/n625835384_3458977_7608.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-834293513622460372.post-9004916095633549245</id><published>2009-08-26T11:39:00.002-03:00</published><updated>2009-08-26T11:42:48.736-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='flex'/><category scheme='http://www.blogger.com/atom/ns#' term='advanceddatagrid'/><category scheme='http://www.blogger.com/atom/ns#' term='dataGrid'/><category scheme='http://www.blogger.com/atom/ns#' term='sort'/><title type='text'>Flex DataGrid sorts</title><content type='html'>Sometimes your data is in a specific order, but not ordered on anything you can really sort by via a data grid. So sometimes you apply a sort with the data grid (or advanced data grid), which is great and everything, but what do you do when you want to reset the data back to the original order?&lt;br /&gt;&lt;br /&gt;this.mydatagrid.dataProvider.sort = null;&lt;br /&gt;this.mydatagrid.dataProvider.refresh();&lt;br /&gt;&lt;br /&gt;Done!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/834293513622460372-9004916095633549245?l=whatsmytitletoday.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://whatsmytitletoday.blogspot.com/feeds/9004916095633549245/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=834293513622460372&amp;postID=9004916095633549245' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/834293513622460372/posts/default/9004916095633549245'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/834293513622460372/posts/default/9004916095633549245'/><link rel='alternate' type='text/html' href='http://whatsmytitletoday.blogspot.com/2009/08/flex-datagrid-sorts.html' title='Flex DataGrid sorts'/><author><name>Ang</name><uri>http://www.blogger.com/profile/10242843268874466256</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://bp3.blogger.com/_v41MhIIRWT4/SHZT_mRJNaI/AAAAAAAAAGQ/ekFamcH3N1k/S220/n625835384_3458977_7608.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-834293513622460372.post-5208042294476519769</id><published>2009-08-24T10:54:00.003-03:00</published><updated>2009-08-24T10:59:07.220-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='flex'/><category scheme='http://www.blogger.com/atom/ns#' term='image'/><category scheme='http://www.blogger.com/atom/ns#' term='flexLib'/><category scheme='http://www.blogger.com/atom/ns#' term='events'/><category scheme='http://www.blogger.com/atom/ns#' term='imageMap'/><title type='text'>Flex Image Map</title><content type='html'>I thought since I mentioned it way back when in a tweet, I should post the code for my selectable map component.&lt;br /&gt;&lt;br /&gt;I thought this was going to be super tough, but once I found the ImageMap component in flexlib it wasn't bad at all.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.angelaportfolio.com/FlexSamples/SelectableMap/SelectableMap.html" target="_blank"&gt;Here is the example with view source enabled.&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;This example also shows how to create a custom event, which I also mentioned in a &lt;a href="http://whatsmytitletoday.blogspot.com/2009/08/flex-adding-event-to-call-in-parent.html"&gt;previous post&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/834293513622460372-5208042294476519769?l=whatsmytitletoday.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://whatsmytitletoday.blogspot.com/feeds/5208042294476519769/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=834293513622460372&amp;postID=5208042294476519769' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/834293513622460372/posts/default/5208042294476519769'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/834293513622460372/posts/default/5208042294476519769'/><link rel='alternate' type='text/html' href='http://whatsmytitletoday.blogspot.com/2009/08/flex-image-map.html' title='Flex Image Map'/><author><name>Ang</name><uri>http://www.blogger.com/profile/10242843268874466256</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://bp3.blogger.com/_v41MhIIRWT4/SHZT_mRJNaI/AAAAAAAAAGQ/ekFamcH3N1k/S220/n625835384_3458977_7608.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-834293513622460372.post-5506107024823311197</id><published>2009-08-12T14:57:00.010-03:00</published><updated>2009-08-12T16:09:13.895-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='flex'/><category scheme='http://www.blogger.com/atom/ns#' term='events'/><title type='text'>Flex adding an event to call to the parent</title><content type='html'>So I always have this problem where I'll have a component inside a component, and the parent component needs to do something based on some sort of trigger from the inside component. Using Parent or Application is a big no no, or so my Architect friend tells me ;). They way to do this is create an Event on the inside component. This is pretty easy to do, but I &lt;i&gt;always&lt;/i&gt; seem to miss a step and get all frustrated and not understand why it's not working. And in these hot lazy days of summer, it's really not a good motivator. :D&lt;br /&gt;&lt;br /&gt;So here are the steps so I can look this up if I forget. I am just going to use a button click as an example, if you need something more intense you'll need to make a custom event.&lt;br /&gt;&lt;br /&gt;So... ComponentB is inside ComponentA.&lt;br /&gt;&lt;br /&gt;In the actionscript of ComponentB do:&lt;br /&gt;&lt;br /&gt;Just below the imports - [Event (name="myEvent", type="flash.events.Event")]&lt;br /&gt;&lt;br /&gt;Create a function that dispatches that event:&lt;br /&gt;protected function myFunction():void&lt;br /&gt;{&lt;br /&gt;   dispatchEvent(new Event('myEvent'));&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;In the MXML of ComponetB call the function:&lt;br /&gt;&lt;br /&gt;&amp;lt;Button id="myButton" click="myFunction()"/&amp;gt;&lt;br /&gt;&lt;br /&gt;In the actionscript of ComponentA create a fucntion for what you want the trigger to do:&lt;br /&gt;protected function buttonBClick():void&lt;br /&gt;{&lt;br /&gt;   Alert.show("Button in the Panel has been clicked");&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;In the MXML of CompoentA, where you add ComponentB call the event you made:&lt;br /&gt;&amp;lt;ComponentB id="componentB"&lt;br /&gt;   myEvent="buttonBClick()"/&amp;gt;&lt;br /&gt;&lt;br /&gt;Volia!&lt;br /&gt;&lt;br /&gt;Confused? Yeah me too. &lt;a href="http://angelaportfolio.com/FlexSamples/NewEvent/ComponentA.html"&gt;Here's an example&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/834293513622460372-5506107024823311197?l=whatsmytitletoday.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://whatsmytitletoday.blogspot.com/feeds/5506107024823311197/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=834293513622460372&amp;postID=5506107024823311197' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/834293513622460372/posts/default/5506107024823311197'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/834293513622460372/posts/default/5506107024823311197'/><link rel='alternate' type='text/html' href='http://whatsmytitletoday.blogspot.com/2009/08/flex-adding-event-to-call-in-parent.html' title='Flex adding an event to call to the parent'/><author><name>Ang</name><uri>http://www.blogger.com/profile/10242843268874466256</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://bp3.blogger.com/_v41MhIIRWT4/SHZT_mRJNaI/AAAAAAAAAGQ/ekFamcH3N1k/S220/n625835384_3458977_7608.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-834293513622460372.post-9084643828718708059</id><published>2009-07-29T10:30:00.010-03:00</published><updated>2009-08-27T10:29:36.305-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='flex'/><category scheme='http://www.blogger.com/atom/ns#' term='button'/><title type='text'>Extending Flex buttons... can you help me?</title><content type='html'>**Edit - this has been solved thanks to the help of &lt;a href="http://www.blogger.com/profile/15276546389687032562"&gt;Marcus&lt;/a&gt;: &lt;a href="http://whatsmytitletoday.blogspot.com/2009/08/flex-legend-button-solved.html"&gt;view the entry here&lt;/a&gt;**&lt;br /&gt;&lt;br /&gt;I never claimed to be a Flex expert... and this only proves why.&lt;br /&gt;&lt;br /&gt;Back story: I am trying to extend a Flex button to be something I'm calling a legend button. Essentially it is a button that also doubles as a legend. When the toggle is on that line is on the chart, when the toggle is off that line is removed from the chart. The button 'color' and the line color have to match. &lt;br /&gt;&lt;br /&gt;What I am currently trying to do: I am trying to extend the button component and add a Box (10pxx10px). What is happening however, is the box is showing up underneath the button itself, so when the button alpha is 100% (i.e. when toggle is on) you can't see the box.&lt;br /&gt;&lt;br /&gt;Here's the code:&lt;br /&gt;&lt;pre name="code" class="html"&gt;&lt;br /&gt;package com.view&lt;br /&gt;{&lt;br /&gt; import flash.display.DisplayObject;&lt;br /&gt; import flash.events.MouseEvent;&lt;br /&gt; import flash.text.TextLineMetrics;&lt;br /&gt; &lt;br /&gt; import mx.containers.Box;&lt;br /&gt; import mx.controls.Button;&lt;br /&gt; import mx.core.UITextField;&lt;br /&gt; &lt;br /&gt; public class LegendButton extends Button&lt;br /&gt; {&lt;br /&gt;  [Bindable] public var legendColor:uint;&lt;br /&gt;  private var legendIcon:Box;&lt;br /&gt;  &lt;br /&gt;  public function LegendButton()&lt;br /&gt;  {&lt;br /&gt;   super();&lt;br /&gt;  }&lt;br /&gt;  &lt;br /&gt;  override protected function createChildren():void&lt;br /&gt;  {    &lt;br /&gt;   if (!legendIcon)&lt;br /&gt;   {&lt;br /&gt;    legendIcon = new Box;&lt;br /&gt;    legendIcon.styleName = this;&lt;br /&gt;    legendIcon.setStyle('backgroundColor',legendColor);&lt;br /&gt;    legendIcon.width = 10;&lt;br /&gt;    legendIcon.height = 10;&lt;br /&gt;    addChild(legendIcon);&lt;br /&gt;   }&lt;br /&gt;   &lt;br /&gt;   if (!textField)&lt;br /&gt;   {&lt;br /&gt;    textField = new UITextField();&lt;br /&gt;    textField.styleName = this;&lt;br /&gt;    addChild(flash.display.DisplayObject(textField));&lt;br /&gt;   }&lt;br /&gt;   &lt;br /&gt;   super.createChildren();&lt;br /&gt;  }&lt;br /&gt;  &lt;br /&gt;  protected override function updateDisplayList(unscaledWidth:Number, unscaledHeight:Number):void&lt;br /&gt;  { &lt;br /&gt;   this.setStyle('paddingLeft',15);&lt;br /&gt;   this.setStyle('paddingRight',5);&lt;br /&gt;   &lt;br /&gt;   legendIcon.move(5,5);&lt;br /&gt;   &lt;br /&gt;   super.updateDisplayList(unscaledWidth,unscaledHeight);&lt;br /&gt;  }&lt;br /&gt;  &lt;br /&gt;  override protected function measure():void&lt;br /&gt;  {&lt;br /&gt;   if (!isNaN(explicitWidth))&lt;br /&gt;   {&lt;br /&gt;    var w:Number = explicitWidth;&lt;br /&gt;    w -= getStyle('horizontalGap') + getStyle('paddingLeft') + getStyle('paddingRight');&lt;br /&gt;    textField.width = w;&lt;br /&gt;   }&lt;br /&gt;   super.measure();&lt;br /&gt;  }&lt;br /&gt;  &lt;br /&gt;  override public function measureText(s:String):TextLineMetrics&lt;br /&gt;  {&lt;br /&gt;   textField.text = s;&lt;br /&gt;   var lineMetrics:TextLineMetrics = textField.getLineMetrics(0);&lt;br /&gt;   lineMetrics.width = textField.textWidth + 4;&lt;br /&gt;   lineMetrics.height = textField.textHeight + 4;&lt;br /&gt;   return lineMetrics;&lt;br /&gt;  } &lt;br /&gt;  &lt;br /&gt; }&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Here's what they look like. Sad isn't it? :(&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_v41MhIIRWT4/SnBRVg6P3bI/AAAAAAAAAmk/EjzaTCsmxRE/s1600-h/legendButtons.JPG"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 125px; height: 38px;" src="http://4.bp.blogspot.com/_v41MhIIRWT4/SnBRVg6P3bI/AAAAAAAAAmk/EjzaTCsmxRE/s320/legendButtons.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5363876586251607474" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/834293513622460372-9084643828718708059?l=whatsmytitletoday.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://whatsmytitletoday.blogspot.com/feeds/9084643828718708059/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=834293513622460372&amp;postID=9084643828718708059' title='10 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/834293513622460372/posts/default/9084643828718708059'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/834293513622460372/posts/default/9084643828718708059'/><link rel='alternate' type='text/html' href='http://whatsmytitletoday.blogspot.com/2009/07/extending-flex-buttons-can-you-help-me.html' title='Extending Flex buttons... can you help me?'/><author><name>Ang</name><uri>http://www.blogger.com/profile/10242843268874466256</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://bp3.blogger.com/_v41MhIIRWT4/SHZT_mRJNaI/AAAAAAAAAGQ/ekFamcH3N1k/S220/n625835384_3458977_7608.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_v41MhIIRWT4/SnBRVg6P3bI/AAAAAAAAAmk/EjzaTCsmxRE/s72-c/legendButtons.JPG' height='72' width='72'/><thr:total>10</thr:total></entry><entry><id>tag:blogger.com,1999:blog-834293513622460372.post-3791844965521011443</id><published>2009-07-28T12:03:00.004-03:00</published><updated>2009-07-28T12:07:37.713-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='baseAtZero'/><category scheme='http://www.blogger.com/atom/ns#' term='linechart'/><category scheme='http://www.blogger.com/atom/ns#' term='verticalAxis'/><title type='text'>Flex line charts: baseAtZero</title><content type='html'>baseAtZero... this little property helped save me a lot of code. The client didn't like that the charts were sometimes so squished because the charts always started at 0 but none of the data was close to the zero range. I was going to loop through the data in each chart and set the min and max... but then I discovered this property.&lt;br /&gt;&lt;br /&gt;&lt;pre name="code" class="html"&gt;&lt;br /&gt;&amp;lt;mx:verticalAxis&amp;gt;&lt;br /&gt;   &amp;lt;mx:LinearAxis id=&amp;quot;vaxis&amp;quot; baseAtZero=&amp;quot;false&amp;quot;/&amp;gt;&lt;br /&gt;&amp;lt;/mx:verticalAxis&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;All it does basically is stop the chart from forcing the vertical axis start at 0, and therefore starts it based on the data.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/834293513622460372-3791844965521011443?l=whatsmytitletoday.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://whatsmytitletoday.blogspot.com/feeds/3791844965521011443/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=834293513622460372&amp;postID=3791844965521011443' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/834293513622460372/posts/default/3791844965521011443'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/834293513622460372/posts/default/3791844965521011443'/><link rel='alternate' type='text/html' href='http://whatsmytitletoday.blogspot.com/2009/07/flex-line-charts-baseatzero.html' title='Flex line charts: baseAtZero'/><author><name>Ang</name><uri>http://www.blogger.com/profile/10242843268874466256</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://bp3.blogger.com/_v41MhIIRWT4/SHZT_mRJNaI/AAAAAAAAAGQ/ekFamcH3N1k/S220/n625835384_3458977_7608.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-834293513622460372.post-8994999887563870511</id><published>2009-07-22T11:07:00.003-03:00</published><updated>2009-07-28T10:27:59.187-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='flex'/><category scheme='http://www.blogger.com/atom/ns#' term='clipcontent'/><category scheme='http://www.blogger.com/atom/ns#' term='Panel'/><title type='text'>Flex slidding panels showing off screen</title><content type='html'>So in the current project I'm working on I have a lot of Panels that slide on and off the screen. The problem I keep having is the Panels are still visible when their x value is set to the width of the container (meaning they are outside of the container but you can still see the edge of the Panel). I was messing around with clip content, etc, and nothing seemed to be working. Eventually I did the following combination and it worked (but still doesn't make much sense to me).&lt;br /&gt;&lt;br /&gt;Set the container holding the sliding Panel to includeInLayout = false&lt;br /&gt;Set the sliding panel to clipContent = true (and includeInLayout = true - the default)&lt;br /&gt;&lt;br /&gt;Weird, but it works.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/834293513622460372-8994999887563870511?l=whatsmytitletoday.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://whatsmytitletoday.blogspot.com/feeds/8994999887563870511/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=834293513622460372&amp;postID=8994999887563870511' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/834293513622460372/posts/default/8994999887563870511'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/834293513622460372/posts/default/8994999887563870511'/><link rel='alternate' type='text/html' href='http://whatsmytitletoday.blogspot.com/2009/07/flex-slidding-panels-showing-off-screen.html' title='Flex slidding panels showing off screen'/><author><name>Ang</name><uri>http://www.blogger.com/profile/10242843268874466256</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://bp3.blogger.com/_v41MhIIRWT4/SHZT_mRJNaI/AAAAAAAAAGQ/ekFamcH3N1k/S220/n625835384_3458977_7608.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-834293513622460372.post-6959457291940225302</id><published>2009-07-07T15:11:00.007-03:00</published><updated>2009-07-29T08:08:35.490-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Adobe'/><category scheme='http://www.blogger.com/atom/ns#' term='CSS'/><category scheme='http://www.blogger.com/atom/ns#' term='Contribute'/><title type='text'>Adobe Contribute and CSS layouts</title><content type='html'>One of the charity sites that I designed and built (using divs with CSS layout) want to use Adobe Contribute to manage the site, since they have high volunteer turnover, and it's too much to try to train each one in HTML. Makes total sense right?&lt;br /&gt;&lt;br /&gt;So the manager tells me that the menu (which is a absolute positioned div with the highest z-index) is covering up the editable content region.&lt;br /&gt;&lt;br /&gt;I've never used Contribute myself, so I downloaded the trial so I could see what she was talking about.&lt;br /&gt;&lt;br /&gt;Now in my head I'm thinking, well the menu isn't editable so it shouldn't be showing up in Contribute edit mode at all... but it does... and it does indeed overlap the editable region, which makes it pretty damn difficult to edit! Completely annoying.&lt;br /&gt;&lt;br /&gt;But wait... there is more frustration to come.&lt;br /&gt;&lt;br /&gt;I start googling, and at first I can't find anything! Eventually I start finding questions on forums like mine, but unfortunitely no one has answered them.&lt;br /&gt;&lt;br /&gt;I finally found an ok solution. Hide the CSS in edit/design mode. You can do this through Dreamweaver. The catch? You have to do this step to &lt;b&gt;every&lt;/b&gt; html file you have that you want to be able to edit with Contribute.&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;br /&gt;&lt;li&gt;Open your site in Dreamweaver.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Open one of the html files you want to be able to edit in Contribute.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;In the CSS panel menu choose "Design-time..."&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_v41MhIIRWT4/SlOT1o53SsI/AAAAAAAAAlc/2EYuPWbk9ew/s1600-h/DWCSSPanel.JPG"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 329px;" src="http://3.bp.blogspot.com/_v41MhIIRWT4/SlOT1o53SsI/AAAAAAAAAlc/2EYuPWbk9ew/s400/DWCSSPanel.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5355786931596118722" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Add your stylesheet to the "Hide at Design Time" box.&lt;/li&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_v41MhIIRWT4/SlOUWFQewgI/AAAAAAAAAlk/_EuHW1g9kqI/s1600-h/DWDesignTime.JPG"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 210px;" src="http://4.bp.blogspot.com/_v41MhIIRWT4/SlOUWFQewgI/AAAAAAAAAlk/_EuHW1g9kqI/s400/DWDesignTime.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5355787488962986498" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;li&gt;Save your html file (you'll have to do a small edit like add a space or something to enable save)&lt;/li&gt;&lt;br /&gt;&lt;/ol&gt;&lt;br /&gt;&lt;br /&gt;In Dreamweaver you can hide the AP "layer", if only it were that easy with Contribute.&lt;br /&gt;&lt;br /&gt;If it just looks totally awful, you can create a CSS file that you only show at design time. Just follow the steps above, but add it to the show only at design time box.&lt;br /&gt;&lt;br /&gt;If anyone has found a better solution I'd love to know! Please comment here.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/834293513622460372-6959457291940225302?l=whatsmytitletoday.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://whatsmytitletoday.blogspot.com/feeds/6959457291940225302/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=834293513622460372&amp;postID=6959457291940225302' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/834293513622460372/posts/default/6959457291940225302'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/834293513622460372/posts/default/6959457291940225302'/><link rel='alternate' type='text/html' href='http://whatsmytitletoday.blogspot.com/2009/07/adobe-contribute-and-css-layouts.html' title='Adobe Contribute and CSS layouts'/><author><name>Ang</name><uri>http://www.blogger.com/profile/10242843268874466256</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://bp3.blogger.com/_v41MhIIRWT4/SHZT_mRJNaI/AAAAAAAAAGQ/ekFamcH3N1k/S220/n625835384_3458977_7608.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_v41MhIIRWT4/SlOT1o53SsI/AAAAAAAAAlc/2EYuPWbk9ew/s72-c/DWCSSPanel.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-834293513622460372.post-7072806105096112503</id><published>2009-07-02T11:44:00.004-03:00</published><updated>2009-07-07T15:36:14.872-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='flex'/><category scheme='http://www.blogger.com/atom/ns#' term='dataGrid'/><category scheme='http://www.blogger.com/atom/ns#' term='datatip'/><title type='text'>Flex Datagrids and datatips</title><content type='html'>So you think when you set the showDataTips property on the DataGridColumn to true that that will make the datatip show... WRONG... you also need to set the dataTipField property to your dataField.&lt;br /&gt;&lt;br /&gt;So simple... yet this took me half an hour to figure out.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/834293513622460372-7072806105096112503?l=whatsmytitletoday.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://whatsmytitletoday.blogspot.com/feeds/7072806105096112503/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=834293513622460372&amp;postID=7072806105096112503' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/834293513622460372/posts/default/7072806105096112503'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/834293513622460372/posts/default/7072806105096112503'/><link rel='alternate' type='text/html' href='http://whatsmytitletoday.blogspot.com/2009/07/flex-datagrids-and-datatips.html' title='Flex Datagrids and datatips'/><author><name>Ang</name><uri>http://www.blogger.com/profile/10242843268874466256</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://bp3.blogger.com/_v41MhIIRWT4/SHZT_mRJNaI/AAAAAAAAAGQ/ekFamcH3N1k/S220/n625835384_3458977_7608.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-834293513622460372.post-3866267639046705991</id><published>2009-06-11T13:22:00.004-03:00</published><updated>2009-06-11T13:34:25.378-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='flex'/><category scheme='http://www.blogger.com/atom/ns#' term='advanceddatagrid'/><category scheme='http://www.blogger.com/atom/ns#' term='bugs'/><category scheme='http://www.blogger.com/atom/ns#' term='header'/><category scheme='http://www.blogger.com/atom/ns#' term='headerRenderer'/><title type='text'>Flex AdvancedDataGrid Header bug?</title><content type='html'>I was building an AdvancedDataGrid today, and the 2nd header was supposed to be a date. Easy enough right? Not so much...&lt;br /&gt;&lt;br /&gt;I put it as a String, as a Date, as a formatted Date... and every time the last character was begging cut off. No reason why. I tried putting the Date in a String variable... still cut the last character off... but ONLY when it was in the format 5/11/09 or similar... any other string worked fine. &lt;br /&gt;&lt;br /&gt;I eventually had to use the headerRenderer... all the renderer (extends Text) does is override the updateDisplayList with &lt;b&gt;this.text = data.headerText.toString();&lt;/b&gt;. Works like a charm. What a messed up bug...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/834293513622460372-3866267639046705991?l=whatsmytitletoday.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://whatsmytitletoday.blogspot.com/feeds/3866267639046705991/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=834293513622460372&amp;postID=3866267639046705991' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/834293513622460372/posts/default/3866267639046705991'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/834293513622460372/posts/default/3866267639046705991'/><link rel='alternate' type='text/html' href='http://whatsmytitletoday.blogspot.com/2009/06/flex-advanceddatagrid-header-bug.html' title='Flex AdvancedDataGrid Header bug?'/><author><name>Ang</name><uri>http://www.blogger.com/profile/10242843268874466256</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://bp3.blogger.com/_v41MhIIRWT4/SHZT_mRJNaI/AAAAAAAAAGQ/ekFamcH3N1k/S220/n625835384_3458977_7608.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-834293513622460372.post-5337689655626684845</id><published>2009-06-09T14:35:00.006-03:00</published><updated>2009-06-09T15:16:38.207-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='flex'/><category scheme='http://www.blogger.com/atom/ns#' term='tabnvaigator'/><title type='text'>Flex - Hide and show tab in tabnavigator</title><content type='html'>I'm not sure why I didn't think of this myself...&lt;br /&gt;&lt;br /&gt;&lt;a href="http://techmytongue.blogspot.com/2008/11/hide-show-tab-on-tab-navigator.html"&gt;http://techmytongue.blogspot.com/2008/11/hide-show-tab-on-tab-navigator.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;This becomes very important if you want to hide tabs in a tab navigator but you don't want to remove them from the interface completely. In my situation I wanted to hide tabs in a tab navigator based on what the user had selected in a data grid. If the user selected another row in the grid I may need to show a tab that I had previously hidden.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;tabNav.getTabAt(1).visible = false;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Now to elaborate on Venkatesh's post...&lt;br /&gt;&lt;br /&gt;To remove the tab stop, also disable it:&lt;br /&gt;&lt;b&gt;tabNav.getTabAt(1).enabled = false;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Now if you are hiding a tab before another tab (that is not hidden) there will be an empty gap where your tab should be. To fix this:&lt;br /&gt;&lt;b&gt;tabNav.getTabAt(1).includeInLayout = false;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;And one final thing. If you're hiding your default tab (i.e. tab index 0) you will also need to set the selected index of the tabNav or else you will still see the contents of the default tab.&lt;br /&gt;&lt;b&gt;tabNav.selectedIndex = 2;&lt;/b&gt; //If you were hiding the first 2 tabs (tab 0 and tab 1)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Here is a code snip. In this example there are 3 tabs. Based on the user selection you hide/show the first 2 tabs.&lt;br /&gt;&lt;pre name="code" class="html"&gt;&lt;br /&gt;if ( userSelection == "showTabs" )&lt;br /&gt;{          &lt;br /&gt;   tabNav.getTabAt(0).visible = true;&lt;br /&gt;   tabNav.getTabAt(1).visible = true;&lt;br /&gt;   tabNav.getTabAt(0).enabled = true;&lt;br /&gt;   tabNav.getTabAt(1).enabled = true;&lt;br /&gt;   tabNav.getTabAt(0).includeInLayout = true;&lt;br /&gt;   tabNav.getTabAt(1).includeInLayout = true;&lt;br /&gt;   tabNav.selectedIndex = 0;&lt;br /&gt;}&lt;br /&gt;else if ( userSelection == "hideTabs" )&lt;br /&gt;{&lt;br /&gt;   tabNav.getTabAt(0).visible = false;&lt;br /&gt;   tabNav.getTabAt(1).visible = false;&lt;br /&gt;   tabNav.getTabAt(0).enabled = false;&lt;br /&gt;   tabNav.getTabAt(1).enabled = false;&lt;br /&gt;   tabNav.getTabAt(0).includeInLayout = false;&lt;br /&gt;   tabNav.getTabAt(1).includeInLayout = false;&lt;br /&gt;   tabNav.selectedIndex = 2;&lt;br /&gt;}  &lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/834293513622460372-5337689655626684845?l=whatsmytitletoday.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://whatsmytitletoday.blogspot.com/feeds/5337689655626684845/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=834293513622460372&amp;postID=5337689655626684845' title='10 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/834293513622460372/posts/default/5337689655626684845'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/834293513622460372/posts/default/5337689655626684845'/><link rel='alternate' type='text/html' href='http://whatsmytitletoday.blogspot.com/2009/06/flex-hide-and-show-tab-in-tabnavigator.html' title='Flex - Hide and show tab in tabnavigator'/><author><name>Ang</name><uri>http://www.blogger.com/profile/10242843268874466256</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://bp3.blogger.com/_v41MhIIRWT4/SHZT_mRJNaI/AAAAAAAAAGQ/ekFamcH3N1k/S220/n625835384_3458977_7608.jpg'/></author><thr:total>10</thr:total></entry><entry><id>tag:blogger.com,1999:blog-834293513622460372.post-5188153342208082423</id><published>2009-06-03T18:42:00.007-03:00</published><updated>2009-06-05T11:37:30.868-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='digital imaging'/><title type='text'>Digital Imaging</title><content type='html'>What I learned so far in my Digital Imaging course (besides a bunch of theory and PhotoShop shortcuts).&lt;br /&gt;&lt;br /&gt;Before&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_v41MhIIRWT4/Sibwd5cxVzI/AAAAAAAAAlA/nHAQTBpa3qI/s1600-h/Picture+079.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="http://1.bp.blogspot.com/_v41MhIIRWT4/Sibwd5cxVzI/AAAAAAAAAlA/nHAQTBpa3qI/s400/Picture+079.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5343222404350039858" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;After&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_v41MhIIRWT4/SibweP-gnhI/AAAAAAAAAlI/nq6Tc3ssU1U/s1600-h/Picture+079-edit.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="http://1.bp.blogspot.com/_v41MhIIRWT4/SibweP-gnhI/AAAAAAAAAlI/nq6Tc3ssU1U/s400/Picture+079-edit.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5343222410397130258" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;This took me &lt;i&gt;maybe&lt;/i&gt; a minute and a half to do. I am guessing that after doing it for a while and getting a better eye I could do something like this even faster and make it look even better.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/834293513622460372-5188153342208082423?l=whatsmytitletoday.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://whatsmytitletoday.blogspot.com/feeds/5188153342208082423/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=834293513622460372&amp;postID=5188153342208082423' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/834293513622460372/posts/default/5188153342208082423'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/834293513622460372/posts/default/5188153342208082423'/><link rel='alternate' type='text/html' href='http://whatsmytitletoday.blogspot.com/2009/06/digital-imaging.html' title='Digital Imaging'/><author><name>Ang</name><uri>http://www.blogger.com/profile/10242843268874466256</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://bp3.blogger.com/_v41MhIIRWT4/SHZT_mRJNaI/AAAAAAAAAGQ/ekFamcH3N1k/S220/n625835384_3458977_7608.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_v41MhIIRWT4/Sibwd5cxVzI/AAAAAAAAAlA/nHAQTBpa3qI/s72-c/Picture+079.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-834293513622460372.post-1007933743564804745</id><published>2009-06-03T07:39:00.006-03:00</published><updated>2009-06-03T07:49:47.856-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='div'/><category scheme='http://www.blogger.com/atom/ns#' term='CSS'/><category scheme='http://www.blogger.com/atom/ns#' term='HTML'/><category scheme='http://www.blogger.com/atom/ns#' term='rounded corners'/><title type='text'>HTML - rounded div corners with CSS (no images)</title><content type='html'>I am doing an html website and the design I came up with has one rounded corner. I come from way back when we used to use tables and use images to get rounded corners. Although I haven't worked much in HTML in a while, I know the norm now is to use divs instead of tables... so I did some digging and found this:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.html.it/articoli/nifty/index.html"&gt;http://www.html.it/articoli/nifty/index.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Using stripes with different margins to get a rounded corner look. So clever! It makes total sense, but I would have never thought to do this. To get my ONE rounded corner I had to make some slight modifications. A code snip is below.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre name="code" class="html"&gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;style type=&amp;quot;text/css&amp;quot;&amp;gt; &lt;br /&gt;   body{background-color: #FFF;&lt;br /&gt;   margin-right:0; padding-right:0;&lt;br /&gt;   margin-left:0; padding-left:0;&lt;br /&gt;     font: 100.01% Verdana,Arial,sans-serif}&lt;br /&gt;   p{margin: 0 10px}&lt;br /&gt;   div#nifty{ margin-left:300px; margin-top:35px; background: #FF0000;}&lt;br /&gt;   b.rtop, b.rbottom{display:block;background: #FFF}&lt;br /&gt;   b.rtop b, b.rbottom b{display:block;height: 1px;&lt;br /&gt;     overflow: hidden; background: #FF0000}&lt;br /&gt;   b.r1{margin-left: 5px; margin-top: 0;}&lt;br /&gt;   b.r2{margin-left: 3px; margin-top: 0;}&lt;br /&gt;   b.r3{margin-left: 2px; margin-top: 0;}&lt;br /&gt;   b.rtop b.r4, b.rbottom b.r4{margin-top:0; margin-left:1px; height:2px}&lt;br /&gt;&amp;lt;/style&amp;gt; &lt;br /&gt;&amp;lt;/head&amp;gt; &lt;br /&gt;&lt;br /&gt;&amp;lt;body&amp;gt; &lt;br /&gt;&lt;br /&gt;&amp;lt;div id=&amp;quot;nifty&amp;quot;&amp;gt; &lt;br /&gt;&amp;lt;b class=&amp;quot;rtop&amp;quot;&amp;gt;&amp;lt;b class=&amp;quot;r1&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;&amp;lt;b class=&amp;quot;r2&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;&amp;lt;b class=&amp;quot;r3&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;&amp;lt;b class=&amp;quot;r4&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;&amp;lt;/b&amp;gt; &lt;br /&gt;&lt;br /&gt;&amp;lt;div style=&amp;quot;height:200px&amp;quot;/&amp;gt;&lt;br /&gt; &lt;br /&gt;&amp;lt;/div&amp;gt; &lt;br /&gt;  &lt;br /&gt;&amp;lt;/body&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/834293513622460372-1007933743564804745?l=whatsmytitletoday.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://whatsmytitletoday.blogspot.com/feeds/1007933743564804745/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=834293513622460372&amp;postID=1007933743564804745' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/834293513622460372/posts/default/1007933743564804745'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/834293513622460372/posts/default/1007933743564804745'/><link rel='alternate' type='text/html' href='http://whatsmytitletoday.blogspot.com/2009/06/html-rounded-div-corners-with-css-no.html' title='HTML - rounded div corners with CSS (no images)'/><author><name>Ang</name><uri>http://www.blogger.com/profile/10242843268874466256</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://bp3.blogger.com/_v41MhIIRWT4/SHZT_mRJNaI/AAAAAAAAAGQ/ekFamcH3N1k/S220/n625835384_3458977_7608.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-834293513622460372.post-6450907446861443524</id><published>2009-04-21T11:20:00.004-03:00</published><updated>2009-04-21T11:30:34.810-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='flex'/><category scheme='http://www.blogger.com/atom/ns#' term='columnChart'/><title type='text'>Flex Column Chart</title><content type='html'>I need a Column chart that would get both negative and positive numbers, easy enough. The catch is that the negative "columns" are to be red and the positive "columns" are to be green.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://angelaportfolio.com/FlexSamples/NegativePositiveChart/NegativePositiveChart.html"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 351px; height: 400px;" src="http://1.bp.blogspot.com/_v41MhIIRWT4/Se3XTaKkoRI/AAAAAAAAAfw/gneR-ZTlUH4/s400/negposchart.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5327150662690316562" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Well it wasn't too much fuss to get this figured out, but I thought I would post my code in case it would help anyone else out. Who knew that ColumnSeries had itemRenderers!&lt;br /&gt;&lt;br /&gt;&lt;pre name="code" class="html"&gt;&lt;br /&gt;&amp;lt;mx:ColumnSeries &lt;br /&gt;   xField=&amp;quot;Month&amp;quot; &lt;br /&gt;   yField=&amp;quot;Profit&amp;quot; &lt;br /&gt;   displayName=&amp;quot;Profit&amp;quot;&lt;br /&gt;   itemRenderer=&amp;quot;ColorNegativeBarRenderer&amp;quot;&lt;br /&gt;/&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://angelaportfolio.com/FlexSamples/NegativePositiveChart/NegativePositiveChart.html"&gt;Here's a sample&lt;/a&gt; with view source enabled so you can see the item renderer code.&lt;br /&gt;&lt;br /&gt;Here's where I found the info I needed:&lt;br /&gt;&lt;a href="http://www.adobe.com/cfusion/communityengine/index.cfm?event=showdetails&amp;productId=2&amp;postId=2021"&gt;http://www.adobe.com/cfusion/communityengine/index.cfm?event=showdetails&amp;productId=2&amp;postId=2021&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/834293513622460372-6450907446861443524?l=whatsmytitletoday.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://whatsmytitletoday.blogspot.com/feeds/6450907446861443524/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=834293513622460372&amp;postID=6450907446861443524' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/834293513622460372/posts/default/6450907446861443524'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/834293513622460372/posts/default/6450907446861443524'/><link rel='alternate' type='text/html' href='http://whatsmytitletoday.blogspot.com/2009/04/flex-column-chart.html' title='Flex Column Chart'/><author><name>Ang</name><uri>http://www.blogger.com/profile/10242843268874466256</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://bp3.blogger.com/_v41MhIIRWT4/SHZT_mRJNaI/AAAAAAAAAGQ/ekFamcH3N1k/S220/n625835384_3458977_7608.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_v41MhIIRWT4/Se3XTaKkoRI/AAAAAAAAAfw/gneR-ZTlUH4/s72-c/negposchart.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-834293513622460372.post-2227382964092160764</id><published>2009-04-02T15:37:00.009-03:00</published><updated>2009-04-03T10:36:31.837-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='flex'/><category scheme='http://www.blogger.com/atom/ns#' term='advanceddatagrid'/><category scheme='http://www.blogger.com/atom/ns#' term='header-sort-separator-skin'/><category scheme='http://www.blogger.com/atom/ns#' term='header-separator-skin'/><category scheme='http://www.blogger.com/atom/ns#' term='sortExpertMode'/><title type='text'>Removing column header separator lines (flex)</title><content type='html'>This took me a while to figure out so I thought I would post it on here just in case someone else is having the same problem.&lt;br /&gt;&lt;br /&gt;I have an Advanced Data Grid, but I don't want any separator lines between the headers. There are 2 styles and 1 property you need to set in an AdvancedDataGrid to make this happen.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_v41MhIIRWT4/SdUPAuoesyI/AAAAAAAAAfI/bT5KWw6e7bA/s1600-h/adg.PNG"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 76px;" src="http://4.bp.blogspot.com/_v41MhIIRWT4/SdUPAuoesyI/AAAAAAAAAfI/bT5KWw6e7bA/s400/adg.PNG" border="0" alt=""id="BLOGGER_PHOTO_ID_5320175040000340770" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The styles are:&lt;br /&gt;header-separator-skin&lt;br /&gt;header-sort-separator-skin&lt;br /&gt;&lt;br /&gt;The property is:&lt;br /&gt;sortExpertMode&lt;br /&gt;&lt;br /&gt;I figured setting the styles to "null" would work, but it doesn't.&lt;br /&gt;&lt;br /&gt;Here is what you need to do:&lt;br /&gt;&lt;pre name="code" class="html"&gt;&lt;br /&gt;headerSortSeparatorSkin="mx.skins.ProgrammaticSkin"&lt;br /&gt;headerSeparatorSkin="mx.skins.ProgrammaticSkin"&lt;br /&gt;sortExpertMode="true"&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Or if you'd rather set the styles in CSS:&lt;br /&gt;&lt;pre name="code" class="html"&gt;&lt;br /&gt;header-separator-skin: ClassReference("mx.skins.ProgrammaticSkin");&lt;br /&gt;header-sort-separator-skin: ClassReference("mx.skins.ProgrammaticSkin");&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.angelaportfolio.com/FlexSamples/RemoveSeparatorsADG/RemoveSeparatorsADG.html"&gt;Sample with source&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Thanks to &lt;a href="http://theflexguy.com/index.php?option=com_idoblog&amp;task=viewpost&amp;id=104&amp;Itemid=54"&gt;http://theflexguy.com/index.php?option=com_idoblog&amp;task=viewpost&amp;id=104&amp;Itemid=54&lt;/a&gt; for your post on this!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/834293513622460372-2227382964092160764?l=whatsmytitletoday.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://whatsmytitletoday.blogspot.com/feeds/2227382964092160764/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=834293513622460372&amp;postID=2227382964092160764' title='8 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/834293513622460372/posts/default/2227382964092160764'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/834293513622460372/posts/default/2227382964092160764'/><link rel='alternate' type='text/html' href='http://whatsmytitletoday.blogspot.com/2009/04/removing-column-header-separator-lines.html' title='Removing column header separator lines (flex)'/><author><name>Ang</name><uri>http://www.blogger.com/profile/10242843268874466256</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://bp3.blogger.com/_v41MhIIRWT4/SHZT_mRJNaI/AAAAAAAAAGQ/ekFamcH3N1k/S220/n625835384_3458977_7608.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_v41MhIIRWT4/SdUPAuoesyI/AAAAAAAAAfI/bT5KWw6e7bA/s72-c/adg.PNG' height='72' width='72'/><thr:total>8</thr:total></entry><entry><id>tag:blogger.com,1999:blog-834293513622460372.post-890245453296069918</id><published>2009-03-20T10:10:00.000-03:00</published><updated>2009-03-20T10:11:24.657-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='cool link'/><title type='text'>Sixth Sense</title><content type='html'>&lt;b&gt;Unveiling the "Sixth Sense"&lt;/b&gt; &lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.ted.com/index.php/talks/pattie_maes_demos_the_sixth_sense.html"&gt;http://www.ted.com/index.php/talks/pattie_maes_demos_the_sixth_sense.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Very very cool stuff.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/834293513622460372-890245453296069918?l=whatsmytitletoday.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://whatsmytitletoday.blogspot.com/feeds/890245453296069918/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=834293513622460372&amp;postID=890245453296069918' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/834293513622460372/posts/default/890245453296069918'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/834293513622460372/posts/default/890245453296069918'/><link rel='alternate' type='text/html' href='http://whatsmytitletoday.blogspot.com/2009/03/sixth-sense.html' title='Sixth Sense'/><author><name>Ang</name><uri>http://www.blogger.com/profile/10242843268874466256</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://bp3.blogger.com/_v41MhIIRWT4/SHZT_mRJNaI/AAAAAAAAAGQ/ekFamcH3N1k/S220/n625835384_3458977_7608.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-834293513622460372.post-1934676798346286081</id><published>2009-03-10T09:55:00.009-03:00</published><updated>2009-08-24T10:58:37.124-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='flex'/><category scheme='http://www.blogger.com/atom/ns#' term='tabnvaigator'/><category scheme='http://www.blogger.com/atom/ns#' term='click'/><category scheme='http://www.blogger.com/atom/ns#' term='supertabnavigator'/><category scheme='http://www.blogger.com/atom/ns#' term='flexLib'/><category scheme='http://www.blogger.com/atom/ns#' term='events'/><title type='text'>Flex TabNavigator - tab click event?</title><content type='html'>So there doesn't seem to be any item click or tab click event on the tab navigator in Flex. I find this sort of annoying, I mean surely this would be useful and should be included? When searching all I could find was people saying to either use the change event on the tab navigator, (which didn't help me because I wanted my method to run even if you clicked on the currently selected tab) or to use a tab bar instead (which also didn't help me because I am using the SuperTabNavigator from flexlib).&lt;br /&gt;&lt;br /&gt;What I am doing is basically maximizing the tab when it is clicked, and minimizing it if it is clicked again.&lt;br /&gt;&lt;br /&gt;I found a solution. &lt;br /&gt;&lt;a href="http://www.actionscript.org/forums/showthread.php3?t=135539"&gt;http://www.actionscript.org/forums/showthread.php3?t=135539&lt;/a&gt; (post by stburns).&lt;br /&gt;&lt;br /&gt;You basically get the tab's button. It sounds weird, here's the code to how it works.&lt;br /&gt;&lt;br /&gt;&lt;pre name="code" class="html"&gt;&lt;br /&gt;private function creationComplete():void&lt;br /&gt;   {&lt;br /&gt;      for (var i:int=0; i&amp;lt;myTabNav.getChildren().length; i++)&lt;br /&gt;      {&lt;br /&gt;         var tab:Button = myTabNav.getTabAt(i);&lt;br /&gt;         tab.addEventListener(FlexEvent.BUTTON_DOWN,tabClickHandler);&lt;br /&gt;      }&lt;br /&gt;   }&lt;br /&gt;&lt;br /&gt;   private function tabClickHandler(event):void&lt;br /&gt;   {&lt;br /&gt;      if (myTabNav.height &amp;lt;= 25)&lt;br /&gt;      {&lt;br /&gt;         maxTabNav();&lt;br /&gt;      } else {&lt;br /&gt;         restoreTabNav();&lt;br /&gt;      }&lt;br /&gt;   }&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;I really need to start serving these little examples somewhere, it would be way easier for people to understand if they could see it working. I will, I promise. I have just finished the NS SPCA website redesign, so I should have some time. &lt;br /&gt;&lt;br /&gt;Also, if you have any worthy causes that need help with their website let me know! I like to keep one charity project on the go.&lt;br /&gt;&lt;br /&gt;**EDIT**&lt;br /&gt;Here we go... my first sample with view source!&lt;br /&gt;&lt;a href="http://www.angelaportfolio.com/FlexSamples/TabButtonEvent/TabButtonEvent.html"&gt;See sample&lt;/a&gt; (right click to view source)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/834293513622460372-1934676798346286081?l=whatsmytitletoday.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://whatsmytitletoday.blogspot.com/feeds/1934676798346286081/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=834293513622460372&amp;postID=1934676798346286081' title='8 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/834293513622460372/posts/default/1934676798346286081'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/834293513622460372/posts/default/1934676798346286081'/><link rel='alternate' type='text/html' href='http://whatsmytitletoday.blogspot.com/2009/03/flex-tabnavigator-tab-click-event.html' title='Flex TabNavigator - tab click event?'/><author><name>Ang</name><uri>http://www.blogger.com/profile/10242843268874466256</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://bp3.blogger.com/_v41MhIIRWT4/SHZT_mRJNaI/AAAAAAAAAGQ/ekFamcH3N1k/S220/n625835384_3458977_7608.jpg'/></author><thr:total>8</thr:total></entry><entry><id>tag:blogger.com,1999:blog-834293513622460372.post-9117491040413125164</id><published>2009-03-04T15:20:00.005-04:00</published><updated>2009-03-04T15:27:44.366-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='flex'/><category scheme='http://www.blogger.com/atom/ns#' term='icon'/><category scheme='http://www.blogger.com/atom/ns#' term='togglebuttonbar'/><category scheme='http://www.blogger.com/atom/ns#' term='label'/><category scheme='http://www.blogger.com/atom/ns#' term='buttonbar'/><title type='text'>Flex ToggleButtonBar with icons</title><content type='html'>I had a toggle button bar but I wanted to have the buttons have labels AND icons. Knowing and working with Flex for a few years I thought "oh God, how hard is this going to be". It was actually very simple!&lt;br /&gt;&lt;br /&gt;&lt;pre name="code" class="html"&gt;&lt;br /&gt;&amp;lt;mx:Array id=&amp;quot;dp&amp;quot;&amp;gt;&lt;br /&gt;   &amp;lt;mx:Object label=&amp;quot;One&amp;quot; icon=&amp;quot;@Embed(source='assets/iconOne.png')&amp;quot;/&amp;gt;&lt;br /&gt;   &amp;lt;mx:Object label=&amp;quot;Two&amp;quot; icon=&amp;quot;@Embed(source='assets/iconTwo.png')&amp;quot;/&amp;gt;&lt;br /&gt;   &amp;lt;mx:Object label=&amp;quot;Three&amp;quot; icon=&amp;quot;@Embed(source='assets/iconThree.png')&amp;quot;/&amp;gt;&lt;br /&gt;&amp;lt;/mx:Array&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;mx:ToggleButtonBar id=&amp;quot;myBar&amp;quot; dataProvider=&amp;quot;{dp}&amp;quot;/&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/834293513622460372-9117491040413125164?l=whatsmytitletoday.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://whatsmytitletoday.blogspot.com/feeds/9117491040413125164/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=834293513622460372&amp;postID=9117491040413125164' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/834293513622460372/posts/default/9117491040413125164'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/834293513622460372/posts/default/9117491040413125164'/><link rel='alternate' type='text/html' href='http://whatsmytitletoday.blogspot.com/2009/03/flex-togglebuttonbar-with-icons.html' title='Flex ToggleButtonBar with icons'/><author><name>Ang</name><uri>http://www.blogger.com/profile/10242843268874466256</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://bp3.blogger.com/_v41MhIIRWT4/SHZT_mRJNaI/AAAAAAAAAGQ/ekFamcH3N1k/S220/n625835384_3458977_7608.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-834293513622460372.post-409624686765190399</id><published>2009-02-23T11:33:00.005-04:00</published><updated>2009-02-23T11:58:53.135-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='flex'/><category scheme='http://www.blogger.com/atom/ns#' term='CheckBox'/><category scheme='http://www.blogger.com/atom/ns#' term='itemRenderer'/><category scheme='http://www.blogger.com/atom/ns#' term='dataGrid'/><category scheme='http://www.blogger.com/atom/ns#' term='itemEditor'/><category scheme='http://www.blogger.com/atom/ns#' term='editorDataField'/><title type='text'>Flex Checkbox as Grid item editor and renderer</title><content type='html'>I have a dataGrid with a few columns that are simply check boxes. The kicker is I want the user to be able to edit those check boxes. So I knew the first step, using the renderer to have the data from the data provider show up in a check box, but I had to do some research for the editor part. &lt;br /&gt;&lt;br /&gt;Here is the code snip of the DataGridColumn that should help you out if you were trying to do that same thing. (Warning: the textAlign property may only work in Flex 3).&lt;br /&gt;&lt;br /&gt;&lt;pre name="code" class="html"&gt;&lt;br /&gt;&amp;lt;mx:DataGridColumn &lt;br /&gt;   dataField=&amp;quot;isOpen&amp;quot;&lt;br /&gt;   headerText=&amp;quot;Open&amp;quot;&lt;br /&gt;   editable=&amp;quot;true&amp;quot;&lt;br /&gt;   textAlign=&amp;quot;center&amp;quot;&lt;br /&gt;   itemEditor=&amp;quot;mx.controls.CheckBox&amp;quot;&lt;br /&gt;   editorDataField=&amp;quot;selected&amp;quot;&lt;br /&gt;   itemRenderer=&amp;quot;mx.controls.CheckBox&amp;quot;/&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;The important part to this that I was missing is:&lt;br /&gt;&lt;b&gt;editorDataField="selected"&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;This returns the value of the 'selected' property to the data provider, otherwise, by default it looks to return the "text" property, which a check box does not have.&lt;br /&gt;&lt;br /&gt;Hope that helps someone.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/834293513622460372-409624686765190399?l=whatsmytitletoday.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://whatsmytitletoday.blogspot.com/feeds/409624686765190399/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=834293513622460372&amp;postID=409624686765190399' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/834293513622460372/posts/default/409624686765190399'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/834293513622460372/posts/default/409624686765190399'/><link rel='alternate' type='text/html' href='http://whatsmytitletoday.blogspot.com/2009/02/flex-checkbox-as-grid-item-editor-and.html' title='Flex Checkbox as Grid item editor and renderer'/><author><name>Ang</name><uri>http://www.blogger.com/profile/10242843268874466256</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://bp3.blogger.com/_v41MhIIRWT4/SHZT_mRJNaI/AAAAAAAAAGQ/ekFamcH3N1k/S220/n625835384_3458977_7608.jpg'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-834293513622460372.post-1286253772002401070</id><published>2009-02-18T13:41:00.004-04:00</published><updated>2009-02-18T13:49:16.047-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='flex'/><category scheme='http://www.blogger.com/atom/ns#' term='advanceddatagrid'/><category scheme='http://www.blogger.com/atom/ns#' term='removeChild'/><category scheme='http://www.blogger.com/atom/ns#' term='getParentItem'/><category scheme='http://www.blogger.com/atom/ns#' term='dataProvider'/><title type='text'>Flex Advanced Data Grid remove item</title><content type='html'>This shouldn't have taken me this long to figure this out... it is really quite simple actually.&lt;br /&gt;&lt;br /&gt;I have an AdvancedDataGrid with a Hierarchical data provider. I have a delete button. The behavior I want is when the user clicks the delete button whatever row is highlighted (selected) in the ADG is removed.&lt;br /&gt;&lt;br /&gt;To do this you need to use two methods.&lt;br /&gt;&lt;br /&gt;The first is the removeChild method. Use this on the dataprovider of the ADG. It takes two arguments, the parent node, and the object to be removed. IF you're object is at the top mode, pass null for the parent node argument.&lt;br /&gt;&lt;br /&gt;removeChild(parent,object)&lt;br /&gt;&lt;br /&gt;The second is the getParentItem method. This method, you guessed it, returns the parent of the item passed to it.&lt;br /&gt;&lt;br /&gt;getParentItem(Object);&lt;br /&gt;&lt;br /&gt;Use them together to remove the selected item in your ADG.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;myADG.dataProvider.removeChild( myADG.dataProvider.getParentItem(myADG.selectedItem), myADG.selectedItem );&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Note, make sure your data provider is bound to the ADG.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/834293513622460372-1286253772002401070?l=whatsmytitletoday.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://whatsmytitletoday.blogspot.com/feeds/1286253772002401070/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=834293513622460372&amp;postID=1286253772002401070' title='7 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/834293513622460372/posts/default/1286253772002401070'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/834293513622460372/posts/default/1286253772002401070'/><link rel='alternate' type='text/html' href='http://whatsmytitletoday.blogspot.com/2009/02/flex-advanced-data-grid-remove-item.html' title='Flex Advanced Data Grid remove item'/><author><name>Ang</name><uri>http://www.blogger.com/profile/10242843268874466256</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://bp3.blogger.com/_v41MhIIRWT4/SHZT_mRJNaI/AAAAAAAAAGQ/ekFamcH3N1k/S220/n625835384_3458977_7608.jpg'/></author><thr:total>7</thr:total></entry><entry><id>tag:blogger.com,1999:blog-834293513622460372.post-4514288396535089866</id><published>2009-02-09T10:38:00.005-04:00</published><updated>2009-02-09T12:55:01.825-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='flex'/><category scheme='http://www.blogger.com/atom/ns#' term='advanceddatagrid'/><category scheme='http://www.blogger.com/atom/ns#' term='folderOpenIcon'/><category scheme='http://www.blogger.com/atom/ns#' term='folderClosedIcon'/><category scheme='http://www.blogger.com/atom/ns#' term='headerWordWrap'/><category scheme='http://www.blogger.com/atom/ns#' term='header'/><category scheme='http://www.blogger.com/atom/ns#' term='sortExpertMode'/><title type='text'>Flex Advanced Data Grid - header properties to know</title><content type='html'>I'm working with another advanced data grid. The grid has a lot of columns and fitting it on one screen without a horizontal scroll is proving challenging. Here are a couple properties regarding headers that I found helpful:&lt;br /&gt;&lt;br /&gt;&lt;b&gt;sortExpertMode&lt;/b&gt; - Setting this property to true removes that little vertical bar next to your header text. That frees up some horizontal space.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;headerWordWrap&lt;/b&gt; - Setting this property to true allows multi-line headers. You will need to set the Column width to force the text to wrap, and you'll probably need to set the header height since the default isn't tall enough to fit two lines of text.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;folderClosedIcon&lt;/b&gt; &amp; &lt;b&gt;folderOpenIcon&lt;/b&gt; - Setting these properties to {null} will remove the little folder icon next to the grouped item. You can also use these properties to show a custom icon.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/834293513622460372-4514288396535089866?l=whatsmytitletoday.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://whatsmytitletoday.blogspot.com/feeds/4514288396535089866/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=834293513622460372&amp;postID=4514288396535089866' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/834293513622460372/posts/default/4514288396535089866'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/834293513622460372/posts/default/4514288396535089866'/><link rel='alternate' type='text/html' href='http://whatsmytitletoday.blogspot.com/2009/02/flex-advanced-data-grid-header.html' title='Flex Advanced Data Grid - header properties to know'/><author><name>Ang</name><uri>http://www.blogger.com/profile/10242843268874466256</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://bp3.blogger.com/_v41MhIIRWT4/SHZT_mRJNaI/AAAAAAAAAGQ/ekFamcH3N1k/S220/n625835384_3458977_7608.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-834293513622460372.post-6500361899060725802</id><published>2009-02-05T13:03:00.005-04:00</published><updated>2009-02-05T13:34:07.052-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Photoshop'/><category scheme='http://www.blogger.com/atom/ns#' term='CS3'/><category scheme='http://www.blogger.com/atom/ns#' term='animated gif'/><category scheme='http://www.blogger.com/atom/ns#' term='ImageReady'/><title type='text'>No more ImageReady</title><content type='html'>Does anyone else find it annoying that ImageReady was discontinued? Right now I am trying to edit an animated gif, which I would always do in ImageReady, but now that it's not there I'm not sure what to do. When I open an animated gif file Photoshop looses all the data so you can only see the first frame (even tho the animation timeline feature was added to Photoshop CS3??? Can I say... WTF?) The solution they're purposing is to open the gif in Fireworks. Oh, that's great... if you HAVE Fireworks. I have the Adobe Design Premium package - and that doesn't include Fireworks. UGH. I can open it in Flash, but the editing tools in Flash suck. Man oh man... sorry for the vent!&lt;br /&gt;&lt;br /&gt;Edit...&lt;br /&gt;&lt;br /&gt;My solution for this is as follows:&lt;br /&gt;&lt;br /&gt;Open the animated gif in Flash. Then export the movie as MOV file. Open Photoshop CS3. Choose File - Import - Video Frames to Layers...&lt;br /&gt;&lt;br /&gt;Window - Animation  will show you the animation time line frames thingy.&lt;br /&gt;&lt;br /&gt;Again, does anyone else find it ridiculous that a program that can create animated gifs can't open them??? Also sorry that my solution requires Flash.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/834293513622460372-6500361899060725802?l=whatsmytitletoday.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://whatsmytitletoday.blogspot.com/feeds/6500361899060725802/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=834293513622460372&amp;postID=6500361899060725802' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/834293513622460372/posts/default/6500361899060725802'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/834293513622460372/posts/default/6500361899060725802'/><link rel='alternate' type='text/html' href='http://whatsmytitletoday.blogspot.com/2009/02/no-more-imageready.html' title='No more ImageReady'/><author><name>Ang</name><uri>http://www.blogger.com/profile/10242843268874466256</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://bp3.blogger.com/_v41MhIIRWT4/SHZT_mRJNaI/AAAAAAAAAGQ/ekFamcH3N1k/S220/n625835384_3458977_7608.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-834293513622460372.post-8838163736050002588</id><published>2009-02-03T08:32:00.004-04:00</published><updated>2009-02-03T14:56:04.758-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='volunteer'/><category scheme='http://www.blogger.com/atom/ns#' term='CSS'/><category scheme='http://www.blogger.com/atom/ns#' term='HTML'/><category scheme='http://www.blogger.com/atom/ns#' term='spca'/><title type='text'>Metro SPCA</title><content type='html'>Thanks to the people at the SPCA for sending me a thank you gift. It feels great to be appreciated. The NS SPCA gave me an honorary membership, a tote bag, and a certificate of appreciation. &lt;br /&gt;&lt;br /&gt;Here is what I did for them:&lt;br /&gt;&lt;a href="http://www.metro.spcans.ca/"&gt;http://www.metro.spcans.ca/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/834293513622460372-8838163736050002588?l=whatsmytitletoday.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://whatsmytitletoday.blogspot.com/feeds/8838163736050002588/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=834293513622460372&amp;postID=8838163736050002588' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/834293513622460372/posts/default/8838163736050002588'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/834293513622460372/posts/default/8838163736050002588'/><link rel='alternate' type='text/html' href='http://whatsmytitletoday.blogspot.com/2009/02/metro-spca.html' title='Metro SPCA'/><author><name>Ang</name><uri>http://www.blogger.com/profile/10242843268874466256</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://bp3.blogger.com/_v41MhIIRWT4/SHZT_mRJNaI/AAAAAAAAAGQ/ekFamcH3N1k/S220/n625835384_3458977_7608.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-834293513622460372.post-8647635526843904540</id><published>2009-01-26T14:26:00.007-04:00</published><updated>2009-03-19T15:52:34.529-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='IHierarchicalCollectionView'/><category scheme='http://www.blogger.com/atom/ns#' term='flex'/><category scheme='http://www.blogger.com/atom/ns#' term='advanceddatagrid'/><category scheme='http://www.blogger.com/atom/ns#' term='IHierarchicalCollectionViewCursor'/><category scheme='http://www.blogger.com/atom/ns#' term='selectedItem'/><category scheme='http://www.blogger.com/atom/ns#' term='verticalScrollPosition'/><category scheme='http://www.blogger.com/atom/ns#' term='openNodes'/><category scheme='http://www.blogger.com/atom/ns#' term='refresh'/><category scheme='http://www.blogger.com/atom/ns#' term='dataProvider'/><title type='text'>Flex Advanced Data Grid collapses on refresh</title><content type='html'>I was having this problem with my Advanced Data Grid. Every time the data refreshed the whole thing collapsed, which isn't a good thing when users have drilled down 3 levels.&lt;br /&gt;&lt;br /&gt;I know this is probably a bad way of doing this, but it is the only way I could get to work. All the examples I've seen of this say to just assign the saved openNodes Object to the openNodes property, like this... &lt;br /&gt;&lt;pre name="code" class="html"&gt;&lt;br /&gt;myOpenNodes = new Object();&lt;br /&gt;myOpenNodes = IHierarchicalCollectionView(myADG.dataProvider).openNodes&lt;br /&gt;&lt;br /&gt;//refresh here&lt;br /&gt;&lt;br /&gt;IHierarchicalCollectionView(myADG.dataProvider).openNodes = myOpenNodes;&lt;/pre&gt;&lt;br /&gt;&lt;b&gt;but that doesn't work!!&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Here is what I did:&lt;br /&gt;&lt;br /&gt;On the refresh method set the following variables (these variables need to be accessible from all methods inside the component, so put them in your model or make them global, whatever). These variables hold the state of the ADG before the refresh.&lt;br /&gt;&lt;pre name="code" class="html"&gt;&lt;br /&gt;//Object holding all currently open nodes&lt;br /&gt;myOpenNodes = new Object();&lt;br /&gt;myOpenNodes = IHierarchicalCollectionView(myADG.dataProvider).openNodes&lt;br /&gt;&lt;br /&gt;lastSelectedItem = myADG.selectedItem;&lt;br /&gt;&lt;br /&gt;lastScrollPosition = myADG.verticalScrollPosition;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;This method loops through every item in the advanced data grid up to the depth you provide (here it is to the depth of 4). Then any time it finds an object that is also in the myOpenNodes object it adds to to an array that then is assigned to the ADG.openNodes property. In this example the property of the grid item I am using to compare is called "Group". &lt;br /&gt;&lt;pre name="code" class="html"&gt;&lt;br /&gt;private function selectLastADGItem(evt:Event):void&lt;br /&gt;{&lt;br /&gt;   //Array to assign to openNodes property&lt;br /&gt;   var savedNodesArray:Array = [];&lt;br /&gt;      &lt;br /&gt;   for(var i:int=1; i&lt;4; i++)&lt;br /&gt;   {&lt;br /&gt;      var dataCursor:IHierarchicalCollectionViewCursor = myADG.dataProvider.createCursor();&lt;br /&gt;      &lt;br /&gt;      while (dataCursor.current)&lt;br /&gt;      {&lt;br /&gt;      &lt;br /&gt;  for each ( var item:Object in myOpenNodes )&lt;br /&gt;  {&lt;br /&gt;     //Check if current item is in openNodes object&lt;br /&gt;            if ( item.Group == dataCursor.current.Group )&lt;br /&gt;     {&lt;br /&gt;        savedNodesArray.push(dataCursor.current);&lt;br /&gt;     }&lt;br /&gt;     &lt;br /&gt;            //Check if current item is the last selected item&lt;br /&gt;            if ( item.Group == dataCursor.current.Group )&lt;br /&gt;     {&lt;br /&gt;        myADG.selectedItem = dataCursor.current;&lt;br /&gt;     }&lt;br /&gt;  }&lt;br /&gt;       &lt;br /&gt;  dataCursor.moveNext();&lt;br /&gt;      }&lt;br /&gt;&lt;br /&gt;      myADG.validateNow();&lt;br /&gt;&lt;br /&gt;      //Assign new array to openNodes property                    IHierarchicalCollectionView(myADG.dataProvider).openNodes = savedNodesArray;&lt;br /&gt;     &lt;br /&gt;      myADG.dataProvider.refresh();&lt;br /&gt;   }&lt;br /&gt;    &lt;br /&gt;   //Move vertical scrollbar to last position&lt;br /&gt;   myADG.verticalScrollPosition = lastScrollPosition;&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/834293513622460372-8647635526843904540?l=whatsmytitletoday.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://whatsmytitletoday.blogspot.com/feeds/8647635526843904540/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=834293513622460372&amp;postID=8647635526843904540' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/834293513622460372/posts/default/8647635526843904540'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/834293513622460372/posts/default/8647635526843904540'/><link rel='alternate' type='text/html' href='http://whatsmytitletoday.blogspot.com/2009/01/flex-advanced-data-grid-collapses-on.html' title='Flex Advanced Data Grid collapses on refresh'/><author><name>Ang</name><uri>http://www.blogger.com/profile/10242843268874466256</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://bp3.blogger.com/_v41MhIIRWT4/SHZT_mRJNaI/AAAAAAAAAGQ/ekFamcH3N1k/S220/n625835384_3458977_7608.jpg'/></author><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-834293513622460372.post-3326843702571563204</id><published>2009-01-21T15:00:00.009-04:00</published><updated>2009-06-05T11:37:02.259-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='flex'/><category scheme='http://www.blogger.com/atom/ns#' term='Dictionary'/><title type='text'>flex: Dictionary Class</title><content type='html'>Today I was introduced to Dictionaries. No, not the kind that you look up the definitions of words, the Flex code kind. The Class. I was having trouble with this Grid that I am working on, the labels are hard coded in the grid (because of formatting and ordering requirements), and there could be anywhere from 1 to 8 data values that go along with that label. At first I had ArrayCollections with a name property (the label) and the values of each data point, and then I was using methods with return values to get the value I wanted back by looping through the ArrayCollection and looking for the name. This seemed really heavy. I asked a co-worker who is more versed in ActionScript than I am, and he told me about dictionaries. With these you can look up an object via another object rather than an index.&lt;br /&gt;&lt;br /&gt;Here are some code snips!&lt;br /&gt;&lt;br /&gt;First declare your dictionary object!&lt;br /&gt;&lt;pre name="code" class="html"&gt;&lt;br /&gt;private var myDict:Dictionary = new Dictionary();&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Then, in a method or event somewhere, populate the Dictionary object with the data. (note - if you're populating the data in the same place, then do it on a preInitialize method).&lt;br /&gt;&lt;pre name="code" class="html"&gt;&lt;br /&gt;private function preInit():void&lt;br /&gt;{&lt;br /&gt;   myDict["banana"] = {w:2.5, h:8, color:'yellow'};&lt;br /&gt;   myDict["apple"] = {w:3.5, h:3.5, color:'red'};&lt;br /&gt;   myDict["orange"] = {w:3, h:3, color:'orange'};&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;And to use it.&lt;br /&gt;&lt;pre name="code" class="html"&gt;&lt;br /&gt;trace( myDict["apple"].color );&lt;br /&gt;//This will output: red&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/834293513622460372-3326843702571563204?l=whatsmytitletoday.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://whatsmytitletoday.blogspot.com/feeds/3326843702571563204/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=834293513622460372&amp;postID=3326843702571563204' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/834293513622460372/posts/default/3326843702571563204'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/834293513622460372/posts/default/3326843702571563204'/><link rel='alternate' type='text/html' href='http://whatsmytitletoday.blogspot.com/2009/01/flex-dictionary-class.html' title='flex: Dictionary Class'/><author><name>Ang</name><uri>http://www.blogger.com/profile/10242843268874466256</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://bp3.blogger.com/_v41MhIIRWT4/SHZT_mRJNaI/AAAAAAAAAGQ/ekFamcH3N1k/S220/n625835384_3458977_7608.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-834293513622460372.post-1418029855166502284</id><published>2009-01-20T14:00:00.009-04:00</published><updated>2010-12-07T13:54:39.340-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='RadialGradient'/><category scheme='http://www.blogger.com/atom/ns#' term='flex'/><category scheme='http://www.blogger.com/atom/ns#' term='FillFunction'/><category scheme='http://www.blogger.com/atom/ns#' term='PieChart'/><category scheme='http://www.blogger.com/atom/ns#' term='color'/><category scheme='http://www.blogger.com/atom/ns#' term='fills'/><title type='text'>Flex PieChart - fill colors</title><content type='html'>I think this may only work in Flex 3.&lt;br /&gt;&lt;br /&gt;My goal was to get the pie charts and line charts on this one view of the dashboard all to sync up color-wise. (The line chart stuff can be found in an earlier post.) &lt;br /&gt;&lt;br /&gt;This will also only work if you know what you'll be getting back so far as items.&lt;br /&gt;&lt;br /&gt;Lets say I know I will be getting back the following and I know that I want each slice to have a specific coordinating color.&lt;br /&gt;&lt;br /&gt;Hearts - Red&lt;br /&gt;Spades - Blue&lt;br /&gt;Clovers - Green&lt;br /&gt;Stars - Yellow &lt;br /&gt;&lt;br /&gt;I would create something called a Fill Function. This is called in the PieSeries tag. Your fill function would consist of a switch statement checking the current item, and assigning its fill. In my example code below I use a Radial Gradient, but you can use SolidColor as well.&lt;br /&gt;&lt;br /&gt;&lt;pre name="code" class="html"&gt;&lt;br /&gt;private function myFillFunction(item:ChartItem, index:Number):IFill&lt;br /&gt;{&lt;br /&gt;   var curItem:PieSeriesItem = PieSeriesItem(item);&lt;br /&gt;   var fill:RadialGradient = new RadialGradient();&lt;br /&gt;   var g1:GradientEntry = new GradientEntry();&lt;br /&gt;   var g2:GradientEntry = new GradientEntry();&lt;br /&gt;   g1.alpha = 1.0;&lt;br /&gt;   g2.alpha = 1.0;&lt;br /&gt;&lt;br /&gt;   switch ( curItem.item.yourProperty )&lt;br /&gt;   {&lt;br /&gt;      case "Hearts":&lt;br /&gt;         //Choose uint color values eg: 0xFFFFFF for white etc.&lt;br /&gt;         g1.color = LightRed;&lt;br /&gt;         g2.color = DarkRed;&lt;br /&gt;         break;&lt;br /&gt;      case "Spades":&lt;br /&gt;         g1.color = LightBlue;&lt;br /&gt;         g2.color = DarkBlue;&lt;br /&gt;         break;&lt;br /&gt;      case "Clovers":&lt;br /&gt;         g1.color = LightGreen;&lt;br /&gt;         g2.color = DarkGreen;&lt;br /&gt;         break;&lt;br /&gt;      case "Stars":&lt;br /&gt;         g1.color = LightYellow;&lt;br /&gt;         g2.color = DarkYellow;&lt;br /&gt;         break;&lt;br /&gt;      default:&lt;br /&gt;         g1.color = LightGray;&lt;br /&gt;         g2.color = DarkGray;&lt;br /&gt;         break;&lt;br /&gt;   }&lt;br /&gt;   &lt;br /&gt;   fill.entries = [g1,g2];&lt;br /&gt;   return fill;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;...&lt;br /&gt;&amp;lt;mx:PieSeries&lt;br /&gt;   fillFunction=&amp;quot;myFillFunction&amp;quot;&amp;gt;&lt;br /&gt;...&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/834293513622460372-1418029855166502284?l=whatsmytitletoday.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://whatsmytitletoday.blogspot.com/feeds/1418029855166502284/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=834293513622460372&amp;postID=1418029855166502284' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/834293513622460372/posts/default/1418029855166502284'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/834293513622460372/posts/default/1418029855166502284'/><link rel='alternate' type='text/html' href='http://whatsmytitletoday.blogspot.com/2009/01/flex-piechart-fill-colors.html' title='Flex PieChart - fill colors'/><author><name>Ang</name><uri>http://www.blogger.com/profile/10242843268874466256</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://bp3.blogger.com/_v41MhIIRWT4/SHZT_mRJNaI/AAAAAAAAAGQ/ekFamcH3N1k/S220/n625835384_3458977_7608.jpg'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-834293513622460372.post-7094178536506716897</id><published>2009-01-15T11:15:00.016-04:00</published><updated>2009-03-18T13:22:07.333-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='flex'/><category scheme='http://www.blogger.com/atom/ns#' term='tabnvaigator'/><category scheme='http://www.blogger.com/atom/ns#' term='close'/><category scheme='http://www.blogger.com/atom/ns#' term='supertabnavigator'/><category scheme='http://www.blogger.com/atom/ns#' term='flexLib'/><category scheme='http://www.blogger.com/atom/ns#' term='maximize'/><category scheme='http://www.blogger.com/atom/ns#' term='button'/><title type='text'>Flex Super Tab Navigator</title><content type='html'>So I have this dashboard project I'm working on. What I am trying to do is have a TabNavigator that is about half the screen, but give it a maximize button, so that if clicked it fills the whole screen. Sounds easy enough, I've done it with a Panel, but unfortunately it seemed a little too tricky for me and my &lt;i&gt;high design : moderate coding&lt;/i&gt; skills. So to Google I went. &lt;br /&gt;&lt;br /&gt;You know what annoys me? People who blog about this kind of thing, show the awesome component they created, and don't share even a bit of code. That's what I found. Ugh. I did however discover that flexLib has something called a SuperTabNavigator. The SuperTabNavigator has a close button on each tab, so I figured, maybe I can extend this, better than starting from scratch. It wasn't even as difficult as extending it. It is actually pretty easy to customize. Yay for flexLib.&lt;br /&gt;&lt;br /&gt;Here are some actual CODE EXAMPLES of what I did. &lt;br /&gt;&lt;br /&gt;First you need the flexLib library. &lt;a href="http://code.google.com/p/flexlib/downloads/list"&gt;http://code.google.com/p/flexlib/downloads/list&lt;/a&gt;, add it by referencing the swc file in your project's library path, like you would Cairngorm.&lt;br /&gt;&lt;br /&gt;First here's the SuperTabNavigator, which I placed inside a Canvas.&lt;br /&gt;&lt;pre name="code" class="html"&gt;&lt;br /&gt;...&lt;br /&gt;   &amp;lt;code:SuperTabNavigator id=&amp;quot;mySuperTabNav&amp;quot;&lt;br /&gt;      width=&amp;quot;100%&amp;quot; height=&amp;quot;50%&amp;quot;&lt;br /&gt;      y={this.height/2}&lt;br /&gt;      popUpButtonPolicy=&amp;quot;off&amp;quot;&lt;br /&gt;      closePolicy=&amp;quot;close_always&amp;quot;&lt;br /&gt;      tabClose=&amp;quot;maxClick(event)&amp;quot;&amp;gt;&lt;br /&gt;      &amp;lt;mx:VBox label=&amp;quot;testing&amp;quot;/&amp;gt;&lt;br /&gt;   &amp;lt;/code:SuperTabNavigator&amp;gt;&lt;br /&gt;...&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Here is the code for the maxClick method. &lt;br /&gt;&lt;pre name="code" class="html"&gt;&lt;br /&gt;...&lt;br /&gt;   private function maxClick(event:SuperTabEvent):void&lt;br /&gt;   {&lt;br /&gt;      //This stops the default close action from happening&lt;br /&gt;      event.preventDefault();&lt;br /&gt;      //Make sure the tab that was clicked is the one that is selected&lt;br /&gt;      event.currentTarget.selectedIndex = event.tabIndex;&lt;br /&gt;      &lt;br /&gt;      //Put your max/restore tab code here! &lt;br /&gt;      /*example: mySuperTabNav.y = 0;&lt;br /&gt;        mySuperTabNav.percentHeight = 100;*/&lt;br /&gt;   }&lt;br /&gt;...&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Now... it wouldn't be very user friendly if clicking a close button maximizes the tab navigator, now would it? So through CSS we need to change the icon/button on the tab. Now this is kind of odd, I found this here: &lt;a href="http://groups.google.com/group/flexlib/browse_thread/thread/d94196bc6510c49c"&gt;http://groups.google.com/group/flexlib/browse_thread/thread/d94196bc6510c49c&lt;/a&gt;&lt;br /&gt;&lt;pre name="code" class="html"&gt;.&lt;br /&gt;...&lt;br /&gt;   SuperTabNavigator&lt;br /&gt;   {&lt;br /&gt;      tab-style-name: customTabMax;&lt;br /&gt;   }&lt;br /&gt;   .customTabMax&lt;br /&gt;   {&lt;br /&gt;      tab-close-button-style-name: maxIconButton;&lt;br /&gt;   }&lt;br /&gt;   .maxIconButton&lt;br /&gt;   {&lt;br /&gt;      upSkin:Embed(source="this/is/image/path.png");&lt;br /&gt;      overSkin:Embed(source="this/is/image/path.png");&lt;br /&gt;      downSkin:Embed(source="this/is/image/path.png");&lt;br /&gt;      disabled-skin:Embed(source="this/is/image/path.png");&lt;br /&gt;   }&lt;br /&gt;...&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Here's a link to the documentation:&lt;br /&gt;&lt;a href="http://flexlib.googlecode.com/svn/trunk/docs/flexlib/containers/SuperTabNavigator.html"&gt;http://flexlib.googlecode.com/svn/trunk/docs/flexlib/containers/SuperTabNavigator.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.angelaportfolio.com/FlexSamples/TabButtonEvent/TabButtonEvent.html"&gt;See my Sample&lt;/a&gt; (right click to view source)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/834293513622460372-7094178536506716897?l=whatsmytitletoday.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://whatsmytitletoday.blogspot.com/feeds/7094178536506716897/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=834293513622460372&amp;postID=7094178536506716897' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/834293513622460372/posts/default/7094178536506716897'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/834293513622460372/posts/default/7094178536506716897'/><link rel='alternate' type='text/html' href='http://whatsmytitletoday.blogspot.com/2009/01/flex-super-tab-navigator.html' title='Flex Super Tab Navigator'/><author><name>Ang</name><uri>http://www.blogger.com/profile/10242843268874466256</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://bp3.blogger.com/_v41MhIIRWT4/SHZT_mRJNaI/AAAAAAAAAGQ/ekFamcH3N1k/S220/n625835384_3458977_7608.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-834293513622460372.post-6559416242696332812</id><published>2009-01-05T13:47:00.004-04:00</published><updated>2009-01-05T13:53:44.966-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='flex'/><category scheme='http://www.blogger.com/atom/ns#' term='hitdata'/><category scheme='http://www.blogger.com/atom/ns#' term='linechart'/><category scheme='http://www.blogger.com/atom/ns#' term='datatipfunction'/><category scheme='http://www.blogger.com/atom/ns#' term='datatip'/><category scheme='http://www.blogger.com/atom/ns#' term='lineseries'/><title type='text'>datatipfunction in a linechart</title><content type='html'>To customize the datatip in a linechart in flex you need to use the datatipfunction property that refers to a function. This function must return a string and take a parameter of type HitData. To get the current VALUE of the line point you're mousing over you need to use LineSeriesItem(hitData.chartItem).yValue - I found this difficult to find out at first.&lt;br /&gt;&lt;br /&gt;Here's an example:&lt;br /&gt;&lt;pre name="code" class="html"&gt;&lt;br /&gt;private function lcDataTipFunction(hitData:HitData):String&lt;br /&gt;{&lt;br /&gt;   var s:String;&lt;br /&gt;   s = LineSeries(hitData.element).displayName + "\n";&lt;br /&gt;   s += LineSeriesItem(hitData.chartItem).yValue + "\n";&lt;br /&gt;   s += hitData.item.Day + " at " + hitData.item.Time;&lt;br /&gt;   return s;&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/834293513622460372-6559416242696332812?l=whatsmytitletoday.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://whatsmytitletoday.blogspot.com/feeds/6559416242696332812/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=834293513622460372&amp;postID=6559416242696332812' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/834293513622460372/posts/default/6559416242696332812'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/834293513622460372/posts/default/6559416242696332812'/><link rel='alternate' type='text/html' href='http://whatsmytitletoday.blogspot.com/2009/01/datatipfunction-in-linechart.html' title='datatipfunction in a linechart'/><author><name>Ang</name><uri>http://www.blogger.com/profile/10242843268874466256</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://bp3.blogger.com/_v41MhIIRWT4/SHZT_mRJNaI/AAAAAAAAAGQ/ekFamcH3N1k/S220/n625835384_3458977_7608.jpg'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-834293513622460372.post-3123362013843300498</id><published>2008-12-11T16:27:00.014-04:00</published><updated>2009-07-03T11:03:29.452-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='flex'/><category scheme='http://www.blogger.com/atom/ns#' term='linechart'/><category scheme='http://www.blogger.com/atom/ns#' term='lineseries'/><title type='text'>Add and remove lineseries - Flex LineChart</title><content type='html'>This took me some time to figure out so I thought I would post about it.&lt;br /&gt;&lt;br /&gt;Main objective is to toggle on and off lineseries based on user input. Usually this would mean editing the dataprovider, tricky thing here is that I need the color of each line to always be the same based on data, so instead I leave the dataprovider alone and actually add and remove LineSeries to/from the LineChart. This probably isn't the best way to do this, but hey, it works, and it may help someone else out.&lt;br /&gt;&lt;br /&gt;Here we go...&lt;br /&gt;&lt;br /&gt;First lets start with the MXML:&lt;br /&gt;Here I have a Panel with a LineChart and a Legend inside it, as well as 3 Toggle Buttons. You will notice that there are no series inside the LineChart.&lt;br /&gt;&lt;pre name="code" class="html"&gt;&lt;br /&gt;&amp;lt;mx:Panel title=&amp;quot;LineChart Example&amp;quot; height=&amp;quot;500&amp;quot; width=&amp;quot;100%&amp;quot; layout=&amp;quot;vertical&amp;quot;&amp;gt;&lt;br /&gt;        &lt;br /&gt;&amp;lt;mx:HBox id=&amp;quot;choices&amp;quot; horizontalGap=&amp;quot;0&amp;quot;&amp;gt;&lt;br /&gt;     &amp;lt;mx:Button id=&amp;quot;Profit&amp;quot; label=&amp;quot;Profit&amp;quot; toggle=&amp;quot;true&amp;quot; click=&amp;quot;updateChart(event)&amp;quot;/&amp;gt;&lt;br /&gt;     &amp;lt;mx:Button id=&amp;quot;Expenses&amp;quot; label=&amp;quot;Expenses&amp;quot; toggle=&amp;quot;true&amp;quot; click=&amp;quot;updateChart(event)&amp;quot;/&amp;gt;&lt;br /&gt;     &amp;lt;mx:Button id=&amp;quot;Amount&amp;quot; label=&amp;quot;Amount&amp;quot; toggle=&amp;quot;true&amp;quot; click=&amp;quot;updateChart(event)&amp;quot;/&amp;gt;&lt;br /&gt;&amp;lt;/mx:HBox&amp;gt;&lt;br /&gt; &lt;br /&gt;&amp;lt;mx:LineChart id=&amp;quot;linechart&amp;quot; height=&amp;quot;80%&amp;quot; width=&amp;quot;100%&amp;quot; showDataTips=&amp;quot;true&amp;quot; dataProvider=&amp;quot;{expensesAC}&amp;quot; creationComplete=&amp;quot;init()&amp;quot;&amp;gt;&lt;br /&gt;             &lt;br /&gt;     &amp;lt;mx:horizontalAxis&amp;gt;&lt;br /&gt;         &amp;lt;mx:CategoryAxis categoryField=&amp;quot;Month&amp;quot;/&amp;gt;&lt;br /&gt;     &amp;lt;/mx:horizontalAxis&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;/mx:LineChart&amp;gt;&lt;br /&gt;     &lt;br /&gt;&amp;lt;mx:Legend dataProvider=&amp;quot;{linechart}&amp;quot; labelPlacement=&amp;quot;right&amp;quot; verticalGap=&amp;quot;2&amp;quot; direction=&amp;quot;vertical&amp;quot;/&amp;gt;&lt;br /&gt;        &lt;br /&gt;&amp;lt;/mx:Panel&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;And here is the DataProvider:&lt;br /&gt;&lt;pre name="code" class="html"&gt;&lt;br /&gt;[Bindable]&lt;br /&gt;private var expensesAC:ArrayCollection = new ArrayCollection( [&lt;br /&gt;{ Month: "Jan", Profit: 2000, Expenses: 1500, Amount: 450 },&lt;br /&gt;{ Month: "Feb", Profit: 1000, Expenses: 200, Amount: 600 },&lt;br /&gt;{ Month: "Mar", Profit: 1500, Expenses: 500, Amount: 300 },&lt;br /&gt;{ Month: "Apr", Profit: 1800, Expenses: 1200, Amount: 900 },&lt;br /&gt;{ Month: "May", Profit: 2400, Expenses: 575, Amount: 500 } ]);&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;For ActionScript, lets start with the UpdateChart method:&lt;br /&gt;&lt;br /&gt;This method looks to see if the button you just pressed is selected (toggle on) or not. If the toggle is on that means the user is adding the line, if the toggle is off that means the user is removing the line, and this method calls the appropriate method.&lt;br /&gt;&lt;pre name="code" class="html"&gt;&lt;br /&gt;private function updateChart(evt:Event):void&lt;br /&gt;{&lt;br /&gt; if ( evt.currentTarget.selected == true )&lt;br /&gt; {&lt;br /&gt;  addToChart(evt.currentTarget.label);&lt;br /&gt; } else {&lt;br /&gt;  removeFromChart(evt.currentTarget.label);&lt;br /&gt; }&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Here is the addToChart method. This method creates a new LineSeries and adds it to the chart. Note that the LineSeries DataProvider is the same of the LineChart and the data you're referring to (yField) should already be present in the DataProvider.&lt;br /&gt;&lt;pre name="code" class="html"&gt;&lt;br /&gt;private function addToChart(item:String):void&lt;br /&gt;{&lt;br /&gt; var newLS:LineSeries = new LineSeries();&lt;br /&gt; var newStroke:Stroke = new Stroke();&lt;br /&gt; newStroke.color = strokeColor(item);&lt;br /&gt;    &lt;br /&gt; newLS.yField = item;&lt;br /&gt; newLS.displayName = item;&lt;br /&gt; newLS.setStyle('form','curve');&lt;br /&gt; newLS.dataProvider = expensesAC;&lt;br /&gt; newLS.setStyle('lineStroke',newStroke);&lt;br /&gt; var tmp:Array = linechart.series; &lt;br /&gt; tmp.push(newLS);&lt;br /&gt; linechart.series = tmp; &lt;br /&gt; linechart.invalidateSeriesStyles(); &lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;You may have noticed the line &lt;i&gt;newLS.setStyle('lineStroke',newStroke);&lt;/i&gt;. This refers to the following method, all it does is assigns a color based on the button selected.&lt;br /&gt;&lt;pre name="code" class="html"&gt;&lt;br /&gt;private function strokeColor(item:String):uint&lt;br /&gt;{&lt;br /&gt;  switch (item)&lt;br /&gt;  {&lt;br /&gt;     case 'Amount':&lt;br /&gt;       return 0x0000FF;&lt;br /&gt;       break;&lt;br /&gt;     case 'Profit':&lt;br /&gt;       return 0xFF0000;&lt;br /&gt;       break;&lt;br /&gt;     case 'Expenses':&lt;br /&gt;       return 0x00FF00;&lt;br /&gt;       break;&lt;br /&gt;     default:&lt;br /&gt;       return 0x000000;&lt;br /&gt;       break;&lt;br /&gt;  }&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;And finally here is the remove method.&lt;br /&gt;&lt;pre name="code" class="html"&gt;&lt;br /&gt;private function removeFromChart(item:String):void&lt;br /&gt;{&lt;br /&gt;  var objToRemoveIndex:int;&lt;br /&gt;  for ( var i:int = 0; i &lt; linechart.series.length; i++ )&lt;br /&gt;  {&lt;br /&gt; if ( linechart.series[i].yField == item )&lt;br /&gt; {&lt;br /&gt;  objToRemoveIndex = i;&lt;br /&gt; }&lt;br /&gt;  }&lt;br /&gt;    &lt;br /&gt;  var tmp:Array = linechart.series; &lt;br /&gt;  tmp.splice(objToRemoveIndex,1);&lt;br /&gt;  linechart.series = tmp; &lt;br /&gt;  linechart.invalidateSeriesStyles();    &lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;The default series gets added with the CreationComplete method:&lt;br /&gt;&lt;pre name="code" class="html"&gt;&lt;br /&gt;private function init():void&lt;br /&gt;{&lt;br /&gt; addToChart('Amount');&lt;br /&gt; Amount.selected = true;&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Anyway, I hope that wasn't too confusing. I should really start hosting these little examples somewhere with the ViewSorce available. If you need more clarification just gimmie a comment here.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/834293513622460372-3123362013843300498?l=whatsmytitletoday.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://whatsmytitletoday.blogspot.com/feeds/3123362013843300498/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=834293513622460372&amp;postID=3123362013843300498' title='13 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/834293513622460372/posts/default/3123362013843300498'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/834293513622460372/posts/default/3123362013843300498'/><link rel='alternate' type='text/html' href='http://whatsmytitletoday.blogspot.com/2008/12/add-and-remove-lineseries-flex.html' title='Add and remove lineseries - Flex LineChart'/><author><name>Ang</name><uri>http://www.blogger.com/profile/10242843268874466256</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://bp3.blogger.com/_v41MhIIRWT4/SHZT_mRJNaI/AAAAAAAAAGQ/ekFamcH3N1k/S220/n625835384_3458977_7608.jpg'/></author><thr:total>13</thr:total></entry><entry><id>tag:blogger.com,1999:blog-834293513622460372.post-8101525704642153259</id><published>2008-12-11T16:15:00.006-04:00</published><updated>2008-12-11T16:53:14.673-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='source code snip'/><category scheme='http://www.blogger.com/atom/ns#' term='blogger'/><title type='text'>Publishing source code in Blogger</title><content type='html'>Wow it worked! Sucks I still have to escape all my &amp;gt; and &amp;lt; s but way better than what I was doing before (manual formatting).&lt;br /&gt;&lt;br /&gt;So this took me a while to figure out... maybe I can do a step-by-step to help someone else out there out... there are a lot of pages on how to do this, I needed to combine them to make it work.&lt;br /&gt;&lt;br /&gt;K... so... inside your blogger Dashboard go &lt;i&gt;Layout - Edit HTML&lt;/i&gt;.&lt;br /&gt;&lt;br /&gt;Paste this just before the &amp;lt;/head&amp;gt; tag:&lt;br /&gt;&lt;br /&gt;&lt;pre name="code" class="html"&gt;&lt;br /&gt;&amp;lt;link href='http://syntaxhighlighter.googlecode.com/svn/trunk/Styles/SyntaxHighlighter.css' rel='stylesheet' type='text/css'/&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Then paste this just before the &amp;lt;/body&amp;gt; tag&lt;br /&gt;&lt;br /&gt;&lt;pre name="code" class="html"&gt;&lt;br /&gt;&amp;lt;script language='javascript' src='http://syntaxhighlighter.googlecode.com/svn/trunk/Scripts/shCore.js'/&amp;gt;  &lt;br /&gt;  &lt;br /&gt;&amp;lt;script language='javascript' src='http://syntaxhighlighter.googlecode.com/svn/trunk/Scripts/shBrushCSharp.js'/&amp;gt;  &lt;br /&gt;  &lt;br /&gt;&amp;lt;script language='javascript' src='http://syntaxhighlighter.googlecode.com/svn/trunk/Scripts/shBrushXml.js'/&amp;gt;  &lt;br /&gt;  &lt;br /&gt;&amp;lt;script language='javascript' src='http://syntaxhighlighter.googlecode.com/svn/trunk/Scripts/shBrushPython.js'/&amp;gt;  &lt;br /&gt;  &lt;br /&gt;&amp;lt;script class='javascript'&amp;gt;  &lt;br /&gt;//&amp;lt;![CDATA[ &lt;br /&gt;function FindTagsByName(container, name, Tag) &lt;br /&gt;{ &lt;br /&gt;var elements = document.getElementsByTagName(Tag); &lt;br /&gt;for (var i = 0; i &amp;lt; elements.length; i++) &lt;br /&gt;{ &lt;br /&gt;if (elements[i].getAttribute(&amp;quot;name&amp;quot;) == name) &lt;br /&gt; { &lt;br /&gt;  container.push(elements[i]); &lt;br /&gt; } &lt;br /&gt;} &lt;br /&gt;} &lt;br /&gt; &lt;br /&gt;var elements = []; &lt;br /&gt;FindTagsByName(elements, &amp;quot;code&amp;quot;, &amp;quot;pre&amp;quot;); &lt;br /&gt;FindTagsByName(elements, &amp;quot;code&amp;quot;, &amp;quot;textarea&amp;quot;); &lt;br /&gt; &lt;br /&gt;for(var i=0; i &amp;lt; elements.length; i++) { &lt;br /&gt;if(elements[i].nodeName.toUpperCase() == &amp;quot;TEXTAREA&amp;quot;) { &lt;br /&gt;var childNode = elements[i].childNodes[0]; &lt;br /&gt;var newNode = document.createTextNode(childNode.nodeValue.replace(/&amp;lt;br\s*\/?&amp;gt;/gi,'\n')); &lt;br /&gt; elements[i].replaceChild(newNode, childNode); &lt;br /&gt;} &lt;br /&gt;else if(elements[i].nodeName.toUpperCase() == &amp;quot;PRE&amp;quot;) { &lt;br /&gt; brs = elements[i].getElementsByTagName(&amp;quot;br&amp;quot;); &lt;br /&gt; for(var j = 0, brLength = brs.length; j &amp;lt; brLength; j++) { &lt;br /&gt;  var newNode = document.createTextNode(&amp;quot;\n&amp;quot;); &lt;br /&gt;  elements[i].replaceChild(newNode, brs[0]); &lt;br /&gt; } &lt;br /&gt;} &lt;br /&gt;} &lt;br /&gt; &lt;br /&gt;//clipboard does not work well, no line breaks &lt;br /&gt;//dp.SyntaxHighlighter.ClipboardSwf = &amp;quot;http://syntaxhighlighter.googlecode.com/svn/trunk/Scripts/clipboard.swf&amp;quot;; &lt;br /&gt;dp.SyntaxHighlighter.HighlightAll(&amp;quot;code&amp;quot;); &lt;br /&gt;//]]&amp;gt;  &lt;br /&gt;&amp;lt;/script&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Save your template.&lt;br /&gt;&lt;br /&gt;Then to test it out create a new post and put some sample code between two PRE tags, like this:&lt;br /&gt;&lt;br /&gt;&amp;lt;pre name=&amp;quot;code&amp;quot; class=&amp;quot;html&amp;quot;&amp;gt;  &lt;br /&gt;&amp;lt;!-- code here --&amp;gt;  &lt;br /&gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;&lt;br /&gt;BUT you have to use escape characters for html&lt;br /&gt;Here's a link to a site to help you do that quickly:&lt;br /&gt;&lt;a href="http://www.accessify.com/tools-and-wizards/developer-tools/quick-escape/default.php"&gt;http://www.accessify.com/tools-and-wizards/developer-tools/quick-escape/default.php&lt;br /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;And here are the links to the posts that helped me figure this out:&lt;br /&gt;&lt;a href="http://www.accessify.com/tools-and-wizards/developer-tools/quick-escape/"&gt;http://www.accessify.com/tools-and-wizards/developer-tools/quick-escape/&lt;/a&gt;&lt;br /&gt;&lt;a href="http://azowebsphere.blogspot.com/2008/08/how-to-post-code-snippets-in-blogger.html"&gt;http://azowebsphere.blogspot.com/2008/08/how-to-post-code-snippets-in-blogger.html&lt;br /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/834293513622460372-8101525704642153259?l=whatsmytitletoday.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://whatsmytitletoday.blogspot.com/feeds/8101525704642153259/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=834293513622460372&amp;postID=8101525704642153259' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/834293513622460372/posts/default/8101525704642153259'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/834293513622460372/posts/default/8101525704642153259'/><link rel='alternate' type='text/html' href='http://whatsmytitletoday.blogspot.com/2008/12/publishing-source-code-in-blogger.html' title='Publishing source code in Blogger'/><author><name>Ang</name><uri>http://www.blogger.com/profile/10242843268874466256</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://bp3.blogger.com/_v41MhIIRWT4/SHZT_mRJNaI/AAAAAAAAAGQ/ekFamcH3N1k/S220/n625835384_3458977_7608.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-834293513622460372.post-7951140650551364114</id><published>2008-12-11T15:40:00.009-04:00</published><updated>2008-12-11T16:15:07.825-04:00</updated><title type='text'>Publish Source code in Blogger??</title><content type='html'>testing testing one two three...&lt;br /&gt;&lt;br /&gt;&lt;pre name="code" class="html"&gt;&lt;br /&gt;&lt;!-- code here --&gt;&lt;br /&gt;&amp;lt;html&amp;gt;&lt;br /&gt;&amp;lt;/html&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/834293513622460372-7951140650551364114?l=whatsmytitletoday.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://whatsmytitletoday.blogspot.com/feeds/7951140650551364114/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=834293513622460372&amp;postID=7951140650551364114' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/834293513622460372/posts/default/7951140650551364114'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/834293513622460372/posts/default/7951140650551364114'/><link rel='alternate' type='text/html' href='http://whatsmytitletoday.blogspot.com/2008/12/publish-source-code-in-blogger.html' title='Publish Source code in Blogger??'/><author><name>Ang</name><uri>http://www.blogger.com/profile/10242843268874466256</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://bp3.blogger.com/_v41MhIIRWT4/SHZT_mRJNaI/AAAAAAAAAGQ/ekFamcH3N1k/S220/n625835384_3458977_7608.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-834293513622460372.post-7705794116316256556</id><published>2008-12-05T14:15:00.003-04:00</published><updated>2008-12-11T16:54:43.359-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='flex'/><category scheme='http://www.blogger.com/atom/ns#' term='advanceddatagrid'/><title type='text'>Flex Advanced Data Grid helpful link</title><content type='html'>&lt;a href="http://livedocs.adobe.com/flex/3/html/help.html?content=advdatagrid_06.html"&gt;http://livedocs.adobe.com/flex/3/html/help.html?content=advdatagrid_06.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I keep going back here for info... so I am guessing I should make a note of it.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/834293513622460372-7705794116316256556?l=whatsmytitletoday.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://whatsmytitletoday.blogspot.com/feeds/7705794116316256556/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=834293513622460372&amp;postID=7705794116316256556' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/834293513622460372/posts/default/7705794116316256556'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/834293513622460372/posts/default/7705794116316256556'/><link rel='alternate' type='text/html' href='http://whatsmytitletoday.blogspot.com/2008/12/flex-advanced-data-grid-helpful-link.html' title='Flex Advanced Data Grid helpful link'/><author><name>Ang</name><uri>http://www.blogger.com/profile/10242843268874466256</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://bp3.blogger.com/_v41MhIIRWT4/SHZT_mRJNaI/AAAAAAAAAGQ/ekFamcH3N1k/S220/n625835384_3458977_7608.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-834293513622460372.post-1382874999900714058</id><published>2008-11-27T14:15:00.011-04:00</published><updated>2010-11-30T09:33:30.830-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='flex'/><category scheme='http://www.blogger.com/atom/ns#' term='image'/><title type='text'>Flex embed an image as a Class</title><content type='html'>&lt;blockquote style="font-family:courier new;"&gt;// Embed the image once and refer to the Class&lt;br /&gt;[Bindable]&lt;br /&gt;[Embed(source="../assets/images/myImageFile.png")] &lt;br /&gt;public var myImage:Class;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;This is helpful if you're using the same image in several places, this way you only have to embed it once, and if you change the image file name you only have to change it in one place.&lt;br /&gt;&lt;br /&gt;You can also create a Class that holds all the images and you can get an instance of that Class to refer to your images.&lt;br /&gt;&lt;br /&gt;For example:&lt;br /&gt;&lt;blockquote style="font-family:courier new;"&gt;&lt;br /&gt;package com.view&lt;br /&gt;{ &lt;br /&gt;&amp;nbsp;import mx.binding.utils.BindingUtils;&lt;br /&gt; &lt;br /&gt;&amp;nbsp;[Bindable]&lt;br /&gt;&amp;nbsp;public class AssetImporter &lt;br /&gt;&amp;nbsp;{&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;private static var instance : AssetImporter;&lt;br /&gt; &lt;br /&gt;&amp;nbsp;&amp;nbsp;//return singleton instance of AssetImporter&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;public static function getInstance() : AssetImporter &lt;br /&gt;&amp;nbsp;&amp;nbsp{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;if (instance == null)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;instance = new AssetImporter();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;return instance;&lt;br /&gt;&amp;nbsp;&amp;nbsp;} &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;//put your images here&lt;br /&gt;&amp;nbsp;&amp;nbsp;//One&lt;br /&gt;&amp;nbsp;&amp;nbsp;[Embed(source="/assets/images/myImages.swf#one")]&lt;br /&gt;&amp;nbsp;&amp;nbsp;public var imgOne:Class;&lt;br /&gt;  &lt;br /&gt;&amp;nbsp;&amp;nbsp;//Two&lt;br /&gt;&amp;nbsp;&amp;nbsp;[Embed(source="/assets/images/two.png")]&lt;br /&gt;&amp;nbsp;&amp;nbsp;public var twoLarge:Class;&lt;br /&gt;&amp;nbsp;}&lt;br /&gt;}&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Then in your mxml script use the following lines&lt;br /&gt;&lt;blockquote style="font-family:courier new;"&gt;&lt;br /&gt;import assets.AssetImporter;&lt;br /&gt;[Bindable] private var assetImporter:AssetImporter = AssetImporter.getInstance();&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;then to call an image simply refer to the instance&lt;br /&gt;&lt;blockquote style="font-family:courier new;"&gt;&lt;br /&gt;&amp;lt;mx:Image source="{assetImporter.imgOne}"/&amp;gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://angelaportfolio.com/FlexSamples/EmbedImageAsClass/EmbedImageAsClass.html" target="_blank"&gt;Here is an example of an AssetImporter with view source enabled.&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/834293513622460372-1382874999900714058?l=whatsmytitletoday.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://whatsmytitletoday.blogspot.com/feeds/1382874999900714058/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=834293513622460372&amp;postID=1382874999900714058' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/834293513622460372/posts/default/1382874999900714058'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/834293513622460372/posts/default/1382874999900714058'/><link rel='alternate' type='text/html' href='http://whatsmytitletoday.blogspot.com/2008/11/flex-embed-image-as-class.html' title='Flex embed an image as a Class'/><author><name>Ang</name><uri>http://www.blogger.com/profile/10242843268874466256</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://bp3.blogger.com/_v41MhIIRWT4/SHZT_mRJNaI/AAAAAAAAAGQ/ekFamcH3N1k/S220/n625835384_3458977_7608.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-834293513622460372.post-752682664537861154</id><published>2008-11-25T13:56:00.021-04:00</published><updated>2008-11-25T16:13:23.323-04:00</updated><title type='text'>Flex 3 AdvancedDataGrid dataTipFunction mess</title><content type='html'>Well Flex 3 with it's fancy AdvancedDataGrids is proving to be a little more than frustrating. All I wanted to do was show a dataTip on a hover on the datagrid row. It took me hours of research to figure out that there is a "bug":&lt;br /&gt;&lt;br /&gt;http://bugs.adobe.com/jira/browse/FLEXDMV-1789&lt;br /&gt;&lt;br /&gt;So if you have an Advanced Data Grid and you want to show a custom data tip on hover of a row this is basically how you should do it.&lt;br /&gt;&lt;br /&gt;&lt;blockquote style="font-family:courier new; color:blue;"&gt;&lt;br /&gt;private function testTip(item:Object):String &lt;br /&gt;{ &lt;br /&gt;&amp;nbsp;if (item is AdvancedDataGridColumn) &lt;br /&gt;&amp;nbsp;&amp;nbsp;return "This is a header tip" &lt;br /&gt;&amp;nbsp;else &lt;br /&gt;&amp;nbsp;&amp;nbsp;return "This is a data tip"; &lt;br /&gt;} &lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;OH yes... that's right. It calls this beauty twice. If you don't have the if statement it will error out and your ap won't run. Sweet eh?&lt;br /&gt;&lt;br /&gt;&lt;blockquote style="font-family:courier new;"&gt;&lt;br /&gt;&amp;lt;mx:AdvancedDataGrid &lt;br /&gt;&amp;nbsp;id="mainADG"&lt;br /&gt;&amp;nbsp;width="100%" height="100%"&lt;br /&gt;&amp;nbsp;&lt;span style="color:blue;"&gt;dataTipFunction="testTip"&lt;/span&gt;&amp;gt;&lt;br /&gt;&lt;span style="color:#999999; font-style:italic;"&gt;[...]&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;lt;mx:AdvancedDataGridColumn &lt;br /&gt;&amp;nbsp;&amp;nbsp;dataField="Name"&lt;br /&gt;&amp;nbsp;&amp;nbsp;headerText="Name"&lt;br /&gt;&amp;nbsp;&amp;nbsp;itemRenderer="com.view.renderers.myRenderer"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&lt;span style="color:blue;"&gt;showDataTips="true"&lt;/span&gt;&lt;br /&gt;&amp;nbsp;/&amp;gt;&lt;br /&gt;&lt;span style="color:#999999; font-style:italic;"&gt;[...]&lt;/span&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;NOW.. if you're like me, you might be using an itemRenderer on that column. You try out the datatip stuff above and curse me because it doesn't work. Yeah. I know.&lt;br /&gt;&lt;br /&gt;Inside your item renderer you're going to have to set the tooltip (that is if what you're extending has a tooltip). I usually extend label, so it works fine.&lt;br /&gt;&lt;br /&gt;&lt;blockquote style="font-family:courier new;"&gt;&lt;br /&gt;package com.view.renderers &lt;br /&gt;{    &lt;br /&gt;&amp;nbsp;import mx.controls.Label;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;public class MyRenderer extends Label &lt;br /&gt;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;override protected function updateDisplayList(unscaledWidth:Number, &amp;nbsp;&amp;nbsp;unscaledHeight:Number):void &lt;br /&gt;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;super.updateDisplayList(unscaledWidth, unscaledHeight);&lt;br /&gt;   &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;//Set the font color based on the item number.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;setStyle("color", (data.myNumber&lt;= 0) ? 'red' : 'green');&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color:blue;"&gt;this.toolTip = "Here is my custom data/tool tip!";&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;}        &lt;br /&gt;&amp;nbsp;}&lt;br /&gt;}&lt;br /&gt;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/834293513622460372-752682664537861154?l=whatsmytitletoday.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://whatsmytitletoday.blogspot.com/feeds/752682664537861154/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=834293513622460372&amp;postID=752682664537861154' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/834293513622460372/posts/default/752682664537861154'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/834293513622460372/posts/default/752682664537861154'/><link rel='alternate' type='text/html' href='http://whatsmytitletoday.blogspot.com/2008/11/advanceddatagrid-datatipfunction-mess.html' title='Flex 3 AdvancedDataGrid dataTipFunction mess'/><author><name>Ang</name><uri>http://www.blogger.com/profile/10242843268874466256</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://bp3.blogger.com/_v41MhIIRWT4/SHZT_mRJNaI/AAAAAAAAAGQ/ekFamcH3N1k/S220/n625835384_3458977_7608.jpg'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-834293513622460372.post-2387007101595025575</id><published>2008-11-17T14:02:00.004-04:00</published><updated>2008-11-17T14:06:18.269-04:00</updated><title type='text'>embed an image</title><content type='html'>...also of note...&lt;br /&gt;&lt;br /&gt;a Flex embed statement in css looks like this&lt;br /&gt;upSkin: Embed("images/buttonUp.png");&lt;br /&gt;&lt;br /&gt;a Flex embed statement inline looks like this&lt;br /&gt;icon="@Embed('images/add.png')"&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/834293513622460372-2387007101595025575?l=whatsmytitletoday.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://whatsmytitletoday.blogspot.com/feeds/2387007101595025575/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=834293513622460372&amp;postID=2387007101595025575' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/834293513622460372/posts/default/2387007101595025575'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/834293513622460372/posts/default/2387007101595025575'/><link rel='alternate' type='text/html' href='http://whatsmytitletoday.blogspot.com/2008/11/embed-image.html' title='embed an image'/><author><name>Ang</name><uri>http://www.blogger.com/profile/10242843268874466256</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://bp3.blogger.com/_v41MhIIRWT4/SHZT_mRJNaI/AAAAAAAAAGQ/ekFamcH3N1k/S220/n625835384_3458977_7608.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-834293513622460372.post-2056783644223369989</id><published>2008-11-17T13:57:00.005-04:00</published><updated>2010-11-30T10:25:17.520-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linechart'/><title type='text'>a chart gutter</title><content type='html'>Note to self... you've seen this before, stop forgetting it...&lt;br /&gt;&lt;br /&gt;The area around a Flex chart where the axis lives is called the "gutter". There are 4 properties that control this:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;gutterLeft&lt;/li&gt;&lt;br /&gt;&lt;li&gt;gutterRight&lt;/li&gt;&lt;br /&gt;&lt;li&gt;gutterTop&lt;/li&gt;&lt;br /&gt;&lt;li&gt;gutterBottom&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="https://www.adobe.com/livedocs/flex/201/html/wwhelp/wwhimpl/common/html/wwhelp.htm?context=LiveDocs_Book_Parts&amp;file=charts_formatting_110_11.html"&gt;https://www.adobe.com/livedocs/flex/201/html/wwhelp/wwhimpl/common/html/wwhelp.htm?context=LiveDocs_Book_Parts&amp;file=charts_formatting_110_11.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://angelaportfolio.com/FlexSamples/ChartGutters/ChartGutters.html"&gt;Here is an example using chart gutters.&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/834293513622460372-2056783644223369989?l=whatsmytitletoday.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://whatsmytitletoday.blogspot.com/feeds/2056783644223369989/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=834293513622460372&amp;postID=2056783644223369989' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/834293513622460372/posts/default/2056783644223369989'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/834293513622460372/posts/default/2056783644223369989'/><link rel='alternate' type='text/html' href='http://whatsmytitletoday.blogspot.com/2008/11/chart-gutter.html' title='a chart gutter'/><author><name>Ang</name><uri>http://www.blogger.com/profile/10242843268874466256</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://bp3.blogger.com/_v41MhIIRWT4/SHZT_mRJNaI/AAAAAAAAAGQ/ekFamcH3N1k/S220/n625835384_3458977_7608.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-834293513622460372.post-533357504867311164</id><published>2008-10-21T11:09:00.010-03:00</published><updated>2008-10-21T12:21:27.372-03:00</updated><title type='text'>Today I'm a developer</title><content type='html'>For the last few weeks I have been a Flex developer, and I've learned about something really helpful.&lt;br /&gt;&lt;br /&gt;Flex value objects.&lt;br /&gt;&lt;br /&gt;Well these little AS classes have saved me some heartache and headaches. I was dumping everything into an xmlListCollection and then creating ArrayCollections of display objects with the data from the xmlListCollection. It started to get messy. No more! Value objects are way easier to manage.&lt;br /&gt;&lt;br /&gt;Here’s an example of how to create one in case you’ve never done it before. (ps this is using the Cairngorm framework).&lt;br /&gt;&lt;br /&gt;Okay first things first. What are you going to pull from your xml? In my example I am pulling a "Section" and each Section has a "SubSection". In this case I'd need two value objects. One for my Section and one for my SubSection. Stick them in a folder called vo.&lt;br /&gt;&lt;br /&gt;Here is my &lt;b&gt;SectionVO.as&lt;/b&gt;:&lt;br /&gt;&lt;br /&gt;&lt;blockquote style="font-family:courier new;"&gt;&lt;br /&gt;package com.vo&lt;br /&gt;{&lt;br /&gt; import com.adobe.cairngorm.vo.ValueObject;&lt;br /&gt;   import mx.collections.ArrayCollection;&lt;br /&gt;&lt;br /&gt;   [Bindable]&lt;br /&gt;   public class SectionVO implements ValueObject&lt;br /&gt;   {&lt;br /&gt;        &lt;span class="Apple-style-span" style="color: rgb(102, 0, 204);"&gt;public var title:String = "NA";&lt;br /&gt;        public var subsections:ArrayCollection = new ArrayCollection();&lt;/span&gt;&lt;br /&gt;   }&lt;br /&gt;}&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Each Section has a title and a bunch of subsections. So I have &lt;span style="color: rgb(102, 0, 204);" &gt; a String and an ArrayCollection.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Here is my &lt;b&gt;SubSectionVO.as&lt;/b&gt;:&lt;br /&gt;&lt;blockquote style="font-family:courier new;"&gt;&lt;br /&gt;package com.vo&lt;br /&gt;{&lt;br /&gt;   import com.adobe.cairngorm.vo.ValueObject;&lt;br /&gt;&lt;br /&gt;   [Bindable]&lt;br /&gt;   public class SubSectionVO implements ValueObject&lt;br /&gt;   {&lt;br /&gt;        &lt;span style="color: rgb(102, 0, 204);"&gt;public var title:String = "NA";&lt;br /&gt;        public var header:String = "NA";&lt;br /&gt;        public var body:String = "NA";&lt;/span&gt;&lt;br /&gt;   }&lt;br /&gt;}&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Each SubSection has a title, a header, and a body. So I have &lt;span style="color: rgb(102, 0, 204);"&gt;3 public String vars&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;Inside your main Application mxml file call the HTTP service and use the data to populate the value objects.&lt;br /&gt;&lt;br /&gt;Here is the result handler. It gets your XML and puts it inside an XMLList. Then it calls the method that populates the value objects. Once that’s done it adds the initial “View” object (i.e. everything you see on the screen when the Application loads).&lt;br /&gt;&lt;br /&gt;&lt;blockquote style="font-family:courier new;"&gt;&lt;br /&gt;// Result handler - gets called after RSS is loaded.&lt;br /&gt;private function contentResultHandler(event:ResultEvent):void&lt;br /&gt;{&lt;br /&gt;   // Get sections from XML&lt;br /&gt;   var xmlList:XMLList = XML(event.result).sections.section;&lt;br /&gt;   &lt;span style="color: rgb(0, 153, 0);"&gt;fillSections( xmlList );&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;   // Add child to show view now that all content is loaded&lt;br /&gt;   var view:View = new View();&lt;br /&gt;   view.id="view";&lt;br /&gt;   this.addChild(view)&lt;br /&gt;}&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;This method populates the value objects and then adds each Section to an ArrayCollection inside the ModelLocator that will be used throughout the rest of the application.&lt;br /&gt;&lt;br /&gt;&lt;blockquote style="font-family:courier new;"&gt;&lt;br /&gt;// Populate Section VOs with data and add to ML.allsectionsac&lt;br /&gt;public function &lt;span style="color: rgb(0, 153, 0);"&gt;fillSections( xmlList:XMLList )&lt;/span&gt;:void&lt;br /&gt;{&lt;br /&gt;   // For each section in the data&lt;br /&gt;   for each ( var sectionData:XML in xmlList )&lt;br /&gt;   {&lt;br /&gt;&lt;br /&gt; // Populate the Section data &lt;br /&gt;      var sectionVO:SectionVO = new SectionVO();&lt;br /&gt;      &lt;span style="color: rgb(102, 0, 204);"&gt;sectionVO.title&lt;/span&gt; = sectionData.title;&lt;br /&gt;&lt;br /&gt;      // For each sub-section in the section&lt;br /&gt;      for each ( var subSectionData:XML in sectionData.subsections.subsection  )&lt;br /&gt;      {&lt;br /&gt;           // Populate the SubSection       &lt;br /&gt;           var subsectionVO:SubSectionVO = new SubSectionVO();&lt;br /&gt;           &lt;span style="color: rgb(102, 0, 204);"&gt;subsectionVO.title&lt;/span&gt; = subSectionData.title;&lt;br /&gt;           &lt;span style="color: rgb(102, 0, 204);"&gt;subsectionVO.header&lt;/span&gt; = subSectionData.header;&lt;br /&gt;           &lt;span style="color: rgb(102, 0, 204);"&gt;subsectionVO.body&lt;/span&gt; = subSectionData.body;&lt;br /&gt;&lt;br /&gt;           // Add SubSectionVO to the SectionVO       &lt;br /&gt;           &lt;span style="color: rgb(102, 0, 204);"&gt;sectionVO.subsections&lt;/span&gt;.addItem(subsectionVO);&lt;br /&gt;      }&lt;br /&gt;&lt;br /&gt;      // Add section VOs to ModelLocator array collection&lt;br /&gt;      ML.allSectionsac.addItem(sectionVO);&lt;br /&gt;}&lt;br /&gt;}&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;And of course, you're going to need your fault handler in case the Application can't find your xml data in the first place.&lt;br /&gt;&lt;br /&gt;&lt;blockquote style="font-family:courier new;"&gt;&lt;br /&gt;// Fault handler - displays the error.&lt;br /&gt;private function contentFaultHandler(event:FaultEvent):void&lt;br /&gt;{&lt;br /&gt;  Alert.show(event.fault.message, "Could not load content feed");&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;}&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Inside your MXML create the HTTPService object.&lt;br /&gt;&lt;br /&gt;&lt;blockquote style="font-family:courier new;"&gt;&lt;br /&gt;&amp;lt;HTTPService&lt;br /&gt;  id="contentService" &lt;br /&gt;  url="assets/xml/content.xml" &lt;br /&gt;  resultformat="e4x" &lt;br /&gt;  result="contentResultHandler(event)" &lt;br /&gt;  fault="contentFaultHandler(event)"&gt;&lt;br /&gt;&amp;lt;/mx:httpservice&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;And that’s it! Now all your data from the xml is easily accessible inside your application.&lt;br /&gt;&lt;br /&gt;Now all you do is use your ArrayCollection inside your ModelLocator. You will probably have to create a Display Object component as well. &lt;span style="color: rgb(204, 0, 0);"&gt;Your Display Object would have one Bindable public var of type your value object&lt;/span&gt; (i.e. [Bindable] public var sectionObj:SectionVO; ). In my example below I also refer to a SubSection object, which just be something simlar to this section object but with text objects getting their data from the SubSectionVO.&lt;br /&gt;&lt;br /&gt;The Section Display Object component may look something like this:&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Section.mxml&lt;/b&gt;&lt;br /&gt;&lt;blockquote style="font-family:courier new;"&gt;&lt;br /&gt;&amp;lt;mx:VBox &lt;br /&gt;  mx="http://www.adobe.com/2006/mxml" &lt;br /&gt;  com="com.*"&gt;&lt;br /&gt;  &lt;br /&gt;  &amp;lt;mx:script&gt;&lt;br /&gt;    &amp;lt;![CDATA[&lt;br /&gt;      import com.vo.SubSectionVO;&lt;br /&gt;      import com.vo.SectionVO;&lt;br /&gt;&lt;br /&gt;      import model.ModelLocator;&lt;br /&gt;      [Bindable] private var ML:ModelLocator = ModelLocator.getInstance();&lt;br /&gt;&lt;br /&gt;      &lt;span style="color: rgb(204, 0, 0);"&gt;[Bindable] public var sectionObj:SectionVO;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;       public function init():void&lt;br /&gt;         {&lt;br /&gt;           getSubSections();&lt;br /&gt;         }&lt;br /&gt;&lt;br /&gt;       // Get all sub-sections and add them to section&lt;br /&gt;       public function getSubSections():void&lt;br /&gt;       {&lt;br /&gt;         for ( var n:int=0; n &amp;lt; sectionObj.subsections.length; n++ )       &lt;br /&gt;           {&lt;br /&gt;             var subSectionView:SubSection = new SubSection();&lt;br /&gt;             subSectionView.subSectionObj =    SubSectionVO(sectionObj.subsections.getItemAt(n));&lt;br /&gt;             this.addChild(subSectionView);&lt;br /&gt;           }&lt;br /&gt;      }&lt;br /&gt;  ]]&gt;&lt;br /&gt;  &amp;lt;/mx:Script&gt;&lt;br /&gt;&lt;br /&gt;  &amp;lt;mx:Label text="{sectionObj.title}" /&gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;/mx:VBox&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Hope that was SOMEWHAT clear. Hope that helps someone out someday. I am sure I’ll be looking back on this post when I forget how to do this!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/834293513622460372-533357504867311164?l=whatsmytitletoday.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://whatsmytitletoday.blogspot.com/feeds/533357504867311164/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=834293513622460372&amp;postID=533357504867311164' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/834293513622460372/posts/default/533357504867311164'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/834293513622460372/posts/default/533357504867311164'/><link rel='alternate' type='text/html' href='http://whatsmytitletoday.blogspot.com/2008/10/today-im-developer.html' title='Today I&apos;m a developer'/><author><name>Ang</name><uri>http://www.blogger.com/profile/10242843268874466256</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://bp3.blogger.com/_v41MhIIRWT4/SHZT_mRJNaI/AAAAAAAAAGQ/ekFamcH3N1k/S220/n625835384_3458977_7608.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-834293513622460372.post-3328947897501270692</id><published>2008-09-02T22:03:00.001-03:00</published><updated>2008-09-02T22:05:48.326-03:00</updated><title type='text'>iPod touch</title><content type='html'>My first post from my new iPod touch. Yeah, I'm totally just showing off.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/834293513622460372-3328947897501270692?l=whatsmytitletoday.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://whatsmytitletoday.blogspot.com/feeds/3328947897501270692/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=834293513622460372&amp;postID=3328947897501270692' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/834293513622460372/posts/default/3328947897501270692'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/834293513622460372/posts/default/3328947897501270692'/><link rel='alternate' type='text/html' href='http://whatsmytitletoday.blogspot.com/2008/09/ipod-touch.html' title='iPod touch'/><author><name>Ang</name><uri>http://www.blogger.com/profile/10242843268874466256</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://bp3.blogger.com/_v41MhIIRWT4/SHZT_mRJNaI/AAAAAAAAAGQ/ekFamcH3N1k/S220/n625835384_3458977_7608.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-834293513622460372.post-3748608075620865443</id><published>2008-08-26T16:48:00.007-03:00</published><updated>2008-10-21T12:26:56.651-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='htmlText'/><category scheme='http://www.blogger.com/atom/ns#' term='flex'/><category scheme='http://www.blogger.com/atom/ns#' term='xml'/><title type='text'>Using html links in flex with xml data</title><content type='html'>So I'm not sure why this took me so long to figure out since it's actually quite simple...&lt;br /&gt;&lt;br /&gt;I have a flex application that is pulling all its data from an xml file. I wanted to add links to certain pieces of text. I finally figured out a way to make it work... if this is the best way or not, I do not know, but it works! (This is why I'm not a programmer... haha).&lt;br /&gt;&lt;br /&gt;Use a combination of xml file with node wrapped in the ![CDATA[ tag, Text component, and the htmlText property.&lt;br /&gt;&lt;br /&gt;Example:&lt;br /&gt;&lt;br /&gt;MXML snip:&lt;br /&gt;&lt;blockquote style="font-family: courier new;"&gt;&lt;mx:xmllistcollection id="xmlListColl"&gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;mx:HTTPService &lt;br /&gt;id="contentService"&lt;br /&gt;url="assets/xml/content.xml"&lt;br /&gt;resultFormat="e4x"&lt;br /&gt;result="contentResultHandler(event)"&lt;br /&gt;fault="contentFaultHandler(event)"/ &gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;ActionScript:&lt;br /&gt;&lt;blockquote style="font-family:courier new;"&gt;iText = new Text();&lt;br /&gt;iText.htmlText = xmlListColl.getItemAt(n).writeup;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;XML snip:&lt;br /&gt;&lt;blockquote style="font-family:courier new;"&gt;&lt;br /&gt;&amp;lt;section&gt;&lt;br /&gt;&amp;lt;title&gt;my writeup &amp;lt;/title &gt;&lt;br /&gt;&amp;lt;writeup&gt;&lt;br /&gt;&amp;lt;![CDATA[Here is a &amp;lt;font style="color:'#0000FF';"&gt; &amp;lt;a href="'http://www.mylinkaddress.com'" target="'_blank'"&gt;LINK &amp;lt;/a &gt; &amp;lt;/font &gt; that shows up blue and is clickable and opens the link in a new browser window.]] &gt;&lt;br /&gt;&amp;lt;/writeup &gt;&lt;br /&gt;&amp;lt;/section &gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;YAY :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/834293513622460372-3748608075620865443?l=whatsmytitletoday.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://whatsmytitletoday.blogspot.com/feeds/3748608075620865443/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=834293513622460372&amp;postID=3748608075620865443' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/834293513622460372/posts/default/3748608075620865443'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/834293513622460372/posts/default/3748608075620865443'/><link rel='alternate' type='text/html' href='http://whatsmytitletoday.blogspot.com/2008/08/using-html-links-in-flex-with-xml-data.html' title='Using html links in flex with xml data'/><author><name>Ang</name><uri>http://www.blogger.com/profile/10242843268874466256</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://bp3.blogger.com/_v41MhIIRWT4/SHZT_mRJNaI/AAAAAAAAAGQ/ekFamcH3N1k/S220/n625835384_3458977_7608.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-834293513622460372.post-8992358323676391394</id><published>2008-08-14T14:18:00.003-03:00</published><updated>2008-08-14T14:28:56.235-03:00</updated><title type='text'>the almighty Google looses a round?</title><content type='html'>Over the past month or so I have been working with an IA and some developers to create a proof of concept desktop widget. After the IA did some research and we decided on some wireframes, I did the visual and interaction design, sent the developers my mock ups and assets and let them go. The point of the exercise was to mainly get a sales tool, but also to discover the limitations between platforms. &lt;br /&gt;&lt;br /&gt;The three that have been created so far have been a Google Gadget, a Yahoo Widget, and an Adobe Air application. According to the developer working on the Google Gadget it is a nightmare. It came out looking the least like my mock ups that's for sure. The Yahoo one looks pretty nice, but it doesn't do any of the cool transitions and stuff I asked for. The Air, well, I guess I'm an Adobe lover anyway, but it came out the best by far. I think that maybe what we were trying to create may have been a bit beyond Google and even Yahoo’s capabilities. &lt;br /&gt;&lt;br /&gt;I wish I could show you, but yeah... company policy and all that.&lt;br /&gt;&lt;br /&gt;And I know, I know. I need to design my own damn background for this blog. I’ll get around to it eventually... maybe...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/834293513622460372-8992358323676391394?l=whatsmytitletoday.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://whatsmytitletoday.blogspot.com/feeds/8992358323676391394/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=834293513622460372&amp;postID=8992358323676391394' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/834293513622460372/posts/default/8992358323676391394'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/834293513622460372/posts/default/8992358323676391394'/><link rel='alternate' type='text/html' href='http://whatsmytitletoday.blogspot.com/2008/08/almighty-google-looses-round.html' title='the almighty Google looses a round?'/><author><name>Ang</name><uri>http://www.blogger.com/profile/10242843268874466256</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://bp3.blogger.com/_v41MhIIRWT4/SHZT_mRJNaI/AAAAAAAAAGQ/ekFamcH3N1k/S220/n625835384_3458977_7608.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-834293513622460372.post-5838085125420383854</id><published>2008-07-17T16:20:00.007-03:00</published><updated>2008-07-17T16:44:41.379-03:00</updated><title type='text'>cool iPhone buttons</title><content type='html'>The last few days I have been working on designing a widget for my company along with an information acritect. It's going pretty well. My inital design looked like an iPhone, and then we moded it form there until we came up with a simple yet cool design (something like 10 mock ups later, lol). My buttons look like iPhone buttons, which I love (I wish I actually had an iPhone, but they're too expensive to own in Canada). On the over state I increased the brightness by 30, suble but nice, and on the down they look depressed. &lt;br /&gt;&lt;br /&gt;Here's a sample for fun. :) &lt;br /&gt;&lt;img src="http://img.photobucket.com/albums/v722/reflectshadow/btnNewOrderUp.png" width="49" height="50" alt="iPhone Button" onmouseover="this.src='http://img.photobucket.com/albums/v722/reflectshadow/btnNewOrderOver.png'" onmousedown="this.src='http://img.photobucket.com/albums/v722/reflectshadow/btnNewOrderDown.png'" onmouseout="this.src='http://img.photobucket.com/albums/v722/reflectshadow/btnNewOrderUp.png'" onmouseup="this.src='http://img.photobucket.com/albums/v722/reflectshadow/btnNewOrderOver.png'" /&gt;&lt;br /&gt;&lt;br /&gt;The awesome tutorial to do the buttons I found here - &lt;a href="http://blog.jotlet.net/2007/07/05/iphone-style-icon-tutorial/" target="_blank"&gt;http://blog.jotlet.net/2007/07/05/iphone-style-icon-tutorial/&lt;/a&gt; . &lt;br /&gt;&lt;br /&gt;To do the over and down effects I came up with all you need to do is the following:&lt;br /&gt;&lt;a href="http://bp2.blogger.com/_v41MhIIRWT4/SH-dWm-rlVI/AAAAAAAAAGg/j7GMgmikEO8/s1600-h/iPhoneIconLayers.png"&gt;&lt;img style="cursor:pointer; cursor:hand;" src="http://bp2.blogger.com/_v41MhIIRWT4/SH-dWm-rlVI/AAAAAAAAAGg/j7GMgmikEO8/s320/iPhoneIconLayers.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5224067104519198034" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The "down style" layer is just a copy of the color layer with an inner shadow:&lt;br /&gt;&lt;a href="http://bp1.blogger.com/_v41MhIIRWT4/SH-dxeY3_gI/AAAAAAAAAGo/9VO_lpMBzPM/s1600-h/innerShadow.png"&gt;&lt;img style="cursor:pointer; cursor:hand;" src="http://bp1.blogger.com/_v41MhIIRWT4/SH-dxeY3_gI/AAAAAAAAAGo/9VO_lpMBzPM/s320/innerShadow.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5224067566069612034" /&gt;&lt;/a&gt;&lt;br /&gt;I also nudged the icon down 1px and right 1px.&lt;br /&gt;&lt;br /&gt;The "over style" is just an adjustment brightness/contrast layer with the brightness +30.&lt;br /&gt;&lt;a href="http://bp0.blogger.com/_v41MhIIRWT4/SH-eMCUvQkI/AAAAAAAAAGw/GejniRHnGIM/s1600-h/brightness.png"&gt;&lt;img style="cursor:pointer; cursor:hand;" src="http://bp0.blogger.com/_v41MhIIRWT4/SH-eMCUvQkI/AAAAAAAAAGw/GejniRHnGIM/s320/brightness.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5224068022392537666" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/834293513622460372-5838085125420383854?l=whatsmytitletoday.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://whatsmytitletoday.blogspot.com/feeds/5838085125420383854/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=834293513622460372&amp;postID=5838085125420383854' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/834293513622460372/posts/default/5838085125420383854'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/834293513622460372/posts/default/5838085125420383854'/><link rel='alternate' type='text/html' href='http://whatsmytitletoday.blogspot.com/2008/07/cool-iphone-buttons.html' title='cool iPhone buttons'/><author><name>Ang</name><uri>http://www.blogger.com/profile/10242843268874466256</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://bp3.blogger.com/_v41MhIIRWT4/SHZT_mRJNaI/AAAAAAAAAGQ/ekFamcH3N1k/S220/n625835384_3458977_7608.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp2.blogger.com/_v41MhIIRWT4/SH-dWm-rlVI/AAAAAAAAAGg/j7GMgmikEO8/s72-c/iPhoneIconLayers.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-834293513622460372.post-3208934614093135638</id><published>2008-07-10T15:31:00.001-03:00</published><updated>2008-07-10T16:37:43.670-03:00</updated><title type='text'>The "IT" pigeon hole</title><content type='html'>Does it count that I don’t want to be put in the "IT" box? That I think design is about everything from a cell phone interface to the way your local grocery store is laid out? Does it matter that some day I want to use my skills to change the devices I use daily that drive me nuts – like my oven?&lt;br /&gt;&lt;br /&gt;"Some of what good interaction designers do is make the world better by removing those little irritants in life, some of which we don't know exist until they are gone." - &lt;a href="http://www.odannyboy.com/"&gt;Dan Saffer&lt;/a&gt; from his book &lt;a href="http://www.designingforinteraction.com/"&gt;&lt;i&gt;Designing for Interaction&lt;/i&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/834293513622460372-3208934614093135638?l=whatsmytitletoday.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://whatsmytitletoday.blogspot.com/feeds/3208934614093135638/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=834293513622460372&amp;postID=3208934614093135638' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/834293513622460372/posts/default/3208934614093135638'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/834293513622460372/posts/default/3208934614093135638'/><link rel='alternate' type='text/html' href='http://whatsmytitletoday.blogspot.com/2008/07/it-pigeon-hole.html' title='The &quot;IT&quot; pigeon hole'/><author><name>Ang</name><uri>http://www.blogger.com/profile/10242843268874466256</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://bp3.blogger.com/_v41MhIIRWT4/SHZT_mRJNaI/AAAAAAAAAGQ/ekFamcH3N1k/S220/n625835384_3458977_7608.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-834293513622460372.post-8658506730293980606</id><published>2008-07-09T15:08:00.000-03:00</published><updated>2008-07-10T15:37:12.945-03:00</updated><title type='text'>What's my title today?</title><content type='html'>This blog is named such because depending on the day I have a different job to do.&lt;br /&gt;&lt;br /&gt;Yesterday I was a visual designer.&lt;br /&gt;&lt;br /&gt;Today I am a technical writer.&lt;br /&gt;&lt;br /&gt;Next week I expect I will be an interaction designer.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;When it all comes down to it, I may be a generalist, but if there were such thing as a generalist that focused on the end user I suppose that would be me.&lt;br /&gt;&lt;br /&gt;Problem solver and user empathizer extraordinaire. &lt;br /&gt;&lt;br /&gt;With an educational background in web design and development, and years of experience coding, I decided to leave the code behind (without any tears) and pursue what I actually cared about; the experience. UI professionals may all agree that we are underappreciated but necessary and often overlooked until the last second of any project. I want to help change that, in my own company, and in the industry as a whole.&lt;br /&gt;&lt;br /&gt;Just yet another IT professional blog to crowd the already overcrowded web space. &lt;br /&gt;&lt;br /&gt;But hey, who’s listening?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/834293513622460372-8658506730293980606?l=whatsmytitletoday.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://whatsmytitletoday.blogspot.com/feeds/8658506730293980606/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=834293513622460372&amp;postID=8658506730293980606' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/834293513622460372/posts/default/8658506730293980606'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/834293513622460372/posts/default/8658506730293980606'/><link rel='alternate' type='text/html' href='http://whatsmytitletoday.blogspot.com/2008/07/whats-my-title-today.html' title='What&apos;s my title today?'/><author><name>Ang</name><uri>http://www.blogger.com/profile/10242843268874466256</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://bp3.blogger.com/_v41MhIIRWT4/SHZT_mRJNaI/AAAAAAAAAGQ/ekFamcH3N1k/S220/n625835384_3458977_7608.jpg'/></author><thr:total>0</thr:total></entry></feed>
