/*******************************************************************************
* Copyright (c) 2014 MEDEVIT.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* MEDEVIT <office@medevit.at> - initial API and implementation
*******************************************************************************/
package at.medevit.elexis.impfplan.ui.handlers;
import java.util.Collections;
import java.util.List;
import org.eclipse.jface.action.ContributionItem;
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.SelectionAdapter;
import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.widgets.Menu;
import org.eclipse.swt.widgets.MenuItem;
import at.medevit.elexis.impfplan.model.VaccinationPlanModel;
import at.medevit.elexis.impfplan.model.vaccplans.AbstractVaccinationPlan;
import at.medevit.elexis.impfplan.ui.VaccinationPlanHeaderDefinition;
import at.medevit.elexis.impfplan.ui.VaccinationView;
public class FilterHandlerDynamicContribution extends ContributionItem {
private List<AbstractVaccinationPlan> vaccPlans = VaccinationPlanModel.getVaccinationPlans();
public FilterHandlerDynamicContribution(){
// TODO Auto-generated constructor stub
}
public FilterHandlerDynamicContribution(String id){
super(id);
// TODO Auto-generated constructor stub
}
@Override
public void fill(Menu menu, int index){
for (final AbstractVaccinationPlan avp : vaccPlans) {
MenuItem temp = new MenuItem(menu, SWT.RADIO, index);
temp.setText(avp.name);
temp.setSelection(avp.id.equalsIgnoreCase(VaccinationView
.getVaccinationHeaderDefinition().id));
temp.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent e){
VaccinationPlanHeaderDefinition vphd =
new VaccinationPlanHeaderDefinition(avp.id, avp.name, avp
.getOrderedBaseDiseases(), avp.getOrderedExtendedDiseases());
VaccinationView.setVaccinationHeaderDefinition(vphd);
}
});
}
MenuItem menuItemHWAV = new MenuItem(menu, SWT.RADIO, index);
menuItemHWAV.setText("verabreichten Impfungen");
menuItemHWAV.setSelection(VaccinationView.getVaccinationHeaderDefinition().id
.equals(VaccinationView.HEADER_ID_SHOW_ADMINISTERED));
menuItemHWAV.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent e){
@SuppressWarnings("unchecked")
VaccinationPlanHeaderDefinition vphd =
new VaccinationPlanHeaderDefinition(
VaccinationView.HEADER_ID_SHOW_ADMINISTERED,
VaccinationView.HEADER_ID_SHOW_ADMINISTERED, Collections.EMPTY_LIST,
Collections.EMPTY_LIST);
VaccinationView.setVaccinationHeaderDefinition(vphd);
}
});
MenuItem menuInfo = new MenuItem(menu, SWT.CHECK, index);
menuInfo.setEnabled(false);
menuInfo.setText("Darstellung nach");
super.fill(menu, index);
}
@Override
public boolean isDynamic(){
return false;
}
}