Wednesday, May 15, 2013

Flex SkinnableViewStack Component

The SkinnableViewStack is nearly identical to my ViewStack component except that it extends SkinnableContainer, rather than my DeferredContentGroup, to support skins.

My use-case for a skinnable version of the ViewStack is when defining views or components that need to have ViewStack-like functionality, but also include chrome (think of a wizard component). One could simply define a SkinnableComponent with a ViewStack as a skin part, but the component user wouldn’t have access to the ViewStack API outside the SkinnableComponent.

This SkinnableViewStack implementation replaces the Group-based contentGroup skin part with my Spark ViewStack component and then proxies the ViewStack API to the contentGroup.

I’ll post some example uses of this component soon.

Source  code located at: https://www.assembla.com/code/shinynet/subversion/nodes

Friday, May 10, 2013

Flex Spark ViewStack Implementation

Awhile back, I created a GroupStack as a quick and dirty Spark implementation of the ViewStack I needed at the time. I've recently needed a more complete implementation of a Spark ViewStack for a project, particularly with support for deferred content creation and some of the other features left out of the GroupStack.

This version of the ViewStack is very close to a direct port, containing most all of the features and API from the Halo ViewStack. It’s based on Group (more specifically, my DeferredContentGroup which extends Group) due to my desire to substitute the contentGroup skin part (of type Group), found in many skins, with a ViewStack. The three features I did not port over is the support for history management, resizeToContent, and the usage of effect overlays. And, as with the rest of my library, it’s not that well tested, so be sure to let me know if you’re using this and you find some problems.

Source  code located at: https://www.assembla.com/code/shinynet/subversion/nodes

Tuesday, May 7, 2013

Flex DeferredContentGroup Component

Whereas Flex 3 included built-in support for deferred content creation in all of the Halo containers, Flex 4 only offers this feature with the SkinnableContainer Spark container. With the DeferredContentGroup, you can utilize deferred instantiation in the lighter-weight Spark Group container.

I created this, primarily, because I needed it for the new Spark ViewStack navigator that I’m currently working on (which I’ll be wrapping up and releasing soon), but I saw no reason to not release this as a standalone component.

I didn’t feel like I needed to post a demo or directions on how to use this. If you know how to use a Group and you know how to use the creationPolicy attribute, then you know how to use this component (although I do have a demo checked into the source code repository).

Source  code located at: https://www.assembla.com/code/shinynet/subversion/nodes