annotate src/de/mpg/mpiwg/itgroup/digilib/plugin/editors/DigilibLinkEditorPart.java @ 9:e63a64652f4d

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