annotate src/de/mpg/mpiwg/itgroup/digilib/plugin/editors/DigilibLinkEditorPart.java @ 28:0205c3f41d1d default tip

repackaging (separate textgridlab and dgilib local parts more rigorously
author dwinter
date Fri, 24 Aug 2012 09:42:57 +0200
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
28
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
1 // TODO: Navigationselemente sollen nach Eclipserichtlinien in den local (view) toolbar (http://www.eclipse.org/articles/Article-UI-Guidelines/Contents.html)
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
2
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
3 package de.mpg.mpiwg.itgroup.digilib.plugin.editors;
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
4
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
5
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
6 //
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
7 //import info.textgrid.lab.core.model.TGContentType;
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
8 //import info.textgrid.lab.core.model.TextGridObject;
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
9 //import info.textgrid.lab.core.model.TextGridProject;
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
10 //import info.textgrid.lab.core.swtutils.AdapterUtils;
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
11 import de.mpg.mpiwg.itgroup.digilib.digiImage.Messages;
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
12
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
13 import java.io.ByteArrayInputStream;
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
14 import java.io.ByteArrayOutputStream;
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
15 import java.io.File;
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
16 import java.io.IOException;
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
17 import java.io.OutputStream;
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
18 import java.net.URI;
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
19 import java.util.Observable;
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
20 import java.util.Observer;
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
21
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
22 import javax.xml.transform.stream.StreamResult;
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
23
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
24 import org.eclipse.core.filesystem.EFS;
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
25 import org.eclipse.core.filesystem.IFileStore;
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
26 import org.eclipse.core.resources.IFile;
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
27 import org.eclipse.core.runtime.CoreException;
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
28 import org.eclipse.core.runtime.IAdaptable;
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
29 import org.eclipse.core.runtime.IProgressMonitor;
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
30 import org.eclipse.core.runtime.IStatus;
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
31 import org.eclipse.core.runtime.NullProgressMonitor;
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
32 import org.eclipse.core.runtime.Platform;
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
33 import org.eclipse.core.runtime.Status;
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
34 import org.eclipse.core.runtime.jobs.Job;
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
35 import org.eclipse.jface.dialogs.IInputValidator;
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
36 import org.eclipse.jface.dialogs.InputDialog;
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
37 import org.eclipse.jface.dialogs.MessageDialog;
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
38 import org.eclipse.jface.viewers.StructuredSelection;
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
39 import org.eclipse.jface.window.Window;
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
40 import org.eclipse.osgi.util.NLS;
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
41 import org.eclipse.swt.SWT;
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
42 import org.eclipse.swt.custom.ScrolledComposite;
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
43 import org.eclipse.swt.graphics.Cursor;
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
44 import org.eclipse.swt.graphics.Point;
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
45 import org.eclipse.swt.layout.FillLayout;
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
46 import org.eclipse.swt.layout.GridLayout;
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
47 import org.eclipse.swt.widgets.Composite;
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
48 import org.eclipse.swt.widgets.FileDialog;
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
49 import org.eclipse.swt.widgets.Layout;
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
50 import org.eclipse.ui.IEditorInput;
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
51 import org.eclipse.ui.IEditorSite;
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
52 import org.eclipse.ui.IFileEditorInput;
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
53 import org.eclipse.ui.PartInitException;
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
54 import org.eclipse.ui.ide.FileStoreEditorInput;
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
55 import org.eclipse.ui.part.EditorPart;
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
56 import org.eclipse.ui.progress.UIJob;
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
57 import org.eclipse.ui.statushandlers.StatusManager;
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
58 import org.eclipse.ui.views.properties.IPropertySheetPage;
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
59 import org.eclipse.ui.views.properties.tabbed.ITabbedPropertySheetPageContributor;
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
60 import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage;
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
61 import org.jdom.JDOMException;
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
62
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
63 import de.mpg.mpiwg.itgroup.digilib.core.plugin.Activator;
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
64
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
65 import de.mpg.mpiwg.itgroup.digilib.digiImage.DigiImage;
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
66 import de.mpg.mpiwg.itgroup.digilib.digiImage.DigiImageController;
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
67 import de.mpg.mpiwg.itgroup.digilib.digiImage.DigiImageParameter;
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
68 import de.mpg.mpiwg.itgroup.digilib.digiImage.DigiNav;
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
69 import de.mpg.mpiwg.itgroup.digilib.digiImage.IDigiImage;
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
70 import de.mpg.mpiwg.itgroup.digilib.digiImage.ImageLayout;
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
71 import de.mpg.mpiwg.itgroup.digilib.digiImage.TextGridDigiImage;
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
72 import de.mpg.mpiwg.itgroup.indexMeta.Utils.ParseIndexMeta;
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
73
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
74 /**
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
75 * Displays an image with digilib an allows image manipulation on the image.
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
76 * TODO: textgrid elemente sollten in eine Extraklasse
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
77 *
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
78 * @author dwinter
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
79 *
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
80 */
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
81 public class DigilibLinkEditorPart extends EditorPart implements Observer, ITabbedPropertySheetPageContributor, IDigilibLinkEditorPart{
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
82
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
83 private static final int SIZE_DH = 1000;
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
84 private static final int SIZE_DW = 1000;
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
85 private Composite mainComposite;
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
86 private ScrolledComposite sc;
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
87 private TabbedPropertySheetPage tp=null;
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
88 private DigiImageParameter dp = null;
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
89 private boolean dirty;
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
90 private IDigiImage digiImage;
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
91 //private TextGridProject textGridProject;
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
92 private Composite imageComposite;
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
93
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
94 /* (non-Javadoc)
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
95 * @see org.eclipse.ui.part.EditorPart#doSave(org.eclipse.core.runtime.IProgressMonitor)
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
96 *
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
97 * Abgespeichert werden die Parameter des Digilib-Objektes als ein JSON object
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
98 * FIXME: doSave erkennt nicht richtig den Filenamen wird daher immer zu saveas
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
99 */
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
100 /* (non-Javadoc)
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
101 * @see de.mpg.mpiwg.itgroup.digilib.plugin.editors.IDigilibLinkEditorPart#doSave(org.eclipse.core.runtime.IProgressMonitor)
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
102 */
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
103 @Override
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
104
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
105 public void doSave(final IProgressMonitor monitor) {
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
106 if (dp== null)
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
107 return;
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
108
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
109 final IFile file = getAdapter(getEditorInput(), IFile.class);
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
110 if (file != null) {
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
111 final ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
112 try {
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
113 dp.save(outputStream);
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
114 file.setContents(new ByteArrayInputStream(outputStream.toByteArray()), true, true, monitor);
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
115 setDirty(false);
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
116
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
117 } catch (final CoreException e) {
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
118 StatusManager.getManager().handle(e, Activator.PLUGIN_ID);
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
119 }
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
120 } else if (getEditorInput() instanceof FileStoreEditorInput) {
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
121 final URI targetURI = ((FileStoreEditorInput) getEditorInput()).getURI();
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
122 try {
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
123 final IFileStore store = EFS.getStore(targetURI);
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
124 final OutputStream outputStream = store.openOutputStream(EFS.NONE, monitor);
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
125 dp.save(outputStream);
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
126 outputStream.close();
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
127 setDirty(false);
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
128 } catch (final CoreException e) {
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
129 StatusManager.getManager().handle(e, Activator.PLUGIN_ID);
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
130 } catch (final IOException e) {
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
131 StatusManager.getManager().handle(
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
132 new Status(IStatus.ERROR, Activator.PLUGIN_ID, NLS.bind(
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
133 "save failed", targetURI,
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
134 e.getLocalizedMessage()), e), StatusManager.LOG | StatusManager.SHOW);
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
135 }
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
136 } else {
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
137 doSaveAs();
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
138 }
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
139 }
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
140
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
141
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
142 /* (non-Javadoc)
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
143 * @see de.mpg.mpiwg.itgroup.digilib.plugin.editors.IDigilibLinkEditorPart#doSaveAs()
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
144 */
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
145 @Override
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
146
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
147 public void doSaveAs() {
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
148 int selection = new MessageDialog(getSite().getShell(), "save as title", null,
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
149 Messages.DiglibLinkEditor_Save_As_What, MessageDialog.QUESTION_WITH_CANCEL, new String[] {
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
150 Messages.DiglibLinkEditor_TextGridRep, Messages.DiglibLinkEditor_Local_File, Messages.DiglibLinkEditor_Cancel }, 1 ).open();
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
151 switch (selection) {
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
152 case 0:
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
153 //saveAsTextGridObject(true);
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
154 break;
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
155 case 1:
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
156 saveAsLocalFile();
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
157 break;
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
158 }
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
159 }
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
160
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
161 // public void saveAsTextGridObject(boolean forceNew) {
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
162 // TextGridObject object = null;
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
163 // if (getEditorInput() instanceof IFileEditorInput)
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
164 // object = AdapterUtils.getAdapter(((IFileEditorInput) getEditorInput()).getFile(), TextGridObject.class);
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
165 // if (object == null || forceNew) {
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
166 // object = TextGridObject.getNewObjectInstance(textGridProject,
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
167 // TGContentType.of(Activator.CONTENT_TYPE_ID));
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
168 // final InputDialog dialog = new InputDialog(
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
169 // getSite().getShell(),
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
170 // Messages.DiglibLinkEditor_Save_as_TextGrid_Title,
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
171 // NLS.bind(
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
172 // Messages.DiglibLinkEditor_Save_to_Target_Project,
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
173 // textGridProject), "", new IInputValidator() { //$NON-NLS-1$
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
174 //
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
175 // @Override
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
176 // public String isValid(final String newText) {
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
177 // if (newText == null || newText.trim().isEmpty()) {
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
178 // return Messages.DigilibLinkEditor_Title_Validation_Warning;
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
179 // } else
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
180 // return null;
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
181 // }
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
182 // });
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
183 // if (dialog.open() != Window.CANCEL) {
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
184 // object.setTitle(dialog.getValue().trim());
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
185 // } else {
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
186 // return;
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
187 // }
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
188 //
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
189 // final IEditorInput input = AdapterUtils.getAdapter(object, IEditorInput.class);
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
190 // setInputWithNotify(input);
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
191 // }
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
192 // new Job(NLS.bind(Messages.DiglibLinkEditor_Saving_x, object)) {
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
193 //
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
194 // @Override
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
195 // protected IStatus run(final IProgressMonitor monitor) {
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
196 // doSave(monitor);
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
197 // if (monitor.isCanceled())
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
198 // return Status.CANCEL_STATUS;
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
199 // return Status.OK_STATUS;
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
200 // }
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
201 // }.schedule();
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
202 // }
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
203 //
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
204 //
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
205
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
206
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
207 /* (non-Javadoc)
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
208 * @see de.mpg.mpiwg.itgroup.digilib.plugin.editors.IDigilibLinkEditorPart#saveAsLocalFile()
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
209 */
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
210 @Override
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
211 public void saveAsLocalFile() {
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
212 final FileDialog fileDialog = new FileDialog(getSite().getShell(), SWT.SAVE);
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
213 //fileDialog.setFilterExtensions(new String[] { "." //$NON-NLS-1$
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
214 // + TGContentType.getContentType(Activator.CONTENT_TYPE_ID).getExtension() });
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
215 //fileDialog.setFilterNames(new String[] { TGContentType.getContentType(Activator.CONTENT_TYPE_ID).getDescription() });
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
216 fileDialog.setText(Messages.DiglibLinkEditor_SaveImportSpecAsTitle);
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
217 final String fileName = fileDialog.open();
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
218 if (fileName != null) {
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
219 final URI fileURI = new File(fileName).toURI();
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
220 try {
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
221 final FileStoreEditorInput input = new FileStoreEditorInput(EFS.getStore(fileURI));
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
222 setPartName(input.getName());
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
223 setInputWithNotify(input);
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
224 doSave(new NullProgressMonitor());
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
225 } catch (final CoreException e) {
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
226 StatusManager.getManager().handle(e, Activator.PLUGIN_ID);
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
227 }
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
228 }
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
229 }
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
230
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
231
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
232 /* (non-Javadoc)
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
233 * @see de.mpg.mpiwg.itgroup.digilib.plugin.editors.IDigilibLinkEditorPart#init(org.eclipse.ui.IEditorSite, org.eclipse.ui.IEditorInput)
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
234 */
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
235
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
236 @Override
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
237 public void init(IEditorSite site, IEditorInput input)
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
238 throws PartInitException {
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
239 setInput(input);
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
240 setSite(site);
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
241
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
242 }
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
243
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
244 /* (non-Javadoc)
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
245 * @see de.mpg.mpiwg.itgroup.digilib.plugin.editors.IDigilibLinkEditorPart#isDirty()
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
246 */
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
247
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
248 @Override
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
249 public boolean isDirty() {
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
250 return dirty;
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
251 }
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
252
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
253 /* (non-Javadoc)
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
254 * @see de.mpg.mpiwg.itgroup.digilib.plugin.editors.IDigilibLinkEditorPart#isSaveAsAllowed()
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
255 */
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
256 @Override
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
257
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
258 public boolean isSaveAsAllowed() {
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
259 // TODO Auto-generated method stub
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
260 return false;
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
261 }
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
262
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
263 /* (non-Javadoc)
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
264 * @see de.mpg.mpiwg.itgroup.digilib.plugin.editors.IDigilibLinkEditorPart#createPartControl(org.eclipse.swt.widgets.Composite)
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
265 */
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
266 @Override
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
267
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
268 public void createPartControl(Composite frame) {
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
269
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
270 sc = new ScrolledComposite(frame, SWT.H_SCROLL | SWT.V_SCROLL);
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
271 mainComposite = new Composite(sc,SWT.None);
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
272
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
273 GridLayout imageLayout = new GridLayout(2,false);
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
274 mainComposite.setLayout(imageLayout);
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
275
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
276 Layout imgLayout = new ImageLayout();
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
277 imageComposite = new Composite(mainComposite,SWT.None);
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
278 imageComposite.setLayout(imgLayout);
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
279 sc.setContent(mainComposite);
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
280 //sc.setMinSize(400, 400);
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
281
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
282
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
283
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
284 DigilibLinkEditorInput input= (DigilibLinkEditorInput) getEditorInput();
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
285
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
286 String path="";
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
287
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
288 sc.layout();
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
289 Point size = sc.getSize();
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
290
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
291 //this.getViewer().
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
292
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
293
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
294 int dh = SIZE_DH;
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
295 int dw = SIZE_DW;
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
296
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
297 if (input.getType()==DigilibLinkEditorInput.INDEX_META){
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
298 ParseIndexMeta im;
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
299 try {
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
300 im = new ParseIndexMeta(input.getFile());
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
301 } catch (JDOMException e) {
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
302 // TODO Auto-generated catch block
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
303 e.printStackTrace();
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
304 return;
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
305 } catch (IOException e) {
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
306 // TODO Auto-generated catch block
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
307 e.printStackTrace();
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
308 return;
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
309 } catch (CoreException e) {
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
310 // TODO Auto-generated catch block
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
311 e.printStackTrace();
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
312 return;
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
313 }
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
314 try {
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
315 path=im.getImagePath();
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
316 path=path.replace("/mpiwg/online", "");
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
317 dp = new DigiImageParameter(path);
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
318 dp.setType(input.getType());
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
319 dp.setDh(dh);
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
320 dp.setDw(dw);
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
321 //dp.setDh(SIZE_DH);
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
322 //dp.setDw(SIZE_DW);
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
323 digiImage = new DigiImage(mainComposite, SWT.BORDER, dp);
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
324 } catch (JDOMException e) {
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
325 // TODO Auto-generated catch block
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
326 e.printStackTrace();
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
327 return;
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
328 }
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
329 if (path==null)
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
330 return;
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
331 } else if (input.getType()==DigilibLinkEditorInput.TEXTGRID){
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
332 path = input.getUri().toASCIIString();
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
333
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
334 dp = input.getParameter();
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
335 if (dp==null){
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
336 dp = new DigiImageParameter(path);
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
337 }
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
338 dp.setType(input.getType());
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
339 dp.setDh(SIZE_DH);
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
340 dp.setDw(SIZE_DW);
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
341 digiImage = new TextGridDigiImage(imageComposite, SWT.BORDER, dp,input.getSid());
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
342
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
343 } else {
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
344 //TODO: issue warning that type cannot be solved.
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
345 return;
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
346 }
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
347
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
348
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
349
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
350
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
351
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
352
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
353 DigiImageController digiImageController = new DigiImageController(digiImage);
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
354 //imageComp.setBackgroundImage(img);
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
355 new DigiNav(mainComposite,SWT.NONE,digiImageController);
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
356
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
357 getSite().setSelectionProvider(digiImage);
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
358 //StructuredSelection strucSel = new StructuredSelection(digiImage);
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
359 digiImage.setSelection(new StructuredSelection(digiImage));
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
360
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
361 sc.setMinSize(mainComposite.computeSize(SWT.DEFAULT, SWT.DEFAULT));
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
362 sc.setExpandHorizontal(true);
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
363 sc.setExpandVertical(true);
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
364 sc.layout();
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
365 DigilibLinkEditorObservable.INSTANCE.addObserver(this);
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
366
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
367 //setSelection( digiImage);
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
368 }
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
369
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
370 /* (non-Javadoc)
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
371 * @see de.mpg.mpiwg.itgroup.digilib.plugin.editors.IDigilibLinkEditorPart#setFocus()
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
372 */
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
373 @Override
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
374
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
375 public void setFocus() {
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
376 // TODO Auto-generated method stub
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
377
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
378 }
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
379
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
380 /* (non-Javadoc)
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
381 * @see java.util.Observer#update(java.util.Observable, java.lang.Object)
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
382 * Called from the observable
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
383 */
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
384 /* (non-Javadoc)
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
385 * @see de.mpg.mpiwg.itgroup.digilib.plugin.editors.IDigilibLinkEditorPart#update(java.util.Observable, java.lang.Object)
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
386 */
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
387 @Override
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
388 public void update(Observable o, Object arg) {
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
389 /*
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
390 * If the argument ist digiImage then rerender the editor and update the properties
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
391 */
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
392 if (IDigiImage.class.isInstance(arg)){
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
393
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
394 mainComposite.pack();
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
395
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
396 sc.setMinSize(mainComposite.computeSize(SWT.DEFAULT, SWT.DEFAULT));
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
397 sc.layout();
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
398 dirty=true;
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
399 firePropertyChange(PROP_DIRTY);
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
400
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
401 //Object[] ls = getListeners();
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
402 //System.out.println(ls);
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
403
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
404 if (tp!=null)
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
405 tp.refresh();
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
406
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
407
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
408 } else if (Integer.class.isInstance(arg)){
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
409 //if it is in integer then the argument is the status of the cursor
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
410 int b = (Integer) arg;
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
411
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
412
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
413 try {
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
414 Cursor waitCursor = new Cursor(mainComposite.getDisplay(), b);
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
415 mainComposite.setCursor(waitCursor);
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
416 } catch (Exception e) {
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
417 // TODO: handle exception
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
418
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
419 }
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
420
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
421 }
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
422
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
423
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
424 }
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
425
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
426 /* (non-Javadoc)
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
427 * @see de.mpg.mpiwg.itgroup.digilib.plugin.editors.IDigilibLinkEditorPart#getDigiImage()
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
428 */
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
429 @Override
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
430 public IDigiImage getDigiImage(){
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
431 return digiImage;
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
432
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
433
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
434
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
435 }
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
436 /* (non-Javadoc)
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
437 * @see org.eclipse.ui.views.properties.tabbed.ITabbedPropertySheetPageContributor#getContributorId()
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
438 */
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
439 /* (non-Javadoc)
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
440 * @see de.mpg.mpiwg.itgroup.digilib.plugin.editors.IDigilibLinkEditorPart#getContributorId()
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
441 */
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
442 @Override
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
443 public String getContributorId() {
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
444 String contribId = getSite().getId();
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
445 return contribId;
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
446 }
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
447
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
448 /* (non-Javadoc)
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
449 * @see org.eclipse.ui.part.WorkbenchPart#getAdapter(java.lang.Class)
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
450 */
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
451 /* (non-Javadoc)
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
452 * @see de.mpg.mpiwg.itgroup.digilib.plugin.editors.IDigilibLinkEditorPart#getAdapter(java.lang.Class)
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
453 */
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
454 @Override
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
455 @SuppressWarnings("rawtypes")
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
456 public Object getAdapter(Class adapter) {
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
457 if (adapter == IPropertySheetPage.class){
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
458
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
459 tp = new TabbedPropertySheetPage(this);
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
460 return tp;
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
461 }
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
462 return super.getAdapter(adapter);
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
463 }
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
464
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
465 void setDirty(final boolean dirty) {
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
466 this.dirty = dirty;
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
467 UIJob uiJob = new UIJob("Set dirty") { //$NON-NLS-1$
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
468
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
469 public IStatus runInUIThread(IProgressMonitor monitor) {
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
470 firePropertyChange(PROP_DIRTY);
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
471 return Status.OK_STATUS;
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
472 }
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
473 };
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
474 uiJob.setSystem(true);
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
475 uiJob.schedule();
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
476 }
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
477
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
478
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
479 public static <T> T getAdapter(Object source, Class<T> type) {
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
480
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
481 if (source == null)
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
482 return null;
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
483
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
484 if (type.isInstance(source))
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
485 return (T) source;
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
486
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
487 if (source instanceof IAdaptable)
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
488 return (T) ((IAdaptable) source).getAdapter(type);
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
489
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
490 return (T) Platform.getAdapterManager().getAdapter(source, type);
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
491 }
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
492
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
493
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
494 // public void setTextGridProject(TextGridProject project) {
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
495 // this.textGridProject=project;
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
496 //
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
497 // }
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
498
0205c3f41d1d repackaging (separate textgridlab and dgilib local parts more rigorously
dwinter
parents:
diff changeset
499 }