Mercurial > hg > de.mpg.mpiwg.itgroup.digilib.plugin
diff src/de/mpg/mpiwg/itgroup/digilib/plugin/editors/DigilibLinkEditorPart.java @ 20:2f47c136b8a6
added property view
author | dwinter |
---|---|
date | Tue, 04 Jan 2011 16:35:41 +0100 |
parents | e63a64652f4d |
children | 643fa1daa70c |
line wrap: on
line diff
--- a/src/de/mpg/mpiwg/itgroup/digilib/plugin/editors/DigilibLinkEditorPart.java Tue Jan 04 10:31:53 2011 +0100 +++ b/src/de/mpg/mpiwg/itgroup/digilib/plugin/editors/DigilibLinkEditorPart.java Tue Jan 04 16:35:41 2011 +0100 @@ -5,13 +5,21 @@ import java.io.IOException; import java.net.URL; +import java.util.ArrayList; +import java.util.List; import java.util.Observable; import java.util.Observer; +import org.apache.axis2.databinding.types.soapencoding.Array; import org.eclipse.core.resources.IResourceChangeEvent; import org.eclipse.core.resources.IResourceChangeListener; import org.eclipse.core.runtime.CoreException; import org.eclipse.core.runtime.IProgressMonitor; +import org.eclipse.jface.viewers.ISelection; +import org.eclipse.jface.viewers.ISelectionChangedListener; +import org.eclipse.jface.viewers.ISelectionProvider; +import org.eclipse.jface.viewers.SelectionChangedEvent; +import org.eclipse.jface.viewers.StructuredSelection; import org.eclipse.swt.SWT; import org.eclipse.swt.custom.ScrolledComposite; import org.eclipse.swt.graphics.Cursor; @@ -19,8 +27,15 @@ import org.eclipse.swt.widgets.Composite; import org.eclipse.ui.IEditorInput; import org.eclipse.ui.IEditorSite; +import org.eclipse.ui.IPageLayout; +import org.eclipse.ui.IViewPart; +import org.eclipse.ui.IWorkbenchPage; +import org.eclipse.ui.IWorkbenchPartSite; import org.eclipse.ui.PartInitException; import org.eclipse.ui.part.EditorPart; +import org.eclipse.ui.views.properties.IPropertySheetPage; +import org.eclipse.ui.views.properties.PropertySheet; +import org.eclipse.ui.views.properties.PropertySheetPage; import org.jdom.JDOMException; import de.mpg.mpiwg.itgroup.digilib.digiImage.DigiImage; @@ -35,10 +50,13 @@ * @author dwinter * */ -public class DigilibLinkEditorPart extends EditorPart implements IResourceChangeListener, Observer{ +public class DigilibLinkEditorPart extends EditorPart implements IResourceChangeListener,Observer{ private Composite mainComposite; private ScrolledComposite sc; + //private ISelection selection; + //private List<ISelectionChangedListener> selectionChangeListener = new ArrayList<ISelectionChangedListener>(); + private Object propertySheetPage; public void resourceChanged(IResourceChangeEvent event) { // TODO Auto-generated method stub @@ -135,12 +153,16 @@ //imageComp.setBackgroundImage(img); DigiNav digiNav = new DigiNav(mainComposite,SWT.NONE,digiImageController); + getSite().setSelectionProvider(digiImage); + digiImage.setSelection(new StructuredSelection(digiImage)); + sc.setMinSize(mainComposite.computeSize(SWT.DEFAULT, SWT.DEFAULT)); sc.setExpandHorizontal(true); sc.setExpandVertical(true); sc.layout(); DigilibLinkEditorObservable.INSTANCE.addObserver(this); + //setSelection( digiImage); } @Override @@ -154,8 +176,16 @@ mainComposite.pack(); sc.setMinSize(mainComposite.computeSize(SWT.DEFAULT, SWT.DEFAULT)); sc.layout(); + + + //refresh the property view. + IWorkbenchPage page = getSite().getPage(); + + IViewPart view = page.findView(IPageLayout.ID_PROP_SHEET); + + ((PropertySheetPage)((PropertySheet)view).getCurrentPage()).refresh(); //sc.pack(); - + } else if (Integer.class.isInstance(arg)){ int b = (Integer) arg; @@ -165,7 +195,34 @@ } + } + +// public void addSelectionChangedListener(ISelectionChangedListener listener) { +// selectionChangeListener.add(listener); +// +// } +// +// public ISelection getSelection() { +// // TODO Auto-generated method stub +// return selection; +// } +// +// public void removeSelectionChangedListener( +// ISelectionChangedListener listener) { +// selectionChangeListener.remove(listener); +// +// } +// +// public void setSelection(ISelection selection) { +// this.selection=selection; +// for (ISelectionChangedListener sl: selectionChangeListener){ +// +// SelectionChangedEvent event = new SelectionChangedEvent(this, selection); +// sl.selectionChanged(event); +// } +// +// }