selection & multi d&d fix

This commit is contained in:
bancika
2013-08-15 11:47:52 +00:00
parent 8c0cec70de
commit 448f87666d
3 changed files with 33 additions and 14 deletions
@@ -100,26 +100,15 @@ public class CanvasPlugin implements IPlugIn, ClipboardOwner {
canvasPanel = new CanvasPanel(plugInPort);
canvasPanel.addMouseListener(new MouseAdapter() {
private boolean processedPressed = false;
@Override
public void mousePressed(MouseEvent e) {
canvasPanel.requestFocus();
mouseReleased(e);
processedPressed = true;
}
@Override
public void mouseReleased(final MouseEvent e) {
// Do not send mouseClicked on release if it was already
// process on pressed.
if (processedPressed) {
processedPressed = false;
} else {
plugInPort.mouseClicked(e.getPoint(), e.getButton(), e
.isControlDown(), e.isShiftDown(), e
.isAltDown(), e.getClickCount());
}
// Invoke the rest of the code later so we get the chance to
// process selection messages.
SwingUtilities.invokeLater(new Runnable() {
@@ -185,6 +174,16 @@ public class CanvasPlugin implements IPlugIn, ClipboardOwner {
.isShiftDown(), e.isAltDown());
}
});
canvasPanel.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {
plugInPort.mouseClicked(e.getPoint(), e.getButton(), e
.isControlDown(), e.isShiftDown(), e.isAltDown(), e
.getClickCount());
}
});
}
return canvasPanel;
}