views:

93

answers:

1

Picnik's left hand menu:

http://www.picnik.com/app#/create/shapes

Basic features:

  • Accordion like components (but multiple items can be selected)
  • Each stack has multiple child stacked
  • The whole menu resizes depending on how many stacks are selected and a scrollbar is also shown if necessary

So how Do I go about creating a menu like this? Any pointers to boot?

Thanks!

+2  A: 

You might try a combination of VBox, collapsible panels and lists ( http://hasseg.org/blog/?p=113 ) That should give you all the tools you need.

My Vision of it: (cause I like drawing with pipes and dashes)

VBOX-------------------------
|                            |
|  Collapsing Panel--------  |
|  |                       | |
|  |  Tile List----------  | |
|  |  |                  | | |
|  |  |  Tile            | | |
|  |  |  Tile            | | |
|  |   ------------------  | |
|   -----------------------  |
|                            |
|  Collapsing Panel--------  |
|  |                       | |
|  |  Tile List----------  | |
|  |  |                  | | |
|  |  |  Tile            | | |
|  |  |  Tile            | | |
|  |   ------------------  | |
|   -----------------------  |
|                            |
|  Collapsing Panel--------  |
|  |                       | |
|  |  Tile List----------  | |
|  |  |                  | | |
|  |  |  Tile            | | |
|  |  |  Tile            | | |
|  |   ------------------  | |
|   -----------------------  |
 ----------------------------
invertedSpear
Really like your pipes-and-dashes drawing ;) Your structure is what I'm going with. I'm going with WindowShade - http://flexlib.googlecode.com/svn/trunk/docs/flexlib/containers/WindowShade.html. It works similar to collapsable panels. The next problem is with resizing. Lets say I add an item to the innermost tile, then that tile should expand to "fit" the new item. This is because the entire menu has one and only one scrollbar. So How do I find the exact height of the tile and "fit" all it's items instead of showing a scrollbar?
Yeti
cool drawing :). Lost_in_code, good luck with the animations. I suspect picnik used Flex Effects. I'd use TweenMax. They probably had a team of 3 work for 3 weeks to make those effects work, and they still don't work if I click too fast. invertedSpear's structure works well.
viatropos
@Lost_in_code - I personally don't mess with tiles too much but when dealing with UI components in general it's going to depend on how you're building your menu, with AS or MXML. With AS I would measure the item you add to the tile, and when you do set all the ancestor components height so "tile.addChild(item); tile.height += item.height; tileList.height += item.height; windowShade.height += item.height;" there's probably a better way to automate that, but it should work.
invertedSpear
Thanks guys, that gave me some idea to start off.
Yeti