[jboss-user] [JBoss Tools Development] - [VPE] Notes About XULRunner Problems in DnD Implementation
Denis Golovin
do-not-reply at jboss.com
Fri May 21 18:54:06 EDT 2010
Denis Golovin [http://community.jboss.org/people/dgolovin] modified the document:
"[VPE] Notes About XULRunner Problems in DnD Implementation"
To view the document, visit: http://community.jboss.org/docs/DOC-15275
--------------------------------------------------------------
h2. Known problems in XULRunner 1.9.2
h3. org.mozilla.interfaces.inIFlasher
inIFlasher does not work on MacOS. It is needed to show a border around selected elements in VPE.
*Workaround:* To show a border on MacOS the following style is used: "border: 2px solid COLOR_NAME !important". But the workaround has a drawback: if the selected elements has its own border, it is not visible.
h3. draggesture event
XULRunner does not fire 'draggesture' event on Linux.
*Workaround:* Special button for Drag&Drop actions is used. Instead of listening to the 'draggesture' events, VPE listens to the 'mousedown' event on this button.
h3. org.mozilla.interfaces.nsIDragService.invokeDragSession(...)
The method invokeDragSession works differently on Windows and Linux. On Windows it exits *after* the session is ended. On Linux it exits *immediately*. The following snippet illustrates this:
document.addEventListener("dragstart", new nsIDOMEventListener() {
nsISupports queryInterface(String uuid) {
return null;
}
void handleEvent(nsIDOMEvent event) {
nsIDragService dragService = (nsIDragService)
Mozilla.getInstance().getServiceManager()
.getServiceByContractID("@mozilla.org/widget/dragservice;1",
nsIDragService.NS_IDRAGSERVICE_IID);
System.out.println("BEFORE invokeDragSession");
dragService.invokeDragSession(node, transferables, null,
nsIDragService.DRAGDROP_ACTION_MOVE
| nsIDragService.DRAGDROP_ACTION_COPY
| nsIDragService.DRAGDROP_ACTION_LINK);
System.out.println("AFTER invokeDragSession");
}
}, false);
document.addEventListener("dragend", new nsIDOMEventListener() {
nsISupports queryInterface(String uuid) {
return null;
}
void handleEvent(nsIDOMEvent event) {
System.out.println("dragend");
}
}, false);
document.addEventListener("dragover", new nsIDOMEventListener() {
nsISupports queryInterface(String uuid) {
return null;
}
void handleEvent(nsIDOMEvent event) {
System.out.println("dragover");
}
}, false);
* Windows output:*
> BEFORE invokeDragSession
> dragover
> dragover
> ...
> dragover
> dragend
> AFTER invokeDragSession
* Linux output:*
> BEFORE invokeDragSession
> AFTER invokeDragSession
> dragover
> dragover
> ...
> dragover
> dragend
--------------------------------------------------------------
Comment by going to Community
[http://community.jboss.org/docs/DOC-15275]
Create a new document in JBoss Tools Development at Community
[http://community.jboss.org/choose-container!input.jspa?contentType=102&containerType=14&container=2129]
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/jboss-user/attachments/20100521/348f9fb2/attachment.html
More information about the jboss-user
mailing list