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 }