package ch.elexis.core.ui.propertypage; import java.util.Iterator; import java.util.Set; import org.eclipse.core.runtime.IAdaptable; import org.eclipse.swt.SWT; import org.eclipse.swt.layout.GridData; import org.eclipse.swt.layout.GridLayout; import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Control; import org.eclipse.swt.widgets.Label; import org.eclipse.swt.widgets.Text; import org.eclipse.ui.IWorkbenchPropertyPage; import org.eclipse.ui.dialogs.PropertyPage; import ch.elexis.data.PersistentObject; import ch.elexis.data.Xid; public class XIDPropertyPage extends PropertyPage implements IWorkbenchPropertyPage { private PersistentObject po; public XIDPropertyPage(){ super(); } @Override protected Control createContents(Composite parent){ noDefaultAndApplyButton(); init(); Composite comp = new Composite(parent, SWT.None); comp.setLayout(new GridLayout(2, false)); Label header = new Label(comp, SWT.None); header.setText("Für dieses Objekt definierte XIDs:"); header.setLayoutData(new GridData(SWT.FILL, SWT.LEFT, true, false, 2, 1)); Set<String> domains = Xid.getXIDDomains(); if (domains.size() == 0) { Label lab = new Label(comp, SWT.None); lab.setText("Keine XIDs gefunden."); lab.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER, false, false, 1, 1)); return comp; } for (Iterator<String> iterator = domains.iterator(); iterator.hasNext();) { String string = (String) iterator.next(); Label lab = new Label(comp, SWT.None); lab.setText(Xid.getSimpleNameForXIDDomain(string)); lab.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER, false, false, 1, 1)); Text txt = new Text(comp, SWT.None); txt.setText(po.getXid(string)); txt.setEditable(false); txt.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 1, 1)); } return comp; } private void init(){ IAdaptable adapt = getElement(); po = (PersistentObject) adapt.getAdapter(PersistentObject.class); } }