Skip processing of input listeners with consumed events
This prevents from consumed input events to propage to rest of the plugins. For example when overlay is being moved, this prevents ground items from registering the click (what would otherwise cause for ground item to be highlighted). Signed-off-by: Tomas Slusny <slusnucky@gmail.com>
This commit is contained in:
@@ -49,25 +49,52 @@ public class KeyManager
|
|||||||
|
|
||||||
public void processKeyPressed(KeyEvent keyEvent)
|
public void processKeyPressed(KeyEvent keyEvent)
|
||||||
{
|
{
|
||||||
|
if (keyEvent.isConsumed())
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
for (KeyListener keyListener : keyListeners)
|
for (KeyListener keyListener : keyListeners)
|
||||||
{
|
{
|
||||||
keyListener.keyPressed(keyEvent);
|
keyListener.keyPressed(keyEvent);
|
||||||
|
if (keyEvent.isConsumed())
|
||||||
|
{
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void processKeyReleased(KeyEvent keyEvent)
|
public void processKeyReleased(KeyEvent keyEvent)
|
||||||
{
|
{
|
||||||
|
if (keyEvent.isConsumed())
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
for (KeyListener keyListener : keyListeners)
|
for (KeyListener keyListener : keyListeners)
|
||||||
{
|
{
|
||||||
keyListener.keyReleased(keyEvent);
|
keyListener.keyReleased(keyEvent);
|
||||||
|
if (keyEvent.isConsumed())
|
||||||
|
{
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void processKeyTyped(KeyEvent keyEvent)
|
public void processKeyTyped(KeyEvent keyEvent)
|
||||||
{
|
{
|
||||||
|
if (keyEvent.isConsumed())
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
for (KeyListener keyListener : keyListeners)
|
for (KeyListener keyListener : keyListeners)
|
||||||
{
|
{
|
||||||
keyListener.keyTyped(keyEvent);
|
keyListener.keyTyped(keyEvent);
|
||||||
|
if (keyEvent.isConsumed())
|
||||||
|
{
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -82,30 +82,57 @@ public class MouseManager
|
|||||||
|
|
||||||
public MouseEvent processMousePressed(MouseEvent mouseEvent)
|
public MouseEvent processMousePressed(MouseEvent mouseEvent)
|
||||||
{
|
{
|
||||||
|
if (mouseEvent.isConsumed())
|
||||||
|
{
|
||||||
|
return mouseEvent;
|
||||||
|
}
|
||||||
|
|
||||||
checkExtraMouseButtons(mouseEvent);
|
checkExtraMouseButtons(mouseEvent);
|
||||||
for (MouseListener mouseListener : mouseListeners)
|
for (MouseListener mouseListener : mouseListeners)
|
||||||
{
|
{
|
||||||
mouseEvent = mouseListener.mousePressed(mouseEvent);
|
mouseEvent = mouseListener.mousePressed(mouseEvent);
|
||||||
|
if (mouseEvent.isConsumed())
|
||||||
|
{
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return mouseEvent;
|
return mouseEvent;
|
||||||
}
|
}
|
||||||
|
|
||||||
public MouseEvent processMouseReleased(MouseEvent mouseEvent)
|
public MouseEvent processMouseReleased(MouseEvent mouseEvent)
|
||||||
{
|
{
|
||||||
|
if (mouseEvent.isConsumed())
|
||||||
|
{
|
||||||
|
return mouseEvent;
|
||||||
|
}
|
||||||
|
|
||||||
checkExtraMouseButtons(mouseEvent);
|
checkExtraMouseButtons(mouseEvent);
|
||||||
for (MouseListener mouseListener : mouseListeners)
|
for (MouseListener mouseListener : mouseListeners)
|
||||||
{
|
{
|
||||||
mouseEvent = mouseListener.mouseReleased(mouseEvent);
|
mouseEvent = mouseListener.mouseReleased(mouseEvent);
|
||||||
|
if (mouseEvent.isConsumed())
|
||||||
|
{
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return mouseEvent;
|
return mouseEvent;
|
||||||
}
|
}
|
||||||
|
|
||||||
public MouseEvent processMouseClicked(MouseEvent mouseEvent)
|
public MouseEvent processMouseClicked(MouseEvent mouseEvent)
|
||||||
{
|
{
|
||||||
|
if (mouseEvent.isConsumed())
|
||||||
|
{
|
||||||
|
return mouseEvent;
|
||||||
|
}
|
||||||
|
|
||||||
checkExtraMouseButtons(mouseEvent);
|
checkExtraMouseButtons(mouseEvent);
|
||||||
for (MouseListener mouseListener : mouseListeners)
|
for (MouseListener mouseListener : mouseListeners)
|
||||||
{
|
{
|
||||||
mouseEvent = mouseListener.mouseClicked(mouseEvent);
|
mouseEvent = mouseListener.mouseClicked(mouseEvent);
|
||||||
|
if (mouseEvent.isConsumed())
|
||||||
|
{
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return mouseEvent;
|
return mouseEvent;
|
||||||
}
|
}
|
||||||
@@ -123,45 +150,90 @@ public class MouseManager
|
|||||||
|
|
||||||
public MouseEvent processMouseEntered(MouseEvent mouseEvent)
|
public MouseEvent processMouseEntered(MouseEvent mouseEvent)
|
||||||
{
|
{
|
||||||
|
if (mouseEvent.isConsumed())
|
||||||
|
{
|
||||||
|
return mouseEvent;
|
||||||
|
}
|
||||||
|
|
||||||
for (MouseListener mouseListener : mouseListeners)
|
for (MouseListener mouseListener : mouseListeners)
|
||||||
{
|
{
|
||||||
mouseEvent = mouseListener.mouseEntered(mouseEvent);
|
mouseEvent = mouseListener.mouseEntered(mouseEvent);
|
||||||
|
if (mouseEvent.isConsumed())
|
||||||
|
{
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return mouseEvent;
|
return mouseEvent;
|
||||||
}
|
}
|
||||||
|
|
||||||
public MouseEvent processMouseExited(MouseEvent mouseEvent)
|
public MouseEvent processMouseExited(MouseEvent mouseEvent)
|
||||||
{
|
{
|
||||||
|
if (mouseEvent.isConsumed())
|
||||||
|
{
|
||||||
|
return mouseEvent;
|
||||||
|
}
|
||||||
|
|
||||||
for (MouseListener mouseListener : mouseListeners)
|
for (MouseListener mouseListener : mouseListeners)
|
||||||
{
|
{
|
||||||
mouseEvent = mouseListener.mouseExited(mouseEvent);
|
mouseEvent = mouseListener.mouseExited(mouseEvent);
|
||||||
|
if (mouseEvent.isConsumed())
|
||||||
|
{
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return mouseEvent;
|
return mouseEvent;
|
||||||
}
|
}
|
||||||
|
|
||||||
public MouseEvent processMouseDragged(MouseEvent mouseEvent)
|
public MouseEvent processMouseDragged(MouseEvent mouseEvent)
|
||||||
{
|
{
|
||||||
|
if (mouseEvent.isConsumed())
|
||||||
|
{
|
||||||
|
return mouseEvent;
|
||||||
|
}
|
||||||
|
|
||||||
for (MouseListener mouseListener : mouseListeners)
|
for (MouseListener mouseListener : mouseListeners)
|
||||||
{
|
{
|
||||||
mouseEvent = mouseListener.mouseDragged(mouseEvent);
|
mouseEvent = mouseListener.mouseDragged(mouseEvent);
|
||||||
|
if (mouseEvent.isConsumed())
|
||||||
|
{
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return mouseEvent;
|
return mouseEvent;
|
||||||
}
|
}
|
||||||
|
|
||||||
public MouseEvent processMouseMoved(MouseEvent mouseEvent)
|
public MouseEvent processMouseMoved(MouseEvent mouseEvent)
|
||||||
{
|
{
|
||||||
|
if (mouseEvent.isConsumed())
|
||||||
|
{
|
||||||
|
return mouseEvent;
|
||||||
|
}
|
||||||
|
|
||||||
for (MouseListener mouseListener : mouseListeners)
|
for (MouseListener mouseListener : mouseListeners)
|
||||||
{
|
{
|
||||||
mouseEvent = mouseListener.mouseMoved(mouseEvent);
|
mouseEvent = mouseListener.mouseMoved(mouseEvent);
|
||||||
|
if (mouseEvent.isConsumed())
|
||||||
|
{
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return mouseEvent;
|
return mouseEvent;
|
||||||
}
|
}
|
||||||
|
|
||||||
public MouseWheelEvent processMouseWheelMoved(MouseWheelEvent mouseWheelEvent)
|
public MouseWheelEvent processMouseWheelMoved(MouseWheelEvent mouseWheelEvent)
|
||||||
{
|
{
|
||||||
|
if (mouseWheelEvent.isConsumed())
|
||||||
|
{
|
||||||
|
return mouseWheelEvent;
|
||||||
|
}
|
||||||
|
|
||||||
for (MouseWheelListener mouseWheelListener : mouseWheelListeners)
|
for (MouseWheelListener mouseWheelListener : mouseWheelListeners)
|
||||||
{
|
{
|
||||||
mouseWheelEvent = mouseWheelListener.mouseWheelMoved(mouseWheelEvent);
|
mouseWheelEvent = mouseWheelListener.mouseWheelMoved(mouseWheelEvent);
|
||||||
|
if (mouseWheelEvent.isConsumed())
|
||||||
|
{
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return mouseWheelEvent;
|
return mouseWheelEvent;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user