I have a widget that has a ListView on one side and widgets acting as slots for the same objects on the other. I want to be able to click on an entry to select it and also be able to drag and drop entries from the ListView into the slots, as well as drag between slots. The problem is that ListView and drag and drop both seem to eat the mouse event during handling.
My initial version follows the documentation for Drag and Drop pretty closely and looks like the below image. In this case, Drag and Drop works fine, but the ListView doesn’t receive any Mouse Button down events for selection.
I tried cheating a little and returning an Unhandled PointerEvent in the hope that it would still Drag and Drop, but dragging didn’t work on the ListView or the slots.
I noticed there is a DetectDrag node, so I tried using that instead of DetectDragIfPressed, and that got it a little closer. Selecting worked on the ListView, but dragging didn’t. Dragging worked between slots, so I’m guessing DetectDrag only works if nothing else comes along to handle the mouse event.
All I can do with the ListView is receive an event after it happens, with no option of what to do with it after I’m done, so I assume it consumes the event in the process and I can’t change anything on that side. Is there any way to have two different blueprints work off the same mouse event?