Math2mat

/home/ythoma/docs/math2mat/svn/wp1/framework/m2mGUI/src/m2m/frontend/view/ImageViewer.java

Go to the documentation of this file.
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 }
 All Classes Namespaces Files Functions Variables Enumerations