The Sexiest Flex Component Framework on the Planet
ActionScript Ruby JavaScript
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


Style is knowing who you are, what you want to say and not giving a damn.
- Gore Vidal

Style is an extension of yourself. It’s attitude, personality and instinct. Style is not material. It’s a form of expression, a statement and it’s in the choices you make.something that evolves, matures, and changes over varied amounts of time. It can be influenced and inspired by your age, gender, culture, geographic locale, interests, emotions and a myriad of other factors. Most people express themselves through the the clothes they wear while others may hide through them. Style like everything else in our life comes down to CHOICE. You choose what you show the world about yourself through your style and the clothes you wear. And you can also deceive not only the world but yourself by dressing and portraying your style as something your not – knowingly or unknowingly. – Style vs. Fashion


Style is an extremely simple and clear architecture for creating Flex Components, the simplest of them out there yet.


Style is very effective for creating both animated and static user interfaces, much more so that pure Flex because it hides a lot of repetitive coding conventions so you don’t have to write them, and because it is not verbose.


Style is very creative. In order to make it simple to do hardcore things, we have divided it into several parts.


Animators bring your components to life. They are not “effects” per-say, because effects are animations executed under a certain condition. Their job is, instead of directly setting a property so the user interface jumps from one configuration to the next, to animate the setting of the properties. If you tried doing this with effects, it would be nuts. Instead, you just filter the setting through the Animator, and your interface is brought to life.


Any Keyword in the application is stored here, other than Event constants. But all your Ease names, your DragTypes, and MetadataTags, are here.


Controllers are the core of what makes Style so effective. Controllers function by adhering to conventions that we all use when writing code. Controllers are Attachable objects, in that they can be swapped in and out of Components or other objects. They use Metadata to remove the bulk of code you’d have to write to create List functionality, or Dragging functionality. And they can be reused over and over again, making it so a Group can now function like a list, or even an ItemRenderer could behave like a list. Controllers allow Components to have new “behaviors”, thought the Controller is not a “Behavior”.






Style is built upon Flex 4 and Spark’s Skinnable Component Architecture so that you can define the graphics separately from the components. It also uses Controllers to encapsulate all of the logic for creating little bits of reusable functionality for your components, and uses the coolest programming tricks to make that happen. All you need to worry about now is “what do I want this to look like”, not “how do I make it”.

Style currently has the following components in its arsenal:

  1. PopUpButton
  2. ToolTipElement
  3. TitleWindow
  4. TransformElement
  5. TransformContainer
  6. TransformHandle
  7. Icon
  8. Tree
  9. TreeItemRenderer
  10. SkinnableItemRenderer
  11. SkinnableTreeItemRenderer
  12. Ruler
  13. Tick

Remove trailing whitespace in code: ;[\ |\t][^\/\w\n] => ;
Reformat getter: \ \{\s
(return \w+;)\s*\} => \n\t\t{\n\t\t\t$1\n\t\t}
Reformat setter:

Core Requests from Flex


Make the LayoutBase implement IAttachable so we can configure it when it is added and removed

Conditional Event Dispatching

More Bindable Properties (with Conditional Event Dispatching)

  1. contentGroup/dataGroup
  2. layout