package org.nightlabs.jfire.reporting.admin.parameter.ui; import org.eclipse.gef.EditPart; import org.nightlabs.jfire.reporting.admin.parameter.ui.editpart.AcquisitionParameterConfigEditPart; import org.nightlabs.jfire.reporting.admin.parameter.ui.editpart.ValueAcquisitionSetupEditPart; import org.nightlabs.jfire.reporting.admin.parameter.ui.editpart.ValueConsumerBindingEditPart; import org.nightlabs.jfire.reporting.admin.parameter.ui.editpart.ValueProviderConfigEditPart; import org.nightlabs.jfire.reporting.parameter.config.AcquisitionParameterConfig; import org.nightlabs.jfire.reporting.parameter.config.ValueAcquisitionSetup; import org.nightlabs.jfire.reporting.parameter.config.ValueConsumerBinding; import org.nightlabs.jfire.reporting.parameter.config.ValueProviderConfig; /** * @author Daniel.Mazurek [at] NightLabs [dot] de * */ public class EditPartFactory implements org.eclipse.gef.EditPartFactory { private ReportParameterEditor editor; public EditPartFactory(ReportParameterEditor editor) { this.editor = editor; } public EditPart createEditPart(EditPart context, Object model) { if (model instanceof ValueProviderConfig) return new ValueProviderConfigEditPart((ValueProviderConfig)model, editor.getValueAcquisitionSetup()); if (model instanceof ValueAcquisitionSetup) return new ValueAcquisitionSetupEditPart((ValueAcquisitionSetup)model, editor.getReportHandle()); if (model instanceof AcquisitionParameterConfig) return new AcquisitionParameterConfigEditPart((AcquisitionParameterConfig)model, editor.getValueAcquisitionSetup()); if (model instanceof ValueConsumerBinding) return new ValueConsumerBindingEditPart((ValueConsumerBinding)model, editor.getValueAcquisitionSetup()); return null; } }