Home > announcements > Spark navigators :: ViewStack – TabNavigator – Accordion

Spark navigators :: ViewStack – TabNavigator – Accordion

Hello,

I’m happy to announce that Teoti Graphix, LLC will be offering spark framework navigators. Through the over 5 years of flex component development, this widget set was the most fun to create (to this point).

As a component developer since the beginning of flex, I have always found it hard to create rich components due to the fact the component’s view was always coupled to the component controller (the component class). With the Spark framework, all this has changed and the horizons are limitless.

Component development pattern

There is a consistent pattern you will see in all of our component releases.

  • All front facing classes IE TabNavigator will include the default skin in it’s Type style declaration. This means if you don’t want it linked, subclass the TabNavigatorBase and implement your own default component. Note: In the future we may change this to default theme SWCs but for now this is how it works
  • All components follow the base class -> MXML pattern that Adobe has set. After creating a lot of Spark components, I find this very legitimate.
  • All components have a core Skin, most of our more multi-placement composite holding component’s implement a default LayoutBase skin layout.
  • All component skins are simplified. This means some use of abstractions regarding border and state borders. For those designers that use tools to create skins, this will not affect you, just create another version of the skin implementing the SkinParts and do your fxg or layered skin graphic elements.
  • Since we offer commercial components that will be used by many levels of developers, styles will be part of the components that will offer dynamic presentation whenever possible.
  • Last but not least, anything that can be a skin or renderer is.

The Navigator Widget Toolkit

The navigator toolkit includes;

Components

  • ViewStack
  • TabNavigator
  • TabBar
  • TabButton
  • Accordion, AccordionHeader
  • SimpleBar
  • SimpleTitleBar

Skins

  • ViewStackSkin
  • TabNavigatorSkin
  • TabBarSkin, TabTopSkin, TabBottomSkin, TabLeftSkin, TabRightSkin
  • AccordionSkin, AccordionHeaderSkin
  • SimpleBorderSkin

Layouts

  • ViewStackLayout
  • TabNavigatorSkinLayout
  • HorizontalButtonBarLayout
  • VerticalButtonBarLayout
  • AccordionSkinLayout
  • AccordionSkinLayoutAnimated

VeiwStack

The ViewStack can be hooked up to any ISelectableList implementation such as the spark ButtonBar.

viewstack01

Along with this easy plugin functionality, a simple rotated ButtonBar works in a normal layout also.

viewstack02

The ViewStack also comes with the additional functionality of;

  • selectedIndex
  • selectedChild which must implement INavigatorContent
  • resizeToContent works just like the Halo navigator’s, the navigator is resized when the selectedIndex changes

TabNavigator

The TabNavigator inherits all the ViewStack functionality and adds a TabBar.

The TabNavigator also come with the additional functionality of;

  • tabBarPlacement (top, right, bottom and left)
  • tabClosePolicy; default close button implementation in the TabButton (on,off,rollover,selected,disabled);
  • A CHANGING event that is cancelable with selectedIndex is set
  • Drag and Drop support out of the box (rearrange tabs or drag into another navigator)

The image below shows the top tabBar placement.

tabnavigator01

The image below shows the right tabBar placement.

tabnavigator02

The image below shows the bottom tabBar placement.

tabnavigator03

The image below shows the left tabBar placement.

tabnavigator04

The image below shows the closePolicy of disabled.

tabnavigator05

There is so much more to talk about this component but I will save that for later.

Also note, with all tabBar placements, additional configurations include tabOffset, tabBar vertical and horizontal align and corner radii.

Accordion

The Accordion works just like the Halo version. Main differences include;

  • Instead of reimplementing the ViewStack class like the Halo Accordion, this component subclasses ViewStackBase.
  • The Accordion offers the direction property to allow for vertical and horizontal layout states.
  • Inherits all ISelectableList functionality from the ViewStackBase class.
  • Is completely skinnable.
  • All aspects of layout are swappable.
  • The AccordionHeader skin is direction aware, this means you can swap out any header and base it’s presentation of the current direction of the Accordion.

The image below shows the vertical layout direction.

accordion01

The image below shows the horizontal layout direction.

accordion02

Conclusion

This is a very fun time for flex component development and our company is here to save you development time and money!

This set is scheduled for release just prior to Flex 4′s official release.

Version 1.0 limitations;

  • History management is not enabled.
  • Deferred instantiation is not enabled. (this has to do with SkinnableContainer, we are working on it)
  • The Accordion animated layout is still beta.

Thanks,

Mike

Categories: announcements Tags:
  1. Glenn Williams
    March 8th, 2010 at 13:16 | #1

    Hi Mike

    looks interesting.

    if you have an email list you keep for customers, please add me to it and let me know when they are available, or for beta testing if you need.

    look forward to hearing from you

    regards
    glenn
    tinylion uk

  2. March 9th, 2010 at 07:20 | #2

    Hi Glenn,

    I’ll do that, the site is getting an overhaul, there is a mailing list that will update potential customers of release dates.

    Mike

  3. March 9th, 2010 at 17:55 | #3

    The following might be interesting to peeps who are looking for spark navigators.

    http://www.tink.ws/blog/spark-datanavigators/

  4. March 26th, 2010 at 06:18 | #4

    I’m very interested IF the Spark tab navigator component comes with source code (because I already know that I’ll have to implement my own accelerator key mechanism).

  5. March 26th, 2010 at 06:31 | #5

    For all of our products there are currently 2 versions of packages, binary and source code. Eventually we will have a third which includes the component library unit tests.

    So to answer your question, yes all source code would be available if you added that feature to the product.

    Mike

  6. March 29th, 2010 at 01:55 | #6

    Any news on pricing (with & without source code) and release date of the Spark navigator components?

  7. March 29th, 2010 at 04:49 | #7

    Hi Tom,

    I will have news soon about this toolkit. Keep an eye on the blog.

    Mike

  8. April 1st, 2010 at 08:10 | #8

    Great! I actually hope it also supports a ‘super’ INavigatorContent :) It’s unbelievable which hoops I have to go through in order to make it possible to hide a tab… Setting visible=false on the content page should do the trick to hide the tab (same goes for being able to close a tab but it’s a bit less urgent). Another nice feature for the future would be support for multiple lines of tabs (but please don’t delay the release because of this).

  9. Randy Winbush
    April 8th, 2010 at 13:55 | #9

    These controls look great, especially the TabNavigator. Any update on when they will be available?

  10. April 8th, 2010 at 14:11 | #10

    Hi Randy,

    The TabNavigator will be included with the ui.navigator library contained in our open source projects.

    As far as when it’s available, since it’s going to be open source it’s been pushed down the stream a bit. I don’t want to give a date only to miss it.

    There will be a blog post when it is released.

    Thanks,
    Mike

  11. April 27th, 2010 at 06:46 | #11

    Any progress on the release of the TabNavigator? I’d love to give it a try as I have the impression that the standard implementation in Flex 4 isn’t 100% bug-free (components shining through or missing…).

  12. D Keen
    May 3rd, 2010 at 14:43 | #12

    How about an alpha release? Seems like the sooner you get this out to the community, the better, even if it’s buggy or not feature-complete. Keeping it in the dark seems very non-OSSish.

  13. May 3rd, 2010 at 14:54 | #13

    > Keeping it in the dark seems very non-OSSish

    I wouldn’t say that but i agree, I want to get it out. There were other thing that took priority, announcing this was just a blog post (showing proof of concept).

    I would say within the next two weeks there will be an alpha release.

    Mike

  14. May 18th, 2010 at 08:02 | #14

    For those looking for a Flex for TabNavigator/ViewStack etc I have an open source Navigator control. Just hook it up to a TabBar and you have a TabNavigator.

    http://www.tink.ws/blog/flex-4-navigator/

  15. May 21st, 2010 at 16:47 | #15

    These are great! We really need to get these into Tour de Flex!

  16. June 4th, 2010 at 04:10 | #16

    Is the alpha release upcoming? Please…

  17. peter
    June 15th, 2010 at 07:48 | #17

    “I would say within the next two weeks there will be an alpha release.” ?

  18. Frolov Leonid
    August 4th, 2010 at 10:25 | #18

    Where can i download sources or binary?
    http://www.tink.ws/blog/spark-datanavigators/ is down

  19. Randy Martin
    September 10th, 2010 at 13:14 | #19

    Any news on the Spark navigator components?

  20. September 16th, 2010 at 08:28 | #20

    Hi,

    My focus has been on something else, asblocks and asbuilder. In a couple month I might be switching gears.

    Just didn’t have enough time to get this huge project together where it would work for my taste. There is always tomorrow. :)

    Mike

  21. November 10th, 2010 at 05:27 | #21

    It seems that a Spark TabNavigator didn’t make it in the Hero SDK. So I really hope we can get yours (even if it’s not 100% free)!!

  22. November 21st, 2010 at 21:17 | #22

    Hello,

    I wonder where can I find the spark framework navigators, there is a componenet shown up there that I really am interested in using.

  23. July 11th, 2011 at 06:09 | #23

    Hi Very nice to see above sample. I am looking http://blog.teotigraphix.com/wp-content/uploads/2010/03/viewstack01.png type of sample code in my app, can you send me sample code for this . i am working on flex mobile project.

  1. April 7th, 2010 at 16:22 | #1
  2. September 29th, 2011 at 11:18 | #2
*