Browse Source

KERNEL-1117 按要求修改插件

pull/2/head
Kalven 5 years ago
parent
commit
27c3bd34e0
  1. 4
      pom.xml
  2. 15
      src/main/java/com/fr/solution/plugin/design/formula/compat/FunctionConstants.java
  3. 15
      src/main/java/com/fr/solution/plugin/design/formula/compat/FunctionDefNAD.java
  4. 17
      src/main/java/com/fr/solution/plugin/design/formula/compat/NameAndFunctionList.java
  5. 15
      src/main/java/com/fr/solution/plugin/design/formula/compat/NameAndTypeAndFunctionList.java
  6. 11
      src/main/java/com/fr/solution/plugin/design/formula/ui/GroupFormulaPane.java
  7. 3
      src/main/java/com/fr/solution/plugin/design/formula/ui/type/BaseFormulaPane.java
  8. 82
      src/main/java/com/fr/solution/plugin/design/formula/ui/type/impl/BasicFormulaPane.java
  9. 3
      src/main/java/com/fr/solution/plugin/design/formula/ui/type/impl/ScriptFormulaPane.java

4
pom.xml

@ -20,8 +20,8 @@
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>8</source>
<target>8</target>
<source>6</source>
<target>6</target>
</configuration>
</plugin>
</plugins>

15
src/main/java/com/fr/solution/plugin/design/formula/compat/FunctionConstants.java

@ -1,11 +1,9 @@
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.FunctionKit;
import com.fanruan.api.function.shell.FineFunc;
import com.fanruan.api.macro.EncodeConstants;
import com.fanruan.api.macro.OperatingSystemKit;
import com.fanruan.api.macro.OperatingSystem;
import com.fanruan.api.util.GeneralKit;
import com.fanruan.api.util.StringKit;
import com.fanruan.api.util.TypeKit;
@ -159,7 +157,7 @@ public final class FunctionConstants {
@Override
public NameAndDescription[] getDescriptions() {
FunctionDef[] fs = container.getFunctionDefs();
FineFunc[] fs = container.getFunctionDefs();
int count = fs.length;
FunctionDefNAD[] nads = new FunctionDefNAD[count];
for (int i = 0; i < count; i ++) {
@ -184,7 +182,7 @@ public final class FunctionConstants {
if(classPath.endsWith("/")){
classPath = classPath.substring(0, classPath.length() - 1);
}
if (!OperatingSystemKit.isWindows()){
if (!OperatingSystem.isWindows()){
//windows里substring后是d:\123\456, mac下substring后是Application/123/456
jarPath = StringKit.perfectStart(jarPath, "/");
}
@ -254,10 +252,9 @@ public final class FunctionConstants {
@Override
public NameAndDescription[] getDescriptions() {
FunctionManagerProvider funtionManager = FunctionManagerKit.getInstance();
FunctionManagerProvider funtionManager = FunctionKit.getInstance();
if (funtionManager != null) {
int functionDefCount = funtionManager.getFunctionDefCount();
FunctionDefNAD[] nads = new FunctionDefNAD[functionDefCount];
for (int i = 0; i < functionDefCount; i++) {
nads[i] = new FunctionDefNAD(funtionManager.getFunctionDef(i));

15
src/main/java/com/fr/solution/plugin/design/formula/compat/FunctionDefNAD.java

@ -0,0 +1,15 @@
package com.fr.solution.plugin.design.formula.compat;
import com.fr.stable.script.FunctionDef;
/**
* 函数名和描述
* @author Kalven
* @version 10.0
* Created by Kalven on 2019/8/31
*/
public class FunctionDefNAD extends com.fr.design.formula.FunctionDefNAD {
public FunctionDefNAD(FunctionDef functionDef) {
super(functionDef);
}
}

17
src/main/java/com/fr/solution/plugin/design/formula/compat/NameAndFunctionList.java

@ -0,0 +1,17 @@
package com.fr.solution.plugin.design.formula.compat;
import com.fr.stable.script.Function;
import java.util.Arrays;
/**
* 名称对应的函数列表
* @author Kalven
* @version 10.0
* Created by Kalven on 2019/8/31
*/
public class NameAndFunctionList extends com.fr.design.formula.NameAndFunctionList {
public NameAndFunctionList(String name, Function[] fns) {
super(name, fns);
}
}

15
src/main/java/com/fr/solution/plugin/design/formula/compat/NameAndTypeAndFunctionList.java

@ -0,0 +1,15 @@
package com.fr.solution.plugin.design.formula.compat;
import com.fr.stable.script.Function;
/**
* 名字和类型对应的函数列表
* @author Kalven
* @version 10.0
* Created by Kalven on 2019/8/31
*/
public class NameAndTypeAndFunctionList extends com.fr.design.formula.NameAndTypeAndFunctionList {
public NameAndTypeAndFunctionList(String name, Function.Type type) {
super(name, type);
}
}

11
src/main/java/com/fr/solution/plugin/design/formula/ui/GroupFormulaPane.java

@ -3,14 +3,14 @@ package com.fr.solution.plugin.design.formula.ui;
import com.fanruan.api.cal.CalculatorKit;
import com.fanruan.api.cal.ParameterKit;
import com.fanruan.api.design.DesignKit;
import com.fanruan.api.design.ui.container.DialogActionAdapter;
//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.work.ParameterInputPane;
import com.fanruan.api.design.ui.container.UIScrollPane;
import com.fanruan.api.design.ui.component.QuickList;
import com.fanruan.api.design.ui.component.UIQuickList;
import com.fanruan.api.macro.EncodeConstants;
import com.fanruan.api.util.IOKit;
import com.fanruan.api.design.util.GUICoreKit;
@ -22,6 +22,7 @@ import com.fanruan.api.util.*;
import com.fr.base.BaseFormula;
import com.fr.data.TableDataSource;
import com.fr.design.constants.UIConstants;
import com.fr.design.dialog.DialogActionAdapter;
import com.fr.design.formula.UIFormula;
import com.fr.design.formula.VariableResolver;
import com.fr.design.layout.FRGUIPaneFactory;
@ -95,7 +96,7 @@ public class GroupFormulaPane extends BasicPane implements UIFormula, OperateLis
private DefaultListModel listModel = new DefaultListModel();
private DefaultListModel functionTypeListModel = new DefaultListModel();
private QuickList functionTypeList;
private UIQuickList functionTypeList;
private DefaultListModel functionNameModel;
private JList functionNameList;
@ -377,7 +378,7 @@ public class GroupFormulaPane extends BasicPane implements UIFormula, OperateLis
}
private void initFunctionTypeList(JPanel functionPane) {
functionTypeList = new QuickList(functionTypeListModel);
functionTypeList = new UIQuickList(functionTypeListModel);
UIScrollPane functionTypeScrollPane = new UIScrollPane(functionTypeList);
functionTypeScrollPane.setBorder(new UIRoundedBorder(UIConstants.LINE_COLOR, 1, UIConstants.ARC));
functionTypeScrollPane.setPreferredSize(new Dimension(140, 200));

3
src/main/java/com/fr/solution/plugin/design/formula/ui/type/BaseFormulaPane.java

@ -3,11 +3,12 @@ package com.fr.solution.plugin.design.formula.ui.type;
import com.fanruan.api.design.ui.component.code.UISyntaxTextArea;
import com.fanruan.api.i18n.I18nKit;
import com.fr.base.BaseFormula;
import com.fanruan.api.design.ui.container.FurtherBasicBeanPane;
//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.design.beans.FurtherBasicBeanPane;
import com.fr.solution.plugin.design.formula.ui.evt.OperateListener;
import javax.swing.*;

82
src/main/java/com/fr/solution/plugin/design/formula/ui/type/impl/BasicFormulaPane.java

@ -3,19 +3,19 @@ package com.fr.solution.plugin.design.formula.ui.type.impl;
import com.fanruan.api.cal.CalculatorKit;
import com.fanruan.api.cal.FormulaKit;
import com.fanruan.api.design.ui.component.code.UISyntaxTextArea;
import com.fanruan.api.structure.Parameter;
import com.fanruan.api.util.StringKit;
import com.fanruan.api.structure.Formula;
import com.fanruan.api.structure.Expression;
//import com.fanruan.api.structure.Formula;
import com.fr.base.Formula;
import com.fr.design.gui.syntax.ui.rsyntaxtextarea.SyntaxConstants;
import com.fr.solution.plugin.design.formula.ui.type.BaseFormulaPane;
import com.fr.stable.ParameterProvider;
import com.fr.stable.script.CalculatorProvider;
//有问题
import com.fr.stable.xml.XMLPrintWriter;
import com.fr.stable.xml.XMLableReader;
import com.fr.third.antlr.ANTLRException;
import com.fr.general.FRLogger;
@ -86,7 +86,79 @@ public class BasicFormulaPane extends BaseFormulaPane<Formula> {
String[] arr = formula.dependence(calculator);
ParameterProvider[] parameters = new ParameterProvider[arr.length];
for (int i = 0, len = arr.length; i < len; i ++) {
parameters[i] = new Parameter(arr[i]);
parameters[i] = new ParameterProvider() {
@Override
public Object getValue() {
return null;
}
@Override
public void setValue(Object o) {
}
@Override
public String valueToString() {
return null;
}
@Override
public String xmlTag() {
return null;
}
@Override
public String arrayXMLTag() {
return null;
}
@Override
public <T> T newInstance() {
return null;
}
@Override
public String[] dependence(CalculatorProvider calculatorProvider) {
return new String[0];
}
@Override
public String getName() {
return null;
}
@Override
public void setName(String s) {
}
@Override
public int currentAPILevel() {
return 0;
}
@Override
public String mark4Provider() {
return null;
}
@Override
public void readXML(XMLableReader xmLableReader) {
}
@Override
public void writeXML(XMLPrintWriter xmlPrintWriter) {
}
@Override
public Object clone() throws CloneNotSupportedException {
return null;
}
};
parameters[i].setName(arr[i]);
parameters[i].setValue("");
}
return parameters;
}

3
src/main/java/com/fr/solution/plugin/design/formula/ui/type/impl/ScriptFormulaPane.java

@ -1,6 +1,6 @@
package com.fr.solution.plugin.design.formula.ui.type.impl;
;
import com.fanruan.api.base.ScriptFormula;
//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;
@ -10,6 +10,7 @@ import com.fanruan.api.util.StringKit;
import com.fanruan.api.util.RenderKit;
import com.fr.base.ScriptFormula;
import com.fr.design.gui.syntax.ui.rsyntaxtextarea.SyntaxConstants;
import com.fr.general.FRLogger;
import com.fr.solution.plugin.design.formula.ui.type.BaseFormulaPane;

Loading…
Cancel
Save