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 }