@Override
	public void mousePressed(MouseEvent ev) {
		if (ev.getButton() == MouseEvent.BUTTON1 && !ev.isPopupTrigger() && !(ev.isShiftDown() && ev.isControlDown())) {
			if ((ev.getModifiers() & InputEvent.CTRL_MASK) == InputEvent.CTRL_MASK || (ev.getModifiers() & InputEvent.ALT_MASK) == InputEvent.ALT_MASK) {
				ListElement temp = data.getElementAtLocation(ev.getY());

				if (temp != null) {
					if (!temp.isSelected()) {
						start = ev.getY();
					}
					temp.setSelected(!temp.isSelected());
					display.repaint();
				}
			} else if ((ev.getModifiers() & InputEvent.SHIFT_MASK) == InputEvent.SHIFT_MASK) {
				selectRange(ev);
			} else {
				start = ev.getY();
				clearSelections();

				setSelectedAt(start, true);
				display.repaint();
			}
		}
	}