Mercurial > hg > de.mpg.mpiwg.itgroup.digilib.core
comparison src/de/mpg/mpiwg/itgroup/digilib/plugin/editors/DigilibLinkEditorPart.java @ 25:6e7bb3467531
new property view
author | dwinter |
---|---|
date | Mon, 10 Jan 2011 11:38:03 +0100 |
parents | 1a7940ac5169 |
children | 183c3e96f6c3 |
comparison
equal
deleted
inserted
replaced
24:1a7940ac5169 | 25:6e7bb3467531 |
---|---|
14 import org.eclipse.swt.layout.GridLayout; | 14 import org.eclipse.swt.layout.GridLayout; |
15 import org.eclipse.swt.widgets.Composite; | 15 import org.eclipse.swt.widgets.Composite; |
16 import org.eclipse.ui.IEditorInput; | 16 import org.eclipse.ui.IEditorInput; |
17 import org.eclipse.ui.IEditorSite; | 17 import org.eclipse.ui.IEditorSite; |
18 import org.eclipse.ui.IPageLayout; | 18 import org.eclipse.ui.IPageLayout; |
19 import org.eclipse.ui.IPartService; | |
19 import org.eclipse.ui.IViewPart; | 20 import org.eclipse.ui.IViewPart; |
20 import org.eclipse.ui.IWorkbenchPage; | 21 import org.eclipse.ui.IWorkbenchPage; |
21 import org.eclipse.ui.PartInitException; | 22 import org.eclipse.ui.PartInitException; |
23 import org.eclipse.ui.internal.WWinPartService; | |
22 import org.eclipse.ui.part.EditorPart; | 24 import org.eclipse.ui.part.EditorPart; |
25 import org.eclipse.ui.views.properties.IPropertySheetPage; | |
23 import org.eclipse.ui.views.properties.PropertySheet; | 26 import org.eclipse.ui.views.properties.PropertySheet; |
24 import org.eclipse.ui.views.properties.PropertySheetPage; | 27 import org.eclipse.ui.views.properties.PropertySheetPage; |
28 import org.eclipse.ui.views.properties.tabbed.ITabbedPropertySheetPageContributor; | |
29 import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; | |
25 import org.jdom.JDOMException; | 30 import org.jdom.JDOMException; |
26 | 31 |
27 import de.mpg.mpiwg.itgroup.digilib.digiImage.DigiImage; | 32 import de.mpg.mpiwg.itgroup.digilib.digiImage.DigiImage; |
28 import de.mpg.mpiwg.itgroup.digilib.digiImage.DigiImageController; | 33 import de.mpg.mpiwg.itgroup.digilib.digiImage.DigiImageController; |
29 import de.mpg.mpiwg.itgroup.digilib.digiImage.DigiImageParameter; | 34 import de.mpg.mpiwg.itgroup.digilib.digiImage.DigiImageParameter; |
30 import de.mpg.mpiwg.itgroup.digilib.digiImage.DigiNav; | 35 import de.mpg.mpiwg.itgroup.digilib.digiImage.DigiNav; |
36 import de.mpg.mpiwg.itgroup.digilib.plugin.Activator; | |
31 import de.mpg.mpiwg.itgroup.indexMeta.Utils.ParseIndexMeta; | 37 import de.mpg.mpiwg.itgroup.indexMeta.Utils.ParseIndexMeta; |
32 | 38 |
33 /** | 39 /** |
34 * Displays an image with digilib an allows image manipulation on the image. | 40 * Displays an image with digilib an allows image manipulation on the image. |
35 * | 41 * |
36 * @author dwinter | 42 * @author dwinter |
37 * | 43 * |
38 */ | 44 */ |
39 public class DigilibLinkEditorPart extends EditorPart implements Observer{ | 45 public class DigilibLinkEditorPart extends EditorPart implements Observer, ITabbedPropertySheetPageContributor{ |
40 | 46 |
41 private Composite mainComposite; | 47 private Composite mainComposite; |
42 private ScrolledComposite sc; | 48 private ScrolledComposite sc; |
49 private boolean isDirty; | |
50 private TabbedPropertySheetPage tp=null; | |
43 @Override | 51 @Override |
44 public void doSave(IProgressMonitor monitor) { | 52 public void doSave(IProgressMonitor monitor) { |
45 // TODO Auto-generated method stub | 53 // TODO Auto-generated method stub |
46 | 54 |
47 } | 55 } |
60 | 68 |
61 } | 69 } |
62 | 70 |
63 @Override | 71 @Override |
64 public boolean isDirty() { | 72 public boolean isDirty() { |
65 // TODO Auto-generated method stub | 73 return isDirty; |
66 return false; | |
67 } | 74 } |
68 | 75 |
69 @Override | 76 @Override |
70 public boolean isSaveAsAllowed() { | 77 public boolean isSaveAsAllowed() { |
71 // TODO Auto-generated method stub | 78 // TODO Auto-generated method stub |
129 DigiImageController digiImageController = new DigiImageController(digiImage); | 136 DigiImageController digiImageController = new DigiImageController(digiImage); |
130 //imageComp.setBackgroundImage(img); | 137 //imageComp.setBackgroundImage(img); |
131 new DigiNav(mainComposite,SWT.NONE,digiImageController); | 138 new DigiNav(mainComposite,SWT.NONE,digiImageController); |
132 | 139 |
133 getSite().setSelectionProvider(digiImage); | 140 getSite().setSelectionProvider(digiImage); |
141 //StructuredSelection strucSel = new StructuredSelection(digiImage); | |
134 digiImage.setSelection(new StructuredSelection(digiImage)); | 142 digiImage.setSelection(new StructuredSelection(digiImage)); |
135 | 143 |
136 sc.setMinSize(mainComposite.computeSize(SWT.DEFAULT, SWT.DEFAULT)); | 144 sc.setMinSize(mainComposite.computeSize(SWT.DEFAULT, SWT.DEFAULT)); |
137 sc.setExpandHorizontal(true); | 145 sc.setExpandHorizontal(true); |
138 sc.setExpandVertical(true); | 146 sc.setExpandVertical(true); |
151 public void update(Observable o, Object arg) { | 159 public void update(Observable o, Object arg) { |
152 if (DigiImage.class.isInstance(arg)){ | 160 if (DigiImage.class.isInstance(arg)){ |
153 mainComposite.pack(); | 161 mainComposite.pack(); |
154 sc.setMinSize(mainComposite.computeSize(SWT.DEFAULT, SWT.DEFAULT)); | 162 sc.setMinSize(mainComposite.computeSize(SWT.DEFAULT, SWT.DEFAULT)); |
155 sc.layout(); | 163 sc.layout(); |
164 isDirty=true; | |
165 firePropertyChange(PROP_DIRTY); | |
166 | |
167 //Object[] ls = getListeners(); | |
168 //System.out.println(ls); | |
156 | 169 |
170 if (tp!=null) | |
171 tp.refresh(); | |
157 | 172 |
158 //refresh the property view. | |
159 IWorkbenchPage page = getSite().getPage(); | |
160 | |
161 IViewPart view = page.findView(IPageLayout.ID_PROP_SHEET); | |
162 | |
163 ((PropertySheetPage)((PropertySheet)view).getCurrentPage()).refresh(); | |
164 //sc.pack(); | |
165 | 173 |
166 } else if (Integer.class.isInstance(arg)){ | 174 } else if (Integer.class.isInstance(arg)){ |
167 int b = (Integer) arg; | 175 int b = (Integer) arg; |
168 | 176 |
169 Cursor waitCursor = new Cursor(mainComposite.getDisplay(),b); | 177 Cursor waitCursor = new Cursor(mainComposite.getDisplay(),b); |
171 | 179 |
172 } | 180 } |
173 | 181 |
174 | 182 |
175 } | 183 } |
184 | |
185 public String getContributorId() { | |
186 String contribId = getSite().getId(); | |
187 return contribId; | |
188 } | |
176 | 189 |
177 | 190 public Object getAdapter(Class adapter) { |
191 if (adapter == IPropertySheetPage.class){ | |
192 | |
193 tp = new TabbedPropertySheetPage(this); | |
194 return tp; | |
195 } | |
196 return super.getAdapter(adapter); | |
197 } | |
178 | 198 |
179 } | 199 } |