Mercurial > hg > de.mpg.mpiwg.itgroup.digilib.core
view src/de/mpg/mpiwg/itgroup/digilib/plugin/editors/DigilibLinkEditorPart.java @ 1:83c58ea33792
first release (continued)
author | dwinter |
---|---|
date | Mon, 03 Jan 2011 09:11:25 +0100 |
parents | |
children | e63a64652f4d |
line wrap: on
line source
package de.mpg.mpiwg.itgroup.digilib.plugin.editors; import java.io.IOException; import java.io.InputStream; import java.net.MalformedURLException; import java.net.URL; import java.util.Observable; import java.util.Observer; import info.textgrid.lab.linkeditor.mip.gui.ImagePanel; import org.eclipse.core.resources.IResourceChangeEvent; import org.eclipse.core.resources.IResourceChangeListener; import org.eclipse.core.runtime.CoreException; import org.eclipse.core.runtime.IProgressMonitor; import org.eclipse.swt.SWT; import org.eclipse.swt.custom.ScrolledComposite; import org.eclipse.swt.graphics.Cursor; import org.eclipse.swt.graphics.Image; import org.eclipse.swt.layout.FillLayout; import org.eclipse.swt.layout.GridLayout; import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Label; import org.eclipse.swt.widgets.Scale; import org.eclipse.ui.IEditorInput; import org.eclipse.ui.IEditorSite; import org.eclipse.ui.PartInitException; import org.eclipse.ui.part.EditorPart; import org.jdom.JDOMException; import de.mpg.mpiwg.itgroup.digilib.digiImage.DigiImage; import de.mpg.mpiwg.itgroup.digilib.digiImage.DigiImageController; import de.mpg.mpiwg.itgroup.digilib.digiImage.DigiImageParameter; import de.mpg.mpiwg.itgroup.digilib.digiImage.DigiNav; import de.mpg.mpiwg.itgroup.digilib.digiImage.exceptions.DigilibInputTypeException; import de.mpg.mpiwg.itgroup.indexMeta.Utils.ParseIndexMeta; /** * * @author dwinter * */ public class DigilibLinkEditorPart extends EditorPart implements IResourceChangeListener, Observer{ private ImagePanel imagePanel; private Composite mainComposite; private ScrolledComposite sc; public void resourceChanged(IResourceChangeEvent event) { // TODO Auto-generated method stub } @Override public void doSave(IProgressMonitor monitor) { // TODO Auto-generated method stub } @Override public void doSaveAs() { // TODO Auto-generated method stub } @Override public void init(IEditorSite site, IEditorInput input) throws PartInitException { setInput(input); setSite(site); } @Override public boolean isDirty() { // TODO Auto-generated method stub return false; } @Override public boolean isSaveAsAllowed() { // TODO Auto-generated method stub return false; } @Override public void createPartControl(Composite frame) { sc = new ScrolledComposite(frame, SWT.H_SCROLL | SWT.V_SCROLL); mainComposite = new Composite(sc,SWT.None); GridLayout imageLayout = new GridLayout(2,false); mainComposite.setLayout(imageLayout); sc.setContent(mainComposite); //sc.setMinSize(400, 400); URL url; DigilibLinkEditorInput input= (DigilibLinkEditorInput) getEditorInput(); String path=""; if (input.getType()==DigilibLinkEditorInput.INDEX_META){ ParseIndexMeta im; try { im = new ParseIndexMeta(input.getIndexMetaFile()); } catch (JDOMException e) { // TODO Auto-generated catch block e.printStackTrace(); return; } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); return; } catch (CoreException e) { // TODO Auto-generated catch block e.printStackTrace(); return; } try { path=im.getImagePath(); } catch (JDOMException e) { // TODO Auto-generated catch block e.printStackTrace(); return; } if (path==null) return; } else { //TODO: issue warning that type cannot be solved. return; } path=path.replace("/mpiwg/online", ""); DigiImageParameter dp = new DigiImageParameter(path); dp.setDh(500); dp.setDw(500); DigiImage digiImage = new DigiImage(mainComposite, SWT.BORDER, dp); DigiImageController digiImageController = new DigiImageController(digiImage); //imageComp.setBackgroundImage(img); DigiNav digiNav = new DigiNav(mainComposite,SWT.BORDER,digiImageController); sc.setMinSize(mainComposite.computeSize(SWT.DEFAULT, SWT.DEFAULT)); sc.setExpandHorizontal(true); sc.setExpandVertical(true); sc.layout(); DigilibLinkEditorObservable.INSTANCE.addObserver(this); } @Override public void setFocus() { // TODO Auto-generated method stub } public void update(Observable o, Object arg) { if (DigiImage.class.isInstance(arg)){ mainComposite.pack(); sc.setMinSize(mainComposite.computeSize(SWT.DEFAULT, SWT.DEFAULT)); sc.layout(); //sc.pack(); } else if (Integer.class.isInstance(arg)){ int b = (Integer) arg; Cursor waitCursor = new Cursor(mainComposite.getDisplay(),b); mainComposite.setCursor(waitCursor); } } }