diff --git a/pom.xml b/pom.xml
index 5c01230..bba9648 100644
--- a/pom.xml
+++ b/pom.xml
@@ -20,8 +20,8 @@
org.apache.maven.plugins
maven-compiler-plugin
-
- 6
+
+ 8
diff --git a/src/main/java/com/fr/solution/plugin/design/formula/compat/DesignToolkit.java b/src/main/java/com/fr/solution/plugin/design/formula/compat/DesignToolkit.java
index c6740e7..302418a 100644
--- a/src/main/java/com/fr/solution/plugin/design/formula/compat/DesignToolkit.java
+++ b/src/main/java/com/fr/solution/plugin/design/formula/compat/DesignToolkit.java
@@ -1,7 +1,8 @@
package com.fr.solution.plugin.design.formula.compat;
-import com.fr.general.Inter;
-import com.fr.stable.ProductConstants;
+import com.fanruan.api.i18n.I18nKit;
+import com.fanruan.api.macro.ProductConstants;
+
/**
* @author richie
@@ -14,7 +15,7 @@ public class DesignToolkit {
public static String getLocText(String key) {
if (version < 10) {
- return Inter.getLocText(key);
+ return I18nKit.getLocText(key);
} else {
try {
return (String) Class.forName("com.fr.design.i18n.Toolkit").getMethod("i18nText", new Class[]{String.class}).invoke(null, key);
diff --git a/src/main/java/com/fr/solution/plugin/design/formula/compat/FunctionConstants.java b/src/main/java/com/fr/solution/plugin/design/formula/compat/FunctionConstants.java
index 4098ddb..02cab11 100644
--- a/src/main/java/com/fr/solution/plugin/design/formula/compat/FunctionConstants.java
+++ b/src/main/java/com/fr/solution/plugin/design/formula/compat/FunctionConstants.java
@@ -1,31 +1,36 @@
package com.fr.solution.plugin.design.formula.compat;
+import com.fanruan.api.design.util.FunctionDefNAD;
+import com.fanruan.api.design.util.FunctionManagerKit;
+import com.fanruan.api.design.util.NameAndFunctionList;
+import com.fanruan.api.design.util.NameAndTypeAndFunctionList;
+import com.fanruan.api.function.AVERAGE;
+import com.fanruan.api.function.CHAR;
+import com.fanruan.api.function.COUNT;
+import com.fanruan.api.function.DATE;
+import com.fanruan.api.function.MAX;
+import com.fanruan.api.function.MIN;
+import com.fanruan.api.function.RANGE;
+import com.fanruan.api.function.SUM;
+import com.fanruan.api.function.TIME;
+import com.fanruan.api.macro.EncodeConstants;
+import com.fanruan.api.macro.OperatingSystemKit;
+import com.fanruan.api.plugin.ExtraClassManagerKit;
import com.fanruan.api.util.GeneralKit;
-import com.fanruan.api.util.ReflectKit;
-import com.fr.design.formula.FunctionDefNAD;
+import com.fanruan.api.util.StringKit;
+import com.fanruan.api.util.TypeKit;
+
+import com.fr.stable.script.Function;
+import com.fr.file.FunctionManagerProvider;
+import com.fr.stable.fun.FunctionDefContainer;
import com.fr.design.formula.FunctionGroup;
+import com.fr.stable.fun.mark.Mutable;
import com.fr.design.formula.NameAndDescription;
-import com.fr.design.formula.NameAndFunctionList;
-import com.fr.design.formula.NameAndTypeAndFunctionList;
-import com.fr.file.FunctionManager;
-import com.fr.function.AVERAGE;
-import com.fr.function.CHAR;
-import com.fr.function.COUNT;
-import com.fr.function.DATE;
-import com.fr.function.MAX;
-import com.fr.function.MIN;
-import com.fr.function.RANGE;
-import com.fr.function.SUM;
-import com.fr.function.TIME;
-import com.fr.general.ComparatorUtils;
+
+//先不改
import com.fr.general.FRLogger;
-import com.fr.plugin.ExtraClassManager;
-import com.fr.stable.EncodeConstants;
-import com.fr.stable.OperatingSystem;
-import com.fr.stable.StringUtils;
-import com.fr.stable.fun.FunctionDefContainer;
-import com.fr.stable.fun.mark.Mutable;
-import com.fr.stable.script.Function;
+
+//有问题
import com.fr.stable.script.FunctionDef;
import javax.swing.*;
@@ -96,7 +101,7 @@ public final class FunctionConstants {
for (String fileName : findClassNamesUnderFilePath(classFilePath)) {
try {
Class> cls = Class.forName(pkgName + "." + fileName.substring(0, fileName.length() - 6));
- if (ReflectKit.classInstanceOf(cls, iface)) {
+ if (TypeKit.classInstanceOf(cls, iface)) {
Function inst;
inst = (Function)cls.newInstance();
for (NameAndTypeAndFunctionList EMBFUNCTION : EMBFUNCTIONS) {
@@ -132,7 +137,7 @@ public final class FunctionConstants {
*/
public static void addFunctionGroupFromPlugins(DefaultListModel listModel){
//hugh:自定义函数分组
- Set containers = ExtraClassManager.getInstance().getArray(FunctionDefContainer.MARK_STRING);
+ Set containers = ExtraClassManagerKit.getInstance().getArray(FunctionDefContainer.MARK_STRING);
if(!containers.isEmpty()){
for(Mutable container : containers){
listModel.addElement(createFunctionGroup((FunctionDefContainer)container));
@@ -179,9 +184,9 @@ public final class FunctionConstants {
if(classPath.endsWith("/")){
classPath = classPath.substring(0, classPath.length() - 1);
}
- if (!OperatingSystem.isWindows()){
+ if (!OperatingSystemKit.isWindows()){
//windows里substring后是d:\123\456, mac下substring后是Application/123/456
- jarPath = StringUtils.perfectStart(jarPath, "/");
+ jarPath = StringKit.perfectStart(jarPath, "/");
}
ZipFile zip;
@@ -229,7 +234,7 @@ public final class FunctionConstants {
@Override
public NameAndDescription[] getDescriptions() {
- FunctionDef[] fs = ExtraClassManager.getInstance().getFunctionDef();
+ FunctionDef[] fs = ExtraClassManagerKit.getInstance().getFunctionDef();
int count = fs.length;
FunctionDefNAD[] nads = new FunctionDefNAD[count];
for (int i = 0; i < count; i ++) {
@@ -249,7 +254,7 @@ public final class FunctionConstants {
@Override
public NameAndDescription[] getDescriptions() {
- FunctionManager funtionManager = FunctionManager.getInstance();
+ FunctionManagerProvider funtionManager = FunctionManagerKit.getInstance();
if (funtionManager != null) {
int functionDefCount = funtionManager.getFunctionDefCount();
@@ -301,7 +306,7 @@ public final class FunctionConstants {
Collections.addAll(all, PLUGIN.getDescriptions());
Collections.addAll(all, CUSTOM.getDescriptions());
//hugh:自定义函数分组
- Set containers = ExtraClassManager.getInstance().getArray(FunctionDefContainer.MARK_STRING);
+ Set containers = ExtraClassManagerKit.getInstance().getArray(FunctionDefContainer.MARK_STRING);
if(!containers.isEmpty()){
for(Mutable container : containers){
Collections.addAll(all,createFunctionGroup(((FunctionDefContainer)container)).getDescriptions());
diff --git a/src/main/java/com/fr/solution/plugin/design/formula/ui/GroupFormulaPane.java b/src/main/java/com/fr/solution/plugin/design/formula/ui/GroupFormulaPane.java
index 9500904..6583115 100644
--- a/src/main/java/com/fr/solution/plugin/design/formula/ui/GroupFormulaPane.java
+++ b/src/main/java/com/fr/solution/plugin/design/formula/ui/GroupFormulaPane.java
@@ -1,49 +1,57 @@
package com.fr.solution.plugin.design.formula.ui;
-
+import com.fanruan.api.cal.CalculatorKit;
+import com.fanruan.api.cal.ParameterKit;
+import com.fanruan.api.cal.namespace.SimpleCellValueNameSpaceKit;
+import com.fanruan.api.design.DesignKit;
+import com.fanruan.api.design.ui.container.DialogActionAdapter;
+import com.fanruan.api.design.ui.component.*;
+import com.fanruan.api.design.ui.container.BasicPane;
+import com.fanruan.api.design.ui.action.UpdateAction;
+import com.fanruan.api.design.ui.container.HistoryTemplateListPane;
+import com.fanruan.api.design.ui.container.ParameterInputPane;
+import com.fanruan.api.design.ui.container.UIScrollPane;
+import com.fanruan.api.design.ui.component.QuickList;
+import com.fanruan.api.macro.EncodeConstants;
import com.fanruan.api.util.IOKit;
import com.fanruan.api.design.util.GUICoreKit;
import com.fanruan.api.util.*;
-import com.fr.base.BaseFormula;
-
-import com.fr.base.FRContext;
-import com.fr.base.Parameter;
-import com.fr.base.ParameterMapNameSpace;
-import com.fr.base.io.IOFile;
+/**
+ * 接口
+ */
+import com.fr.base.BaseFormula;
import com.fr.data.TableDataSource;
-import com.fr.design.actions.UpdateAction;
-import com.fr.design.border.UIRoundedBorder;
import com.fr.design.constants.UIConstants;
-import com.fr.design.dialog.BasicDialog;
-import com.fr.design.dialog.BasicPane;
-import com.fr.design.dialog.DialogActionAdapter;
-import com.fr.design.file.HistoryTemplateListPane;
-import com.fr.design.formula.FunctionGroup;
-import com.fr.design.formula.NameAndDescription;
import com.fr.design.formula.UIFormula;
import com.fr.design.formula.VariableResolver;
-import com.fr.design.gui.ibutton.UIButton;
-import com.fr.design.gui.icontainer.UIScrollPane;
-import com.fr.design.gui.ilable.UILabel;
-import com.fr.design.gui.ilist.QuickList;
-import com.fr.design.gui.itextarea.UITextArea;
-import com.fr.design.gui.itextfield.UITextField;
import com.fr.design.layout.FRGUIPaneFactory;
-import com.fr.design.mainframe.DesignerContext;
+import com.fr.general.FRLogger;
+import com.fr.stable.ParameterProvider;
+import com.fr.stable.script.CalculatorProvider;
+import com.fr.design.formula.FunctionGroup;
+/**
+ * 调用了其他函数的方法,返回值是父类,无法赋值给子类
+ */
+import com.fr.design.dialog.BasicDialog;
+import com.fr.design.formula.NameAndDescription;
import com.fr.design.mainframe.JTemplate;
-import com.fr.design.parameter.ParameterInputPane;
+/**
+ * 类似于上一个问题,不过是无法获取父类异常
+ */
+import com.fr.stable.UtilEvalError;
+
+/**
+ * IOFile更改后悔出错不敢换,有instance,可能出错
+ */
+import com.fr.base.io.IOFile;
-import com.fr.general.FRLogger;
-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.EncodeConstants;
-import com.fr.stable.UtilEvalError;
+
import javax.swing.*;
import javax.swing.event.ListSelectionEvent;
@@ -325,31 +333,31 @@ public class GroupFormulaPane extends BasicPane implements UIFormula, OperateLis
private ActionListener calculateActionListener = new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
- Calculator calculator = Calculator.createCalculator();
+ CalculatorProvider calculator = CalculatorKit.createCalculator();
JTemplate, ?> template = HistoryTemplateListPane.getInstance().getCurrentEditingTemplate();
if (template != null) {
IOFile file = (IOFile) template.getTarget();
calculator.setAttribute(TableDataSource.class, file);
- calculator.pushNameSpace(SimpleCellValueNameSpace.getInstance());
+ calculator.pushNameSpace(SimpleCellValueNameSpaceKit.getInstance());
}
BaseFormula formula = GroupFormulaPane.this.update();
String message = calculate(formula, formulaPane.analyze4Parameters(calculator), calculator);
- JOptionPane.showMessageDialog(DesignerContext.getDesignerFrame(), message);
+ JOptionPane.showMessageDialog(DesignKit.getDesignerFrame(), message);
}
};
- private String calculate(BaseFormula formula, Parameter[] parameters, Calculator calculator) {
+ private String calculate(BaseFormula formula, ParameterProvider[] parameters, CalculatorProvider calculator) {
final Map parameterMap = new HashMap();
if (ArrayKit.isNotEmpty(parameters)) {
final ParameterInputPane pPane = new ParameterInputPane(parameters);
- pPane.showSmallWindow(DesignerContext.getDesignerFrame(), new DialogActionAdapter() {
+ pPane.showSmallWindow(DesignKit.getDesignerFrame(), new DialogActionAdapter() {
@Override
public void doOk() {
parameterMap.putAll(pPane.update());
}
}).setVisible(true);
}
- calculator.pushNameSpace(ParameterMapNameSpace.create(parameterMap));
+ calculator.pushNameSpace(ParameterKit.createParameterMapNameSpace(parameterMap));
String message;
try {
Object result = formula.evalValue(calculator);
@@ -551,7 +559,7 @@ public class GroupFormulaPane extends BasicPane implements UIFormula, OperateLis
StringBuilder desBuf = new StringBuilder();
try {
String path;
- Locale locale = FRContext.getLocale();
+ Locale locale = GeneralKit.getLocale();
if (locale.equals(Locale.CHINA)) {
path = "/com/fr/design/insert/formula/variable/cn/";
} else {
@@ -627,7 +635,7 @@ public class GroupFormulaPane extends BasicPane implements UIFormula, OperateLis
// desArea。setEnabled(false);
desArea.setText(this.getTextAreaText());
basicPane.add(new UIScrollPane(desArea), BorderLayout.CENTER);
- BasicDialog dialog = basicPane.showWindow(DesignerContext.getDesignerFrame());
+ BasicDialog dialog = basicPane.showWindow(DesignKit.getDesignerFrame());
dialog.setVisible(true);
}
diff --git a/src/main/java/com/fr/solution/plugin/design/formula/ui/GroupFormulaPaneWhenReserveFormula.java b/src/main/java/com/fr/solution/plugin/design/formula/ui/GroupFormulaPaneWhenReserveFormula.java
index 58e8055..b11452e 100644
--- a/src/main/java/com/fr/solution/plugin/design/formula/ui/GroupFormulaPaneWhenReserveFormula.java
+++ b/src/main/java/com/fr/solution/plugin/design/formula/ui/GroupFormulaPaneWhenReserveFormula.java
@@ -1,8 +1,8 @@
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.design.gui.icheckbox.UICheckBox;
import com.fr.solution.plugin.design.formula.compat.DesignToolkit;
import javax.swing.*;
diff --git a/src/main/java/com/fr/solution/plugin/design/formula/ui/type/BaseFormulaPane.java b/src/main/java/com/fr/solution/plugin/design/formula/ui/type/BaseFormulaPane.java
index 9d0e257..6b742e8 100644
--- a/src/main/java/com/fr/solution/plugin/design/formula/ui/type/BaseFormulaPane.java
+++ b/src/main/java/com/fr/solution/plugin/design/formula/ui/type/BaseFormulaPane.java
@@ -1,13 +1,14 @@
package com.fr.solution.plugin.design.formula.ui.type;
-import com.fanruan.api.util.StringKit;
+import com.fanruan.api.design.ui.component.code.UISyntaxTextArea;
+import com.fanruan.api.i18n.I18nKit;
import com.fr.base.BaseFormula;
-import com.fr.design.beans.FurtherBasicBeanPane;
-import com.fr.design.gui.icontainer.UIScrollPane;
-import com.fr.design.gui.syntax.ui.rsyntaxtextarea.RSyntaxTextArea;
-import com.fr.general.Inter;
+import com.fanruan.api.design.ui.container.FurtherBasicBeanPane;
+import com.fanruan.api.macro.ProductConstants;
+import com.fanruan.api.util.StringKit;
+import com.fanruan.api.design.ui.container.UIScrollPane;
+
import com.fr.solution.plugin.design.formula.ui.evt.OperateListener;
-import com.fr.stable.ProductConstants;
import javax.swing.*;
import java.awt.*;
@@ -27,7 +28,7 @@ public abstract class BaseFormulaPane extends FurtherBasi
private static final int KEY_40 = 40;
- private RSyntaxTextArea formulaTextArea;
+ private UISyntaxTextArea formulaTextArea;
private int currentPosition = 0;
private int beginPosition = 0;
private int insertPosition = 0;
@@ -58,7 +59,7 @@ public abstract class BaseFormulaPane extends FurtherBasi
formulaTextArea.setForeground(Color.black);
String text = formulaTextArea.getText();
// 判断在中文输入状态是否还包含提示符 要删掉
- String tip = "\n\n\n" + Inter.getLocText("Plugin-Design_Basic_FormulaPane_Tips");
+ String tip = "\n\n\n" + I18nKit.getLocText("Plugin-Design_Basic_FormulaPane_Tips");
if (text.contains(tip)) {
text = text.substring(0, text.indexOf(tip));
insertPosition = 0;
@@ -141,12 +142,12 @@ public abstract class BaseFormulaPane extends FurtherBasi
}
- protected abstract RSyntaxTextArea createContentEditor();
+ protected abstract UISyntaxTextArea createContentEditor();
protected void fixContent(String content) {
if (content.trim().equals("=")) {
this.formulaTextArea.setForeground(Color.gray);
- this.formulaTextArea.setText("\n\n\n" + Inter.getLocText("Plugin-Design_Basic_FormulaPane_Tips"));
+ this.formulaTextArea.setText("\n\n\n" + I18nKit.getLocText("Plugin-Design_Basic_FormulaPane_Tips"));
this.formulaTextArea.setCaretPosition(0);
ifHasBeenWritten = 0;
operateListener.clearMathListModel();
@@ -302,7 +303,7 @@ public abstract class BaseFormulaPane extends FurtherBasi
if (StringKit.isNotEmpty(formulaText)) {
JOptionPane.showMessageDialog(
BaseFormulaPane.this,
- (isValidFormula(formulaText) ? Inter.getLocText("Plugin-Design_Basic_FormulaD_Valid_Formula") : Inter.getLocText("Plugin-Design_Basic_FormulaD_Invalid_Formula")) + ".", ProductConstants.PRODUCT_NAME,
+ (isValidFormula(formulaText) ? I18nKit.getLocText("Plugin-Design_Basic_FormulaD_Valid_Formula") : I18nKit.getLocText("Plugin-Design_Basic_FormulaD_Invalid_Formula")) + ".", ProductConstants.PRODUCT_NAME,
JOptionPane.INFORMATION_MESSAGE);
}
}
@@ -320,6 +321,6 @@ public abstract class BaseFormulaPane extends FurtherBasi
@Override
public String title4PopupWindow() {
- return Inter.getLocText("Plugin-Design_Group_Formula_Basic_Title");
+ return I18nKit.getLocText("Plugin-Design_Group_Formula_Basic_Title");
}
}
diff --git a/src/main/java/com/fr/solution/plugin/design/formula/ui/type/CategoryFormulaPane.java b/src/main/java/com/fr/solution/plugin/design/formula/ui/type/CategoryFormulaPane.java
index 57c942b..0520298 100644
--- a/src/main/java/com/fr/solution/plugin/design/formula/ui/type/CategoryFormulaPane.java
+++ b/src/main/java/com/fr/solution/plugin/design/formula/ui/type/CategoryFormulaPane.java
@@ -1,18 +1,23 @@
package com.fr.solution.plugin.design.formula.ui.type;
-import com.fr.base.BaseFormula;
-import com.fr.base.Parameter;
-import com.fr.design.beans.FurtherBasicBeanPane;
-import com.fr.design.gui.frpane.UIRadioPane;
-import com.fr.script.Calculator;
+import com.fanruan.api.design.ui.component.UIRadioPane;
+import com.fr.stable.ParameterProvider;
+import com.fr.stable.script.CalculatorProvider;
import com.fr.solution.plugin.design.formula.ui.evt.OperateListener;
+
import com.fr.solution.plugin.design.formula.ui.type.impl.BasicFormulaPane;
import com.fr.solution.plugin.design.formula.ui.type.impl.ScriptFormulaPane;
+/**
+ * 有问题,子类无法重写abstract方法的参数无法修改
+ */
+import com.fr.design.beans.FurtherBasicBeanPane;
+import com.fr.base.BaseFormula;
+
import java.util.ArrayList;
import java.util.List;
-public class CategoryFormulaPane extends UIRadioPane{
+public class CategoryFormulaPane extends UIRadioPane {
private static final long serialVersionUID = 6102846618673364636L;
private List events;
@@ -62,7 +67,7 @@ public class CategoryFormulaPane extends UIRadioPane{
}
}
- public Parameter[] analyze4Parameters(Calculator calculator) {
+ public ParameterProvider[] analyze4Parameters(CalculatorProvider calculator) {
return events.get(cardNamesPane.getSelectedIndex()).analyze4Parameters(calculator);
}
diff --git a/src/main/java/com/fr/solution/plugin/design/formula/ui/type/CommonEvent.java b/src/main/java/com/fr/solution/plugin/design/formula/ui/type/CommonEvent.java
index c11f7d0..1e9c9d1 100644
--- a/src/main/java/com/fr/solution/plugin/design/formula/ui/type/CommonEvent.java
+++ b/src/main/java/com/fr/solution/plugin/design/formula/ui/type/CommonEvent.java
@@ -1,8 +1,8 @@
package com.fr.solution.plugin.design.formula.ui.type;
-import com.fr.base.Parameter;
-import com.fr.script.Calculator;
import com.fr.solution.plugin.design.formula.ui.evt.OperateListener;
+import com.fr.stable.ParameterProvider;
+import com.fr.stable.script.CalculatorProvider;
public interface CommonEvent {
@@ -18,5 +18,5 @@ public interface CommonEvent {
void setOperateListener(OperateListener listener);
- Parameter[] analyze4Parameters(Calculator calculator);
+ ParameterProvider[] analyze4Parameters(CalculatorProvider calculator);
}
diff --git a/src/main/java/com/fr/solution/plugin/design/formula/ui/type/impl/BasicFormulaPane.java b/src/main/java/com/fr/solution/plugin/design/formula/ui/type/impl/BasicFormulaPane.java
index 404d896..d6a7606 100644
--- a/src/main/java/com/fr/solution/plugin/design/formula/ui/type/impl/BasicFormulaPane.java
+++ b/src/main/java/com/fr/solution/plugin/design/formula/ui/type/impl/BasicFormulaPane.java
@@ -1,17 +1,22 @@
package com.fr.solution.plugin.design.formula.ui.type.impl;
+import com.fanruan.api.cal.CalculatorKit;
+import com.fanruan.api.design.ui.component.code.UISyntaxTextArea;
+import com.fanruan.api.structure.Parameter;
import com.fanruan.api.util.StringKit;
-import com.fr.base.Formula;
-import com.fr.base.Parameter;
-import com.fr.design.gui.syntax.ui.rsyntaxtextarea.RSyntaxTextArea;
+import com.fanruan.api.structure.Formula;
+import com.fanruan.api.structure.Expression;
+
+
+
import com.fr.design.gui.syntax.ui.rsyntaxtextarea.SyntaxConstants;
-import com.fr.general.FRLogger;
-import com.fr.script.Calculator;
import com.fr.solution.plugin.design.formula.ui.type.BaseFormulaPane;
-import com.fr.stable.script.Expression;
-import com.fr.third.antlr.ANTLRException;
-import java.util.Set;
+import com.fr.stable.ParameterProvider;
+import com.fr.stable.script.CalculatorProvider;
+//有问题
+import com.fr.third.antlr.ANTLRException;
+import com.fr.general.FRLogger;
public class BasicFormulaPane extends BaseFormulaPane {
@@ -46,13 +51,13 @@ public class BasicFormulaPane extends BaseFormulaPane {
@Override
- protected RSyntaxTextArea createContentEditor() {
- RSyntaxTextArea formulaTextArea = new RSyntaxTextArea();
+ protected UISyntaxTextArea createContentEditor() {
+ UISyntaxTextArea formulaTextArea = new UISyntaxTextArea();
configFormulaArea(formulaTextArea);
return formulaTextArea;
}
- protected void configFormulaArea(RSyntaxTextArea formulaTextArea) {
+ protected void configFormulaArea(UISyntaxTextArea formulaTextArea) {
formulaTextArea.setSyntaxEditingStyle(SyntaxConstants.SYNTAX_STYLE_FORMULA);
formulaTextArea.setAnimateBracketMatching(true);
formulaTextArea.setAntiAliasingEnabled(true);
@@ -71,7 +76,7 @@ public class BasicFormulaPane extends BaseFormulaPane {
Formula formula = createFormula(formulaText);
Expression expression = null;
try {
- expression = formula.parse(Calculator.createCalculator());
+ expression = (Expression) (formula.parse(CalculatorKit.createCalculator()));
} catch (ANTLRException e) {
FRLogger.getLogger().error(e.getMessage(), e);
}
@@ -79,13 +84,13 @@ public class BasicFormulaPane extends BaseFormulaPane {
}
@Override
- public Parameter[] analyze4Parameters(Calculator calculator) {
+ public ParameterProvider[] analyze4Parameters(CalculatorProvider calculator) {
Formula formula = updateBean();
if (formula == null) {
- return new Parameter[0];
+ return new ParameterProvider[0];
}
String[] arr = formula.dependence(calculator);
- Parameter[] parameters = new Parameter[arr.length];
+ ParameterProvider[] parameters = new ParameterProvider[arr.length];
for (int i = 0, len = arr.length; i < len; i ++) {
parameters[i] = new Parameter(arr[i]);
}
diff --git a/src/main/java/com/fr/solution/plugin/design/formula/ui/type/impl/ScriptFormulaPane.java b/src/main/java/com/fr/solution/plugin/design/formula/ui/type/impl/ScriptFormulaPane.java
index 5cd85c6..4868706 100644
--- a/src/main/java/com/fr/solution/plugin/design/formula/ui/type/impl/ScriptFormulaPane.java
+++ b/src/main/java/com/fr/solution/plugin/design/formula/ui/type/impl/ScriptFormulaPane.java
@@ -1,17 +1,20 @@
package com.fr.solution.plugin.design.formula.ui.type.impl;
-
+;
+import com.fanruan.api.base.ScriptFormula;
+import com.fanruan.api.cal.CalculatorKit;
+import com.fanruan.api.cal.ParameterKit;
+import com.fanruan.api.design.ui.component.code.UISyntaxTextArea;
+import com.fanruan.api.i18n.I18nKit;
+import com.fanruan.api.script.ScriptKit;
import com.fanruan.api.util.StringKit;
import com.fanruan.api.util.RenderKit;
-import com.fr.base.Parameter;
-import com.fr.base.ParameterHelper;
-import com.fr.base.ScriptFormula;
-import com.fr.design.gui.syntax.ui.rsyntaxtextarea.RSyntaxTextArea;
+
+
import com.fr.design.gui.syntax.ui.rsyntaxtextarea.SyntaxConstants;
import com.fr.general.FRLogger;
-import com.fr.general.Inter;
-import com.fr.script.Calculator;
-import com.fr.script.ScriptFactory;
import com.fr.solution.plugin.design.formula.ui.type.BaseFormulaPane;
+import com.fr.stable.ParameterProvider;
+import com.fr.stable.script.CalculatorProvider;
import java.util.HashMap;
import java.util.Map;
@@ -24,8 +27,8 @@ public class ScriptFormulaPane extends BaseFormulaPane {
"})();";
@Override
- protected RSyntaxTextArea createContentEditor() {
- RSyntaxTextArea formulaTextArea = new RSyntaxTextArea();
+ protected UISyntaxTextArea createContentEditor() {
+ UISyntaxTextArea formulaTextArea = new UISyntaxTextArea();
formulaTextArea.setCloseCurlyBraces(true);
formulaTextArea.setLineWrap(true);
formulaTextArea.setSyntaxEditingStyle(SyntaxConstants.SYNTAX_STYLE_JAVASCRIPT);
@@ -80,12 +83,12 @@ public class ScriptFormulaPane extends BaseFormulaPane {
@Override
protected boolean isValidFormula(String formulaText) {
- Calculator calculator = Calculator.createCalculator();
+ CalculatorProvider calculator = CalculatorKit.createCalculator();
ScriptFormula formula = createFormula(formulaText);
- Parameter[] parameters = analyze4Parameters(calculator);
+ ParameterProvider[] parameters = analyze4Parameters(calculator);
Map map = new HashMap();
- for (Parameter parameter : parameters) {
+ for (ParameterProvider parameter : parameters) {
String name = parameter.getName();
Object value = parameter.getValue();
if (value instanceof Boolean) {
@@ -99,7 +102,7 @@ public class ScriptFormulaPane extends BaseFormulaPane {
try {
String content = RenderKit.renderParameter4Tpl(formula.getPureContent(), map);
- ScriptFactory.newSingletonScriptEngine().eval(String.format(FUN_TPL, content));
+ ScriptKit.newScriptEngine().eval(String.format(FUN_TPL, content));
} catch (Exception e) {
FRLogger.getLogger().error(e.getMessage(), e);
return false;
@@ -108,16 +111,16 @@ public class ScriptFormulaPane extends BaseFormulaPane {
}
@Override
- public Parameter[] analyze4Parameters(Calculator calculator) {
+ public ParameterProvider[] analyze4Parameters(CalculatorProvider calculator) {
ScriptFormula scriptFormula = updateBean();
if (scriptFormula == null) {
- return new Parameter[0];
+ return new ParameterProvider[0];
}
- return ParameterHelper.analyze4Parameters(scriptFormula.getContent(), true);
+ return ParameterKit.analyze4Parameters(scriptFormula.getContent(), true);
}
@Override
public String title4PopupWindow() {
- return Inter.getLocText("Plugin-Design_Group_Formula_Script_Title");
+ return I18nKit.getLocText("Plugin-Design_Group_Formula_Script_Title");
}
}