package com.fr.solution.plugin.design.formula.ui; import com.fanruan.api.design.ui.component.UICheckBox; import com.fr.base.BaseFormula; import com.fr.design.formula.VariableResolver; import com.fr.solution.plugin.design.formula.compat.DesignToolkit; import javax.swing.*; import javax.swing.event.ChangeEvent; import javax.swing.event.ChangeListener; import java.awt.*; public class GroupFormulaPaneWhenReserveFormula extends GroupFormulaPane { private UICheckBox reserveCheckBox4Result; private UICheckBox reserveCheckBox4Write; public GroupFormulaPaneWhenReserveFormula() { super(); } @Override protected void extendCheckBoxPane(JPanel checkBoxPane) { reserveCheckBox4Result = new UICheckBox(DesignToolkit.getLocText("Plugin-Design_Basic_Export_Save_Formula")); reserveCheckBox4Result.setSelected(false); reserveCheckBox4Result.addChangeListener(new ChangeListener() { public void stateChanged(ChangeEvent arg0) { if (reserveCheckBox4Result.isSelected()) { reserveCheckBox4Write.setSelected(true); reserveCheckBox4Write.setEnabled(false); } else { reserveCheckBox4Write.setEnabled(true); } } }); reserveCheckBox4Write = new UICheckBox(DesignToolkit.getLocText("Plugin-Design_Basic_Write_Save_Formula")); reserveCheckBox4Write.setSelected(false); checkBoxPane.add(reserveCheckBox4Result, BorderLayout.CENTER); checkBoxPane.add(reserveCheckBox4Write, BorderLayout.SOUTH); } @Override public void populate(BaseFormula formula, VariableResolver variableResolver) { super.populate(formula, variableResolver); reserveCheckBox4Result.setSelected(formula.isReserveInResult()); reserveCheckBox4Write.setSelected(formula.isReserveOnWriteOrAnaly()); } @Override public BaseFormula update() { BaseFormula formula = super.update(); if (formula != null) { formula.setReserveInResult(this.reserveCheckBox4Result.isSelected()); formula.setReserveOnWriteOrAnaly(this.reserveCheckBox4Write.isSelected()); } return formula; } }