private void setLineField(String str1, String str2, String str3) {
		int lb = str1.indexOf("[");
		int rb = str1.indexOf("]");
		double z = parseMathExpression(str1.substring(lb + 1, rb));
		if (Double.isNaN(z))
			return;
		int i = (int) Math.round(z);
		LineComponent[] c = view.getLines();
		if (i < 0 || i >= c.length) {
			out(ScriptEvent.FAILED, "Line " + i + " doesn't exisit.");
			return;
		}
		String s = str2.toLowerCase().intern();
		boolean b = true;
		if (s == "weight") {
			double x = parseMathExpression(str3);
			if (!Double.isNaN(x))
				c[i].setLineWeight((byte) x);
		} else if (s == "x1") {
			double x = parseMathExpression(str3);
			if (!Double.isNaN(x))
				c[i].setEndPoint1((float) (x * IR_CONVERTER), c[i].getY1());
		} else if (s == "y1") {
			double x = parseMathExpression(str3);
			if (!Double.isNaN(x))
				c[i].setEndPoint1(c[i].getX1(), (float) (x * IR_CONVERTER));
		} else if (s == "x2") {
			double x = parseMathExpression(str3);
			if (!Double.isNaN(x))
				c[i].setEndPoint2((float) (x * IR_CONVERTER), c[i].getY2());
		} else if (s == "y2") {
			double x = parseMathExpression(str3);
			if (!Double.isNaN(x))
				c[i].setEndPoint2(c[i].getX2(), (float) (x * IR_CONVERTER));
		} else if (s == "coordinates") {
			float[] x = parseArray(4, str3);
			if (x != null && x.length == 4) {
				c[i].setEndPoint1(x[0] * IR_CONVERTER, x[1] * IR_CONVERTER);
				c[i].setEndPoint2(x[2] * IR_CONVERTER, x[3] * IR_CONVERTER);
			}
		} else if (s == "stroke") {
			double x = parseMathExpression(str3);
			if (!Double.isNaN(x))
				if (x >= 0 && x < LineStyle.STROKES.length)
					c[i].setLineStyle((byte) x);
		} else if (s == "color") {
			Color color = parseRGBColor(str3);
			if (color != null)
				c[i].setColor(color);
		} else if (s == "visible") {
			c[i].setVisible("on".equalsIgnoreCase(str3));
		} else if (s == "draggable") {
			c[i].setDraggable("on".equalsIgnoreCase(str3));
		} else if (s == "layer") {
			if ("in_front_of_particles".equalsIgnoreCase(str3)) {
				c[i].setLayer(Layered.IN_FRONT_OF_PARTICLES);
			} else if ("behind_particles".equalsIgnoreCase(str3)) {
				c[i].setLayer(Layered.BEHIND_PARTICLES);
			} else if ("back".equalsIgnoreCase(str3)) {
				view.sendLayerToBack(c[i]);
			} else if ("front".equalsIgnoreCase(str3)) {
				view.bringLayerToFront(c[i]);
			}
		} else {
			out(ScriptEvent.FAILED, "Cannot set property: " + str2);
			b = false;
		}
		if (b) {
			notifyChange();
			view.repaint();
		}
	}