Flex TreeMap Component Updates

by Josh Tynjala

Just a few moments ago, I uploaded version 1.0.1 of my TreeMap component for Flex to Google Code. A couple bugfixes were included. In particular, I renamed the headerStyleName style to branchHeaderStyleName so that it wouldn’t conflict with headerStyleName as defined by other Flex components such as DateField. Additionally, I updated the build script so that the core Flex framework wouldn’t be compiled into the TreeMap SWC. Besides a drop in filesize of over 300KB on the SWC itself, this should make the compiled version more compatible with different SDK versions.

If you’re into playing with experimental and unfinished code, you’ll probably be interested in accessing the latest source from the Subversion repository’s trunk. I’ve moved the old code into the 1.x branch (for maintenance updates), and I committed my first steps toward the creation of version 2.0 to the main trunk. Performance boosts will be my primary goal for this upcoming version, and I’m working hard to do things like reuse branch and leaf renderers better so that I’m not adding and removing them from the display list quite as much.

Some may remember that I spoke about my TreeMap component last year at the Flex Maniacs conference, and how the performance of components that use item renderers can be optimized through intelligent manipulation of the display list. I already had a few optimizations in place at the time, but I needed many strategic rewrites to get the component where it is now. In particular, I’ve reworked how branches operate so that leaf renderers can be shared and reused more often. This change alone will be the biggest part of improving performance.

By the way, I’ll be giving a talk at 360Flex next month with a similar focus. Rather than just being about my TreeMap, I’ve adapted the session to focus on all uses of item renderers. It’ll start out with a look at how to use them with existing Flex components, and then I’ll spend some time explaining the steps to build your own components to support item renderers. I’ll show off the source for several components that I’ve built to help demonstrate how it all works. I hope to see you there!

About the Author

Josh Tynjala is an indie game developer, entrepreneur, Flash and Flex mercenary, and bowler hat enthusiast.

Discussion
  1. Great Job Josh!

    Have you seen what ILOG is doing http://www.ilog.com/products/elixir/ ?

    It looks like you just open sourced a component that they are trying to commercialize. I too was putting a lot of thought to open sourcing some internal data visualization components we have built that I think would really benefit the community.

    posted by Tom on 01.23.2008
  2. Outstanding solution. I’ve tried for a year to solve this problem, and the Flex solution and tree component is both professional and generates a very nice colored tree map.

    Thanks!

    posted by Charles on 02.14.2008
Share Your Thoughts

To display code in comments: <pre>Code here. May be multiline. Format XML with &gt; and &lt; entities.</pre>

Some HTML allowed in comments: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>