Math2mat
|
00001 00020 package m2m.frontend.view; 00021 00022 import org.eclipse.swt.SWT; 00023 import org.eclipse.swt.custom.ScrolledComposite; 00024 import org.eclipse.swt.events.PaintEvent; 00025 import org.eclipse.swt.events.PaintListener; 00026 import org.eclipse.swt.graphics.GC; 00027 import org.eclipse.swt.graphics.Image; 00028 import org.eclipse.swt.layout.FillLayout; 00029 import org.eclipse.swt.widgets.Canvas; 00030 import org.eclipse.swt.widgets.Composite; 00031 import org.eclipse.ui.part.ViewPart; 00032 00033 public class ImageViewer extends ViewPart { 00034 public static final String ID = "m2mgui.view.imageViewer"; 00035 00036 private Image myImage = null; 00037 private Canvas canvas; 00038 private ScrolledComposite scrolledComp; 00039 00040 @Override 00044 public void createPartControl(Composite parent) 00045 { 00046 parent.setLayout(new FillLayout()); 00047 scrolledComp = new ScrolledComposite(parent, SWT.H_SCROLL | SWT.V_SCROLL); 00048 canvas = new Canvas(scrolledComp, SWT.NONE); 00049 } 00050 00051 private boolean first=true; 00052 00053 public void setImage (String sImage) { 00054 setPartName(sImage.substring(sImage.replace("\\", "/").lastIndexOf("/")+1)); 00055 myImage = new Image(null, sImage); 00056 canvas.setSize(myImage.getBounds().width+30, myImage.getBounds().height+30); 00057 00058 if (first) { 00059 first=false; 00060 scrolledComp.setContent(canvas); 00061 canvas.addPaintListener(new PaintListener() { 00062 public void paintControl(PaintEvent e){ 00063 GC gc = e.gc; 00064 gc.drawImage(myImage,10,10); 00065 } 00066 }); 00067 } 00068 } 00069 00070 @Override 00071 public void setFocus() { 00072 // TODO Auto-generated method stub 00073 } 00074 }