package at.medevit.ch.artikelstamm.elexis.common.ui.handlers;
import org.eclipse.core.commands.AbstractHandler;
import org.eclipse.core.commands.ExecutionEvent;
import org.eclipse.core.commands.ExecutionException;
import org.eclipse.core.commands.IHandler;
import org.eclipse.swt.widgets.Display;
import at.medevit.ch.artikelstamm.IArtikelstammItem;
import at.medevit.ch.artikelstamm.elexis.common.ui.ArtikelstammDetailDialog;
import ch.elexis.core.data.events.ElexisEventDispatcher;
import ch.elexis.data.Prescription;
public class OpenArticelDetailDialogHandler extends AbstractHandler implements IHandler {
@Override
public Object execute(ExecutionEvent event) throws ExecutionException{
Prescription prescription =
(Prescription) ElexisEventDispatcher.getSelected(Prescription.class);
if (prescription != null) {
if (prescription.getArtikel() instanceof IArtikelstammItem) {
ArtikelstammDetailDialog dd =
new ArtikelstammDetailDialog(Display.getDefault().getActiveShell(),
(IArtikelstammItem) prescription.getArtikel());
dd.open();
} else {
throw new ExecutionException(
"Invalid article type " + prescription.getArtikel().getClass().getName());
}
}
return null;
}
}