增强公式编辑器,能让公式支持脚本和实时计算。
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

59 lines
2.1 KiB

package com.fr.solution.plugin.design.formula.ui;
import com.fr.base.BaseFormula;
import com.fr.design.formula.VariableResolver;
import com.fr.design.gui.icheckbox.UICheckBox;
import com.fr.general.Inter;
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(Inter.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(Inter.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;
}
}