Mercurial > hg > de.mpg.mpiwg.itgroup.digilib.core
comparison 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 |
comparison
equal
deleted
inserted
replaced
0:6829553d2378 | 1:83c58ea33792 |
---|---|
1 package de.mpg.mpiwg.itgroup.digilib.plugin.editors; | |
2 | |
3 | |
4 import java.io.IOException; | |
5 import java.io.InputStream; | |
6 import java.net.MalformedURLException; | |
7 import java.net.URL; | |
8 import java.util.Observable; | |
9 import java.util.Observer; | |
10 | |
11 import info.textgrid.lab.linkeditor.mip.gui.ImagePanel; | |
12 | |
13 import org.eclipse.core.resources.IResourceChangeEvent; | |
14 import org.eclipse.core.resources.IResourceChangeListener; | |
15 import org.eclipse.core.runtime.CoreException; | |
16 import org.eclipse.core.runtime.IProgressMonitor; | |
17 import org.eclipse.swt.SWT; | |
18 import org.eclipse.swt.custom.ScrolledComposite; | |
19 import org.eclipse.swt.graphics.Cursor; | |
20 import org.eclipse.swt.graphics.Image; | |
21 import org.eclipse.swt.layout.FillLayout; | |
22 import org.eclipse.swt.layout.GridLayout; | |
23 import org.eclipse.swt.widgets.Composite; | |
24 import org.eclipse.swt.widgets.Label; | |
25 import org.eclipse.swt.widgets.Scale; | |
26 import org.eclipse.ui.IEditorInput; | |
27 import org.eclipse.ui.IEditorSite; | |
28 import org.eclipse.ui.PartInitException; | |
29 import org.eclipse.ui.part.EditorPart; | |
30 import org.jdom.JDOMException; | |
31 | |
32 import de.mpg.mpiwg.itgroup.digilib.digiImage.DigiImage; | |
33 import de.mpg.mpiwg.itgroup.digilib.digiImage.DigiImageController; | |
34 import de.mpg.mpiwg.itgroup.digilib.digiImage.DigiImageParameter; | |
35 import de.mpg.mpiwg.itgroup.digilib.digiImage.DigiNav; | |
36 import de.mpg.mpiwg.itgroup.digilib.digiImage.exceptions.DigilibInputTypeException; | |
37 import de.mpg.mpiwg.itgroup.indexMeta.Utils.ParseIndexMeta; | |
38 | |
39 /** | |
40 * | |
41 * @author dwinter | |
42 * | |
43 */ | |
44 public class DigilibLinkEditorPart extends EditorPart implements IResourceChangeListener, Observer{ | |
45 | |
46 private ImagePanel imagePanel; | |
47 private Composite mainComposite; | |
48 private ScrolledComposite sc; | |
49 | |
50 public void resourceChanged(IResourceChangeEvent event) { | |
51 // TODO Auto-generated method stub | |
52 | |
53 } | |
54 | |
55 @Override | |
56 public void doSave(IProgressMonitor monitor) { | |
57 // TODO Auto-generated method stub | |
58 | |
59 } | |
60 | |
61 @Override | |
62 public void doSaveAs() { | |
63 // TODO Auto-generated method stub | |
64 | |
65 } | |
66 | |
67 @Override | |
68 public void init(IEditorSite site, IEditorInput input) | |
69 throws PartInitException { | |
70 setInput(input); | |
71 setSite(site); | |
72 | |
73 } | |
74 | |
75 @Override | |
76 public boolean isDirty() { | |
77 // TODO Auto-generated method stub | |
78 return false; | |
79 } | |
80 | |
81 @Override | |
82 public boolean isSaveAsAllowed() { | |
83 // TODO Auto-generated method stub | |
84 return false; | |
85 } | |
86 | |
87 @Override | |
88 public void createPartControl(Composite frame) { | |
89 | |
90 sc = new ScrolledComposite(frame, SWT.H_SCROLL | SWT.V_SCROLL); | |
91 mainComposite = new Composite(sc,SWT.None); | |
92 | |
93 GridLayout imageLayout = new GridLayout(2,false); | |
94 mainComposite.setLayout(imageLayout); | |
95 sc.setContent(mainComposite); | |
96 //sc.setMinSize(400, 400); | |
97 | |
98 URL url; | |
99 | |
100 DigilibLinkEditorInput input= (DigilibLinkEditorInput) getEditorInput(); | |
101 String path=""; | |
102 if (input.getType()==DigilibLinkEditorInput.INDEX_META){ | |
103 ParseIndexMeta im; | |
104 try { | |
105 im = new ParseIndexMeta(input.getIndexMetaFile()); | |
106 } catch (JDOMException e) { | |
107 // TODO Auto-generated catch block | |
108 e.printStackTrace(); | |
109 return; | |
110 } catch (IOException e) { | |
111 // TODO Auto-generated catch block | |
112 e.printStackTrace(); | |
113 return; | |
114 } catch (CoreException e) { | |
115 // TODO Auto-generated catch block | |
116 e.printStackTrace(); | |
117 return; | |
118 } | |
119 try { | |
120 path=im.getImagePath(); | |
121 } catch (JDOMException e) { | |
122 // TODO Auto-generated catch block | |
123 e.printStackTrace(); | |
124 return; | |
125 } | |
126 if (path==null) | |
127 return; | |
128 } else { | |
129 //TODO: issue warning that type cannot be solved. | |
130 return; | |
131 } | |
132 | |
133 | |
134 path=path.replace("/mpiwg/online", ""); | |
135 DigiImageParameter dp = new DigiImageParameter(path); | |
136 dp.setDh(500); | |
137 dp.setDw(500); | |
138 | |
139 | |
140 DigiImage digiImage = new DigiImage(mainComposite, SWT.BORDER, dp); | |
141 DigiImageController digiImageController = new DigiImageController(digiImage); | |
142 //imageComp.setBackgroundImage(img); | |
143 DigiNav digiNav = new DigiNav(mainComposite,SWT.BORDER,digiImageController); | |
144 | |
145 sc.setMinSize(mainComposite.computeSize(SWT.DEFAULT, SWT.DEFAULT)); | |
146 sc.setExpandHorizontal(true); | |
147 sc.setExpandVertical(true); | |
148 sc.layout(); | |
149 DigilibLinkEditorObservable.INSTANCE.addObserver(this); | |
150 | |
151 } | |
152 | |
153 @Override | |
154 public void setFocus() { | |
155 // TODO Auto-generated method stub | |
156 | |
157 } | |
158 | |
159 public void update(Observable o, Object arg) { | |
160 if (DigiImage.class.isInstance(arg)){ | |
161 mainComposite.pack(); | |
162 sc.setMinSize(mainComposite.computeSize(SWT.DEFAULT, SWT.DEFAULT)); | |
163 sc.layout(); | |
164 //sc.pack(); | |
165 | |
166 } else if (Integer.class.isInstance(arg)){ | |
167 int b = (Integer) arg; | |
168 | |
169 Cursor waitCursor = new Cursor(mainComposite.getDisplay(),b); | |
170 mainComposite.setCursor(waitCursor); | |
171 | |
172 | |
173 } | |
174 | |
175 } | |
176 | |
177 | |
178 | |
179 } |