帆软报表设计器源代码。
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.

83 lines
2.8 KiB

package com.fr.design.javascript;
import com.fr.base.Parameter;
import com.fr.design.gui.frpane.ReportletParameterViewPane;
import com.fr.design.gui.itableeditorpane.ParameterTableModel;
import com.fr.design.gui.itextfield.UITextField;
import com.fr.design.hyperlink.AbstractHyperLinkPane;
import com.fr.design.utils.gui.GUICoreUtils;
import com.fr.js.ParameterJavaScript;
import com.fr.stable.ParameterProvider;
import java.awt.*;
import java.util.HashMap;
import java.util.List;
public class ParameterJavaScriptPane extends AbstractHyperLinkPane<ParameterJavaScript> {
private UITextField itemNameTextField;
public ParameterJavaScriptPane() {
this(null, false);
}
public ParameterJavaScriptPane(HashMap hyperLinkEditorMap, boolean needRenamePane) {
super(hyperLinkEditorMap, needRenamePane);
this.setLayout(new BorderLayout());
parameterViewPane = new ReportletParameterViewPane(getChartParaType(), getValueEditorPane(), getValueEditorPane());
this.add(parameterViewPane, BorderLayout.CENTER);
if (needRenamePane()) {
itemNameTextField = new UITextField();
this.add(GUICoreUtils.createNamedPane(itemNameTextField, com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Hyperlink_Name") + ":"), BorderLayout.NORTH);
}
}
@Override
public String title4PopupWindow() {
return com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_JavaScript_Dynamic_Parameters");
}
@Override
public void populateBean(ParameterJavaScript ob) {
ParameterProvider[] parameters = ob.getParameters();
if (parameters.length == 0) {
// TODO ALEX_SEP
// parameters = DesignUtils.getEditingTemplateReport().getTemplateWorkBook().getParameters();
}
parameterViewPane.populate(parameters);
if (itemNameTextField != null) {
itemNameTextField.setText(ob.getItemName());
}
}
@Override
public ParameterJavaScript updateBean() {
ParameterJavaScript js = new ParameterJavaScript();
updateBean(js);
if (this.itemNameTextField != null) {
js.setItemName(itemNameTextField.getText());
}
return js;
}
public void updateBean(ParameterJavaScript parameter) {
List<ParameterProvider> parameterList = parameterViewPane.update();
parameter.setParameters(parameterList.toArray(new Parameter[parameterList.size()]));
if (this.itemNameTextField != null) {
parameter.setItemName(itemNameTextField.getText());
}
}
public static class ChartNoRename extends ParameterJavaScriptPane {
protected int getChartParaType() {
return ParameterTableModel.CHART_NORMAL_USE;
}
protected boolean needRenamePane() {
return false;
}
}
}