Поскольку это происходит в поисках Googles, я чувствую, что мы должны добавить к этому больше информации.
В настоящее время существует несколько стыковочных сред для flex, таких как DockableFlex и FlexMDI . Существует также DockAreaFX - но это 250 долларов и, похоже, выходит за рамки того, что вы пытаетесь сделать. Все они имеют свои особенности, но я думаю, что ваш вопрос больше о том, как приклеить один контейнер рядом с другим, чтобы когда один двигался, другой двигался вместе с ним.
AFAIK. Это не то, что решено в рамках или компоненте, но должно быть достаточно легко добавить самостоятельно. Я думаю, что процесс пойдет примерно так:
- Используйте PopupManager для создания рассматриваемого всплывающего окна
- Внутри рассматриваемого всплывающего окна добавьте стандартную функциональность Drag и добавьте прослушиватель событий для OnDrag, чтобы выполнить проверку на привязку
- Внутри прослушивателя событий OnDrag проверьте свою близость к другой панели, если вы закрываетесь, просто установите положение всплывающего окна по осям x и y, чтобы оно встало напротив него.
- Добавьте прослушиватель событий во всплывающем окне для события Drag Complete. Внутри этого события OnDragComplete добавьте прослушиватель событий на панель, с которой вы хотите убедиться, что он перемещается в событие перетаскивания для этой панели - OnLockedPanelDrag.
- Внутри этого слушателя событий просто обновите свои координаты x и y, основываясь на панели.
Чтобы отсоединить всплывающее окно, удалите прослушиватели событий для перетаскивания основных панелей, и это должно сделать это.
Есть лучшие решения для этого, включающие более сильные архитектурные схемы, но это должно направить любого в правильном направлении.