Flash migLayout Flex
Портировал MigLayout для флеша.
miglayout.com javalobby.org (обратите внимание на параграф "No Panels in Panels")
Для флеша — не имеется ввиду для чистого флеша как готовый полноценный layout manager для Sprite/MovieClip/Shape.
Есть определенный нюанс, связанный с тем, что компонент должен хранить свой preferred size, а при установке ему actual size продолжать помнить о своем preferred size. Ни флеш, ни minimalcomps данную концепцию не поддерживают. Смотрите флешку —
dl.dropbox.com и
dl.dropbox.com (это пример как на главной странице
miglayout.com).
Если для shape.swf менять размеры страницы, то черные кубики (это label) сразу же уменьшаться, а красные займут место (потому что для них установлен grow). Потому что min size отдается для них как 0.
То же самое и для minimal comps (только там оно может draw и менять свой width).
github.com
Код флешки —
github.com
Таким образом, без дополнительных усилий, всякие умные constraints типа grow для чистого флеша работать не будут (только в первый проход до изменения размеров контейнера). Но реализовать два интерфейса (net.miginfocom.layout.ComponentWrapper и net.miginfocom.layout.ContainerWrapper.as) и один фасад (типа
github.com ) для вашего любимого ui-фреймоворка особых проблем не составит.
Сделано это было для Flash UI Designer в Astella/IntelliJ IDEA, который уже скоро будет уметь визуально строить интерфейсфы для флеша. В первую очередь, разумеется, для флекса. А MigLayout это как раз та самая серебряная пуля, которая отправляет в топку весь тот зоопарк посредственных layouts, что существуют, при этом оставаясь понятным (layout constraints задаются строчками, декларативно, смотрите документацию на
miglayout.com ).