dataText.setText(dataHexDump(dataText.getLineDelimiter()));
String data = dataHexDump(dataText.getLineDelimiter()); dataText.setText(data);   int index = 0; while((index = data.indexOf(':', index+1)) != -1) dataText.setStyleRange(new StyleRange(index - INDEX_DIGITS, INDEX_DIGITS, dataText.getForeground(), dataText.getBackground(), SWT.BOLD));
	void displayImage(ImageData newImageData) {		if (incremental && incrementalThread != null) {			// Tell the incremental thread to stop drawing.			synchronized (this) {				incrementalEvents = null;			}						// Wait until the incremental thread is done.			while (incrementalThread.isAlive()) {				if (!display.readAndDispatch()) display.sleep();			}		}							// Dispose of the old image, if there was one.		if (image != null) image.dispose();		try {			// Cache the new image and imageData.			image = new Image(display, newImageData);			imageData = newImageData;		} catch (SWTException e) {			showErrorDialog(bundle.getString("Creating_from") + " ", currentName, e);			image = null;			return;		}		// Update the widgets with the new image info.		String string = createMsg(bundle.getString("Analyzer_on"), currentName);		shell.setText(string);		if (imageDataArray.length > 1) {			string = createMsg(bundle.getString("Type_index"), 			                   new Object[] {fileTypeString(imageData.type),			                                 new Integer(imageDataIndex + 1),			                                 new Integer(imageDataArray.length)});		} else {			string = createMsg(bundle.getString("Type_string"), fileTypeString(imageData.type));		}		typeLabel.setText(string);		string = createMsg(bundle.getString("Size_value"), 					 new Object[] {new Integer(imageData.width),							   new Integer(imageData.height)});		sizeLabel.setText(string);		string = createMsg(bundle.getString("Depth_value"), new Integer(imageData.depth));		depthLabel.setText(string);		string = createMsg(bundle.getString("Transparent_pixel_value"), pixelInfo(imageData.transparentPixel));		transparentPixelLabel.setText(string);		string = createMsg(bundle.getString("Time_to_load_value"), new Long(loadTime));		timeToLoadLabel.setText(string);		string = createMsg(bundle.getString("Animation_size_value"), 		                      new Object[] {new Integer(loader.logicalScreenWidth),								new Integer(loader.logicalScreenHeight)});		screenSizeLabel.setText(string);		string = createMsg(bundle.getString("Background_pixel_value"), pixelInfo(loader.backgroundPixel));		backgroundPixelLabel.setText(string);		string = createMsg(bundle.getString("Image_location_value"), 		                      new Object[] {new Integer(imageData.x), new Integer(imageData.y)});		locationLabel.setText(string);		string = createMsg(bundle.getString("Disposal_value"),		                      new Object[] {new Integer(imageData.disposalMethod),							      disposalString(imageData.disposalMethod)});		disposalMethodLabel.setText(string);		int delay = imageData.delayTime * 10;		int delayUsed = visibleDelay(delay);		if (delay != delayUsed) {			string = createMsg(bundle.getString("Delay_value"), 			                   new Object[] {new Integer(delay), new Integer(delayUsed)});		} else {			string = createMsg(bundle.getString("Delay_used"), new Integer(delay));		}		delayTimeLabel.setText(string);		if (loader.repeatCount == 0) {			string = createMsg( bundle.getString("Repeats_forever"), new Integer(loader.repeatCount));		} else {			string = createMsg(bundle.getString("Repeats_value"), new Integer(loader.repeatCount));		}		repeatCountLabel.setText(string);		if (imageData.palette.isDirect) {			string = bundle.getString("Palette_direct");		} else {			string = createMsg(bundle.getString("Palette_value"), new Integer(imageData.palette.getRGBs().length));		}		paletteLabel.setText(string);		string = createMsg(bundle.getString("Pixel_data_value"), 					 new Object[] {new Integer(imageData.bytesPerLine),						         new Integer(imageData.scanlinePad),							   depthInfo(imageData.depth)});		dataLabel.setText(string);		dataText.setText(dataHexDump(dataText.getLineDelimiter()));		statusLabel.setText("");		// Redraw both canvases.		paletteCanvas.redraw();		imageCanvas.redraw();	}