package org.panlab.software.fstoolkit.views.FSDLView; import java.util.ArrayList; import java.util.Iterator; import java.util.List; import org.eclipse.emf.edit.ui.provider.AdapterFactoryContentProvider; import org.eclipse.jface.viewers.ISelection; import org.eclipse.jface.viewers.IStructuredSelection; import org.eclipse.swt.widgets.Composite; import org.eclipse.ui.IWorkbenchPart; import org.eclipse.ui.views.properties.tabbed.AdvancedPropertySection; import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; import FederationOffice.NamedElement; import FederationOffice.uiObjects.ui_TaxonomyTreeItem; public class OfferedServicesTabbedAdvancedPropertySection extends AdvancedPropertySection { /** * @see org.eclipse.ui.views.properties.tabbed.ISection#createControls(org.eclipse.swt.widgets.Composite, * org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage) */ private OfferedServicesTabbedPropertySheetPage myPropertySheetPage; public void createControls(Composite parent, TabbedPropertySheetPage tabbedPropertySheetPage) { super.createControls(parent, tabbedPropertySheetPage); myPropertySheetPage = (OfferedServicesTabbedPropertySheetPage) tabbedPropertySheetPage; page.setPropertySourceProvider(new AdapterFactoryContentProvider( myPropertySheetPage.getAdapterFactory( ))); } private NamedElement buttonElement; class mySelClass implements IStructuredSelection{ private NamedElement myElem; private List<NamedElement> mylist; public mySelClass(NamedElement buttonElement) { // TODO Auto-generated constructor stub myElem = buttonElement; mylist= new ArrayList<NamedElement>(); mylist.add(myElem); } @Override public boolean isEmpty() { // TODO Auto-generated method stub return mylist.size()>0; } @Override public Object getFirstElement() { // TODO Auto-generated method stub return mylist.get(0); } @Override public Iterator<NamedElement> iterator() { // TODO Auto-generated method stub return mylist.iterator(); } @Override public int size() { // TODO Auto-generated method stub return mylist.size(); } @Override public Object[] toArray() { // TODO Auto-generated method stub return mylist.toArray(); } @Override public List<NamedElement> toList() { // TODO Auto-generated method stub return mylist; } } @Override public void setInput(IWorkbenchPart part, ISelection selection) { Object input = ((IStructuredSelection) selection).getFirstElement(); if ( input instanceof NamedElement) this.buttonElement = (NamedElement) input; if ( input instanceof ui_TaxonomyTreeItem) this.buttonElement = ((ui_TaxonomyTreeItem) input).getOfficeElement(); //wrap here the namedElement as IIStructuredSelection mySelClass mysel = new mySelClass(this.buttonElement); super.setInput(part, mysel); } }