private boolean evaluateShowClause(String str) {
		String s = str.toLowerCase();
		byte result = parseOnOff("charge", s);
		if (result != -1) {
			if (result != 0) {
				view.setDrawCharge(result == ON);
			}
			return result != 0;
		}
		result = parseOnOff("index", s);
		if (result != -1) {
			view.setShowParticleIndex(result == ON);
			return true;
		}
		result = parseOnOff("clock", s);
		if (result != -1) {
			view.setShowClock(result == ON);
			return true;
		}
		result = parseOnOff("heatbath", s);
		if (result != -1) {
			view.setShowHeatBath(result == ON);
			return true;
		}
		result = parseOnOff("selectionhalo", s);
		if (result != -1) {
			view.setShowSelectionHalo(result == ON);
			return true;
		}
		if (model instanceof MolecularModel) {
			AtomisticView av = (AtomisticView) view;
			if (s.startsWith("style")) {
				av.setDisplayStyle(s.substring(6).trim());
				return true;
			}
			result = parseOnOff("velocity", s);
			if (result != -1) {
				av.showVelocityVector(result == ON);
				return true;
			}
			result = parseOnOff("momentum", s);
			if (result != -1) {
				av.showMomentumVector(result == ON);
				return true;
			}
			result = parseOnOff("acceleration", s);
			if (result != -1) {
				av.showAccelerationVector(result == ON);
				return true;
			}
			result = parseOnOff("force", s);
			if (result != -1) {
				av.showForceVector(result == ON);
				return true;
			}
			result = parseOnOff("vdwline", s);
			if (result != -1) {
				av.showVDWLines(result == ON);
				return true;
			}
			result = parseOnOff("electrostatic_force_line", s);
			if (result != -1) {
				av.showChargeLines(result == ON);
				return true;
			}
			result = parseOnOff("keshading", s);
			if (result != -1) {
				av.showShading(result == ON);
				return true;
			}
			result = parseOnOff("chargeshading", s);
			if (result != -1) {
				av.showChargeShading(result == ON);
				return true;
			}
			double param = parseKeywordValue("grid", s);
			if (!Double.isNaN(param)) {
				av.setGridMode((byte) param);
				((MolecularModel) model).setupGrid();
				view.repaint();
				return true;
			}
			param = parseKeywordValue("contour", s);
			if (!Double.isNaN(param)) {
				Atom probe = ((AtomicModel) model).createAtomOfElement(Element.ID_NT);
				probe.setCharge(param);
				av.showContourPlot(true, probe);
				av.repaint();
				return true;
			}
			param = parseKeywordValue("efield", s);
			if (!Double.isNaN(param)) {
				av.showEFieldLines(true);
				av.setEFCellSize((int) param);
				av.repaint();
				return true;
			}
		} else if (model instanceof MesoModel) {
			result = parseOnOff("dipole", s);
			if (result != -1) {
				((MesoView) view).setDrawDipole(result == ON);
				return true;
			}
		}
		out(ScriptEvent.FAILED, "Unrecognized keyword: " + str);
		return false;
	}