@Override
    public void mousePressed(MouseEvent mouse) {
        try {
            Tool tool = controls.getTool();
            noClick = false;
            begin = graph.getVertex(mouseGetX(mouse), mouseGetY(mouse));
            xlast = mouseGetX(mouse);
            ylast = mouseGetY(mouse);
            preClickX = mouse.getX();
            preClickY = mouse.getY();
            oldOffX = graph.canvas.offX;
            oldOffY = graph.canvas.offY;
            if (selectedMessage != null) {
                selectedMessage.selected = 0;
            }

            if (tool.compatible(ToolTarget.message)) {
                selectedMessage = graph.getMessage(mouseGetX(mouse), mouseGetY(mouse));
                if (selectedMessage != null) {
                    GUI.zoomWindow.drawMessage(selectedMessage);
                    GUI.zoomWindow.canvas.setVisible(true);
                }
                if (selectedMessage != null) {
                    selectedMessage.selected = 1;
                }
            }
        } finally {
            GUI.gRepaint();
        }
    }