private void imagePropertyChange(PropertyChangeEvent e) {
		DocumentView docView = docCon.getView(docCon.getCurrentID());
		Document doc = docCon.separateDocument(docView);

		switch (e.getPropertyName()) {
		case Labels.INSERT_IMAGE:
			BufferedImage img = Translator.stringToImage(e.getOldValue()
					.toString());
			// Update the image of the Document associated with the DocumentView
			// in focus.
			docCon.updateImage(doc, img);
			// Scaling
			int width = docView.getTemplatePanel().getImageLabel().getWidth();
			int height = docView.getTemplatePanel().getImageLabel().getHeight();
			doc.getImage().scaleImage(width, height);
			doc.getImage().setImage(doc.getImage().getCurImage());
			// Then update the view with the image of the Document.
			docView.getTemplatePanel().showImage(doc.getImage().getCurImage());
			break;

		case Labels.GRAYSCALE_IMAGE:
			doc.getImage().makeGray();
			// Then update the view with the image of the Document.
			docView.getTemplatePanel().showImage(doc.getImage().getCurImage());
			break;

		case Labels.RESET_IMAGE:
			doc.getImage().resetImage();
			// Then update the view with the image of the Document.
			docView.getTemplatePanel().showImage(doc.getImage().getCurImage());
			break;

		case Labels.CROP_IMAGE:
			// To be implemented
			/*
			 * if (e.getOldValue() instanceof Rectangle) { Rectangle rect =
			 * (Rectangle) e.getOldValue(); doc.getImage().crop(rect); // Then
			 * update the view with the image of the Document.
			 * docView.getTemplatePanel().showImage(
			 * doc.getImage().getCurImage()); }
			 */
			break;
		default:
			// Do nothing, never invoked
			break;
		}
	}