|
|
|
@ -1,7 +1,11 @@
|
|
|
|
|
package com.fr.solution.plugin.design.formula.ui; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
import com.fanruan.api.util.*; |
|
|
|
|
import com.fr.base.BaseFormula; |
|
|
|
|
|
|
|
|
|
import com.fr.base.BaseUtils; |
|
|
|
|
|
|
|
|
|
import com.fr.base.FRContext; |
|
|
|
|
import com.fr.base.Parameter; |
|
|
|
|
import com.fr.base.ParameterMapNameSpace; |
|
|
|
@ -28,18 +32,17 @@ import com.fr.design.layout.FRGUIPaneFactory;
|
|
|
|
|
import com.fr.design.mainframe.DesignerContext; |
|
|
|
|
import com.fr.design.mainframe.JTemplate; |
|
|
|
|
import com.fr.design.parameter.ParameterInputPane; |
|
|
|
|
|
|
|
|
|
import com.fr.design.utils.gui.GUICoreUtils; |
|
|
|
|
|
|
|
|
|
import com.fr.general.FRLogger; |
|
|
|
|
import com.fr.general.GeneralUtils; |
|
|
|
|
import com.fr.report.core.namespace.SimpleCellValueNameSpace; |
|
|
|
|
import com.fr.script.Calculator; |
|
|
|
|
import com.fr.solution.plugin.design.formula.compat.DesignToolkit; |
|
|
|
|
import com.fr.solution.plugin.design.formula.compat.FunctionConstants; |
|
|
|
|
import com.fr.solution.plugin.design.formula.ui.evt.OperateListener; |
|
|
|
|
import com.fr.solution.plugin.design.formula.ui.type.CategoryFormulaPane; |
|
|
|
|
import com.fr.stable.ArrayUtils; |
|
|
|
|
import com.fr.stable.EncodeConstants; |
|
|
|
|
import com.fr.stable.StringUtils; |
|
|
|
|
import com.fr.stable.UtilEvalError; |
|
|
|
|
|
|
|
|
|
import javax.swing.*; |
|
|
|
@ -252,7 +255,7 @@ public class GroupFormulaPane extends BasicPane implements UIFormula, OperateLis
|
|
|
|
|
NameAndDescription and = descriptions[i]; |
|
|
|
|
|
|
|
|
|
String functionName = and.searchResult(keyWord, findDescription); |
|
|
|
|
if (StringUtils.isNotBlank(functionName)) { |
|
|
|
|
if (StringKit.isNotBlank(functionName)) { |
|
|
|
|
listModel.addElement(functionName); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
@ -337,7 +340,7 @@ public class GroupFormulaPane extends BasicPane implements UIFormula, OperateLis
|
|
|
|
|
|
|
|
|
|
private String calculate(BaseFormula formula, Parameter[] parameters, Calculator calculator) { |
|
|
|
|
final Map<String, Object> parameterMap = new HashMap<String, Object>(); |
|
|
|
|
if (ArrayUtils.isNotEmpty(parameters)) { |
|
|
|
|
if (ArrayKit.isNotEmpty(parameters)) { |
|
|
|
|
final ParameterInputPane pPane = new ParameterInputPane(parameters); |
|
|
|
|
pPane.showSmallWindow(DesignerContext.getDesignerFrame(), new DialogActionAdapter() { |
|
|
|
|
@Override |
|
|
|
@ -350,7 +353,7 @@ public class GroupFormulaPane extends BasicPane implements UIFormula, OperateLis
|
|
|
|
|
String message; |
|
|
|
|
try { |
|
|
|
|
Object result = formula.evalValue(calculator); |
|
|
|
|
message = DesignToolkit.getLocText("Plugin-Design_Group_Formula_Result") + ":" + GeneralUtils.objectToString(result); |
|
|
|
|
message = DesignToolkit.getLocText("Plugin-Design_Group_Formula_Result") + ":" + GeneralKit.objectToString(result); |
|
|
|
|
} catch (UtilEvalError utilEvalError) { |
|
|
|
|
message = DesignToolkit.getLocText("Plugin-Design_Group_Formula_Calculate_Error") + ":" + utilEvalError.getMessage(); |
|
|
|
|
} |
|
|
|
@ -474,7 +477,7 @@ public class GroupFormulaPane extends BasicPane implements UIFormula, OperateLis
|
|
|
|
|
popupMenu.add(lookDetailAction); |
|
|
|
|
|
|
|
|
|
// peter: 只有弹出菜单有子菜单的时候,才需要弹出来.
|
|
|
|
|
GUICoreUtils.showPopupMenu(popupMenu, functionNameList, evt.getX() - 1, evt.getY() - 1); |
|
|
|
|
GUICoreKit.showPopupMenu(popupMenu, functionNameList, evt.getX() - 1, evt.getY() - 1); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
}); |
|
|
|
@ -518,7 +521,7 @@ public class GroupFormulaPane extends BasicPane implements UIFormula, OperateLis
|
|
|
|
|
private StringBuilder getText(TextUserObject selectedValue, String path) throws IOException { |
|
|
|
|
Reader desReader; |
|
|
|
|
StringBuilder desBuf = new StringBuilder(); |
|
|
|
|
InputStream desInputStream = BaseUtils.readResource(path + (selectedValue).displayText + ".txt"); |
|
|
|
|
InputStream desInputStream = BaseKit.readResource(path + (selectedValue).displayText + ".txt"); |
|
|
|
|
if (desInputStream == null) { |
|
|
|
|
String description = ""; |
|
|
|
|
desReader = new StringReader(description); |
|
|
|
@ -706,24 +709,24 @@ public class GroupFormulaPane extends BasicPane implements UIFormula, OperateLis
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
rootNode.add(new TextFolderUserObject(DesignToolkit.getLocText("Plugin-Design_Basic_FormulaD_Data_Fields"), |
|
|
|
|
BaseUtils.readIcon("/com/fr/design/images/dialog/table.png"), |
|
|
|
|
BaseKit.readIcon("/com/fr/design/images/dialog/table.png"), |
|
|
|
|
variableResolver.resolveColumnNames()).createMutableTreeNode()); |
|
|
|
|
|
|
|
|
|
// Set cutReport Variable
|
|
|
|
|
rootNode.add(new TextFolderUserObject(DesignToolkit.getLocText("Plugin-Design_Basic_FormulaPane_Variables"), |
|
|
|
|
BaseUtils.readIcon("/com/fr/design/images/dialog/variable.png"), |
|
|
|
|
BaseKit.readIcon("/com/fr/design/images/dialog/variable.png"), |
|
|
|
|
variableResolver.resolveCurReportVariables()).createMutableTreeNode()); |
|
|
|
|
|
|
|
|
|
rootNode.add(new TextFolderUserObject(DesignToolkit.getLocText("Plugin-Design_Basic_Parameter_Source_Type_Tabledata"), |
|
|
|
|
BaseUtils.readIcon("/com/fr/design/images/dialog/parameter.gif"), |
|
|
|
|
BaseKit.readIcon("/com/fr/design/images/dialog/parameter.gif"), |
|
|
|
|
variableResolver.resolveTableDataParameterVariables()).createMutableTreeNode()); |
|
|
|
|
|
|
|
|
|
rootNode.add(new TextFolderUserObject(DesignToolkit.getLocText("Plugin-Design_Basic_ParameterD_Report_Parameter"), |
|
|
|
|
BaseUtils.readIcon("/com/fr/design/images/m_report/p.gif"), |
|
|
|
|
BaseKit.readIcon("/com/fr/design/images/m_report/p.gif"), |
|
|
|
|
variableResolver.resolveReportParameterVariables()).createMutableTreeNode()); |
|
|
|
|
|
|
|
|
|
rootNode.add(new TextFolderUserObject(DesignToolkit.getLocText("Plugin-Design_Basic_M_Server_Global_Parameters"), |
|
|
|
|
BaseUtils.readIcon("/com/fr/design/images/dialog/parameter.gif"), |
|
|
|
|
BaseKit.readIcon("/com/fr/design/images/dialog/parameter.gif"), |
|
|
|
|
variableResolver.resolveGlobalParameterVariables()).createMutableTreeNode()); |
|
|
|
|
|
|
|
|
|
variableModel.reload(); |
|
|
|
|