package org.openlca.app.editors.systems; import org.eclipse.swt.widgets.Composite; import org.eclipse.ui.forms.IManagedForm; import org.eclipse.ui.forms.widgets.FormToolkit; import org.eclipse.ui.forms.widgets.ScrolledForm; import org.eclipse.ui.forms.widgets.Section; import org.openlca.app.M; import org.openlca.app.editors.ModelPage; import org.openlca.app.util.UI; import org.openlca.core.model.ProductSystem; public class ProductSystemParameterPage extends ModelPage<ProductSystem> { private ProductSystemEditor editor; private ParameterRedefTable table; private ScrolledForm form; public ProductSystemParameterPage(ProductSystemEditor editor) { super(editor, "ProductSystemParameterPage", M.Parameters); this.editor = editor; editor.onSaved(() -> refreshBindings()); } @Override protected void createFormContent(IManagedForm managedForm) { form = UI.formHeader(managedForm); updateFormTitle(); FormToolkit toolkit = managedForm.getToolkit(); Composite body = UI.formBody(form, toolkit); Section section = UI.section(body, toolkit, M.Parameters); UI.gridData(section, true, true); Composite composite = UI.sectionClient(section, toolkit); table = new ParameterRedefTable(editor); table.create(toolkit, composite); table.bindActions(section); } @Override protected void updateFormTitle() { if (form == null) return; form.setText(M.ProductSystem + ": " + getModel().getName()); } void refreshBindings() { if (table != null) table.setInput(editor.getModel().getParameterRedefs()); } }