1 package com.nightlabs.rcp.io; 2 3 import java.beans.PropertyChangeEvent ; 4 import java.beans.PropertyChangeListener ; 5 6 import org.eclipse.jface.wizard.ProgressMonitorPart; 7 import org.eclipse.swt.SWT; 8 import org.eclipse.swt.widgets.Composite; 9 import org.eclipse.swt.widgets.Layout; 10 11 import com.nightlabs.io.IOFilterWithProgress; 12 13 public class IOFilterProgressMonitorPart 14 extends ProgressMonitorPart 15 { 16 protected IOFilterWithProgress ioFilter; 17 public IOFilterProgressMonitorPart(IOFilterWithProgress ioFilter, Composite parent, Layout layout) { 18 this(ioFilter, parent, layout, SWT.DEFAULT); 19 } 20 21 public IOFilterProgressMonitorPart(IOFilterWithProgress ioFilter, Composite parent, Layout layout, int style) { 22 super(parent, layout, style); 23 this.ioFilter = ioFilter; 24 ioFilter.addPropertyChangeListener(progressListener); 25 beginTask(ioFilter.getDescription(), ioFilter.getTotalWork()); 26 } 27 28 protected PropertyChangeListener progressListener = new PropertyChangeListener (){ 29 public void propertyChange(PropertyChangeEvent evt) { 30 Object newValue = evt.getNewValue(); 31 if (newValue instanceof Integer ) { 32 int work = ((Integer )newValue).intValue(); 33 internalWorked(work); 34 } 35 } 36 }; 37 38 } 39 | Popular Tags |