ResizeListener.java

Go to the documentation of this file.
00001 package edu.rice.cs.hpc.traceviewer.painter;
00002 
00003 import org.eclipse.swt.SWT;
00004 import org.eclipse.swt.events.ControlEvent;
00005 import org.eclipse.swt.events.ControlListener;
00006 import org.eclipse.swt.widgets.Display;
00007 import org.eclipse.swt.widgets.Event;
00008 import org.eclipse.swt.widgets.Listener;
00009 
00010 public class ResizeListener implements ControlListener, Runnable, Listener 
00011 {
00012     final private BufferPaint buffer;
00013     private long lastEvent = 0;
00014     private boolean mouse = true;
00015 
00016     public ResizeListener(BufferPaint buffer) {
00017         this.buffer = buffer;
00018     }
00019     
00020     public void controlMoved(ControlEvent e) {
00021     }
00022 
00023     public void controlResized(ControlEvent e) {
00024         lastEvent = System.currentTimeMillis();
00025         Display.getDefault().timerExec(500, this);
00026     }
00027 
00028     public void run() {
00029         if ((lastEvent + 500) < System.currentTimeMillis() && mouse) 
00030         {
00031             buffer.rebuffering();
00032         } else {
00033             Display.getDefault().timerExec(500, this);
00034         }
00035     }
00036     public void handleEvent(Event event) {
00037         mouse = event.type == SWT.MouseUp;
00038     }
00039 
00040 }

Generated on 5 May 2015 for HPCVIEWER by  doxygen 1.6.1