package at.medevit.elexis.agenda.ui.function;
import org.eclipse.jface.viewers.ISelectionProvider;
import org.eclipse.jface.viewers.StructuredSelection;
import org.eclipse.swt.browser.Browser;
import org.eclipse.swt.browser.BrowserFunction;
import ch.elexis.agenda.data.Termin;
import ch.elexis.core.data.events.ElexisEventDispatcher;
import ch.elexis.data.Kontakt;
import ch.elexis.data.Patient;
public class SingleClickFunction extends BrowserFunction {
private ISelectionProvider selectionProvider;
public SingleClickFunction(Browser browser, String name){
super(browser, name);
}
public Object function(Object[] arguments){
if (arguments.length == 1) {
Termin termin = Termin.load((String) arguments[0]);
ElexisEventDispatcher.fireSelectionEvent(termin);
if (selectionProvider != null) {
selectionProvider.setSelection(new StructuredSelection(termin));
}
Kontakt contact = termin.getKontakt();
if (contact instanceof Patient) {
ElexisEventDispatcher.fireSelectionEvent((Patient) contact);
}
} else if (arguments.length == 0) {
if (selectionProvider != null) {
selectionProvider.setSelection(StructuredSelection.EMPTY);
}
}
return null;
}
public void setSelectionProvider(ISelectionProvider selectionProvider){
this.selectionProvider = selectionProvider;
}
}