How to properly set button phase after dragging over button?
- by irobeth
I have a class (mxml) that extends Button while implementing drag/drop support.
When I drag one of them onto another, the drag receiver stays stuck in its 'over' phase until I click on it (As if something about DragManager.acceptDragDrop is preventing the MouseEvent from getting to button)
Is there a way to make a button re-evaluate its phase after the drop? I've tried fabricating a MouseEvent and sending it to rollOverHandler with no luck.
This resembles the scenario in Button.as (lines 2606-2647) described like
Drag over and up
mouse down while out of Button
roll over Button - stay in "up" phase
mouse up while over Button - "over" phase
continue with step 2 of first three sequences above
This is my drag/drop handler
private function dragDropHandler(event:DragEvent):void {
trace("dropped");
var ib : IconButton = (event.dragInitiator as IconButton);
if(this.data is Section) {
if(ib.data is Item) {
trace("ITEM");
//move an item into a section.
var ae : AldonaEvent = new AldonaEvent(AldonaEvent.MOVE);
ae.data = ib.data;
dispatchEvent(ae);
} else if(ib.data is Section) {
trace("SECTION");
//change a section's parent.
var ae : AldonaEvent = new AldonaEvent(AldonaEvent.MOVE);
ae.data = ib.data;
dispatchEvent(ae);
}
} //you can only drag stuff into sections.
}