Hi Noel, I finally had a chance to review the latest changes to TerraListViewSkin. This version looks much better. :-) However, there are still a few minor issues. My comments below.
G Line 68: - Why not use an ArrayList for the variable item heights? Also, this member should be renamed to "itemHeights", and its declaration should be moved below editIndex (it is currently declared between variableItemHeight and checkboxPadding, which implies that it is a style). Line 159: You should insert a CR after the closing curly brace. Line 197: Same as above. Line 212: Unnecessary line feed. Line 215: This comment is misleading, since we're not painting at this point. Line 253: Insert a CR after the closing curly brace. Line 389: Same as above. Line 412: Same as above. Line 712: Unecessary line feed. Line 1000: I don't think we actually need (or want) to clear the cache here. Since you call invalidateComponent(), you know that it is going to be rebuilt in layout() anways, and if paint() happens to be called in between, we'll get an NPE because the cache is now gone. There are a number of other similar cases later in the code. Line 1110: Unnecessary line feed.