This week I mostly finished off a patch to handle panels as drag feedback images. Currently, when dragging, a feedback image is created from the element being dragged, or a script may change the feedback image with the setDragImage function. However, the image is always a static image. With this patch, if you pass a <panel> element to the setDragImage function, the panel will be used directly as the drag feedback, allowing the feedback image to be changed while dragging.
This will allow you to not only change the content and appearance of the drag feedback image while the drag is occurring, but also the position and size. This should allow for some interesting drag effects.
The only other step besides using the setDragImage function, is to ensure that you set type=”drag” on the <panel> element. This ensures that the popup behaves as a drag feedback image. Otherwise, drag events will get fired on the panel itself, and you will likely want them to be ignored and instead fired on what you are dragging over underneath the panel.
Some other things I have done recently:
- Put up a some updated patches for clipboard event handling.
- Fixed some elements such as the datepicker and tree such that they cancel mouse scroll events and key events properly
- An issue where dropping on plugins was not allowed.
- Some cleanup of xul headers.
- Changed xml-datasource template generation so that the ids from the source document are used. This allows persistence to work properly.