public void setActionID(byte id) {
		actionID = id;
		viewer.setMeasurementEnabled(actionID == DEFA_ID);
		boolean addingAtom = isAddingAtomMode();
		boolean addingObstacle = isAddingObstacleMode();
		boolean buildingBond = isBuildingBondMode();
		boolean addingMolecule = isAddingMoleculeMode();
		boolean chargingAtom = isChargingMode();
		boolean importingModel = isImportingModelMode();
		if (id != DEFA_ID && id != SLAT_ID && id != VVEL_ID && !addingAtom && !addingMolecule && !importingModel
				&& !addingObstacle && !buildingBond && !chargingAtom) {
			setRotationEnabled(false);
		}
		else {
			setRotationEnabled(true);
			setMode(DEFAULT_MODE);
		}
		if (id != VVEL_ID) {
			viewer.setIndexOfAtomOfSelectedVelocity(-1);
		}
		if (!addingAtom && !addingObstacle && !buildingBond && !addingMolecule && !importingModel) {
			viewer.setDropPlaneVisible('x', false);
			viewer.setDropPlaneVisible('y', false);
			viewer.setDropPlaneVisible('z', false);
		}
		else {
			switch (id) {
			case XADD_ID:
			case XMOL_ID:
			case XFIL_ID:
			case XREC_ID:
			case XOVL_ID:
				viewer.setDropPlaneVisible('x', true);
				break;
			case YADD_ID:
			case YMOL_ID:
			case YFIL_ID:
			case YREC_ID:
			case YOVL_ID:
				viewer.setDropPlaneVisible('y', true);
				break;
			case ZADD_ID:
			case ZMOL_ID:
			case ZFIL_ID:
			case ZREC_ID:
			case ZOVL_ID:
				viewer.setDropPlaneVisible('z', true);
				break;
			}
		}
		setCursor(UserAction.getCursor(id));
		repaint();
	}