@Override
    public void mouseDragged(MouseEvent e) {
        this.diagramPanel.setMoveHandCursor();
        if (SwingUtilities.isLeftMouseButton(e)&&e.isControlDown()) {
            int scrollPositionX = this.diagramScrollPane.getViewport().getViewPosition().x;
            int scrollPositionY = this.diagramScrollPane.getViewport().getViewPosition().y;
            int offsetX = (getX() - e.getX()+scrollPositionX);
            int offsetY = (getY() - e.getY()+scrollPositionY);
            if(offsetY > 0 && offsetX > 0){
            this.diagramScrollPane.getViewport().setViewPosition(new java.awt.Point(offsetX,offsetY));
            }
        }
        // Left
        else if (SwingUtilities.isLeftMouseButton(e)) {
            this.diagramPanel.mouseLeftDragged(e.getX(), e.getY());
        }
    }