@@ -0,0 +1,1219 @@
+package experimentalcode.erich.visualization;%0A%0Aimport java.io.File;%0Aimport java.io.FileOutputStream;%0Aimport java.io.IOException;%0Aimport java.io.OutputStream;%0A%0Aimport org.apache.batik.transcoder.TranscoderException;%0Aimport org.apache.batik.transcoder.TranscoderInput;%0Aimport org.apache.batik.transcoder.TranscoderOutput;%0Aimport org.apache.batik.transcoder.image.PNGTranscoder;%0A%0Aclass Thumbnailer %7B%0A  PNGTranscoder t;%0A%0A  public Thumbnailer() %7B%0A    t = new PNGTranscoder();%0A  %7D%0A%0A  public File thumbnail(SVGPlot plot, int thumbnailsize) %7B%0A    t.addTranscodingHint(PNGTranscoder.KEY_WIDTH, new Float(thumbnailsize));%0A    t.addTranscodingHint(PNGTranscoder.KEY_HEIGHT, new Float(thumbnailsize));%0A    File temp = null;%0A    try %7B%0A      temp = File.createTempFile(%22elki-viz-%22, %22.png%22);%0A      temp.deleteOnExit();%0A      TranscoderInput input = new TranscoderInput(plot.getDocument());%0A      OutputStream obuf = new FileOutputStream(temp);%0A      TranscoderOutput output = new TranscoderOutput(obuf);%0A      t.transcode(input, output);%0A      obuf.flush();%0A      obuf.close();%0A    %7D%0A    catch(TranscoderException e) %7B%0A      e.printStackTrace();%0A    %7D%0A    catch(IOException e) %7B%0A      e.printStackTrace();%0A    %7D%0A    return temp;%0A  %7D%0A%7D

Refactor Thumbnailer code out of the visualization app, so it can be reused. Solve update synchronization issues (so thumbnails are shown even when the view had been hidden).