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.
97 lines
2.5 KiB
97 lines
2.5 KiB
7 years ago
|
package com.fr.solution.plugin.design.formula.ui.type.impl;
|
||
|
|
||
|
import com.fr.base.Formula;
|
||
|
import com.fr.base.ScriptFormula;
|
||
|
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.design.gui.syntax.ui.rsyntaxtextarea.SyntaxConstants;
|
||
|
import com.fr.general.Inter;
|
||
|
import com.fr.solution.plugin.design.formula.ui.evt.OperateListener;
|
||
|
import com.fr.solution.plugin.design.formula.ui.type.CommonEvent;
|
||
|
import com.fr.stable.StringUtils;
|
||
|
|
||
|
import java.awt.*;
|
||
|
|
||
|
public class ScriptFormulaPane extends FurtherBasicBeanPane<ScriptFormula> implements CommonEvent {
|
||
|
|
||
|
private RSyntaxTextArea formulaTextArea;
|
||
|
|
||
|
public ScriptFormulaPane() {
|
||
|
setLayout(new BorderLayout());
|
||
|
formulaTextArea = new RSyntaxTextArea();
|
||
|
formulaTextArea.setCloseCurlyBraces(true);
|
||
|
formulaTextArea.setLineWrap(true);
|
||
|
formulaTextArea.setSyntaxEditingStyle(SyntaxConstants.SYNTAX_STYLE_JAVASCRIPT);
|
||
|
formulaTextArea.setCodeFoldingEnabled(true);
|
||
|
formulaTextArea.setAntiAliasingEnabled(true);
|
||
|
UIScrollPane formulaTextAreaScrollPane = new UIScrollPane(formulaTextArea);
|
||
|
formulaTextAreaScrollPane.setBorder(null);
|
||
|
add(formulaTextAreaScrollPane, BorderLayout.CENTER);
|
||
|
}
|
||
|
|
||
|
@Override
|
||
|
public boolean accept(Object ob) {
|
||
|
return ob instanceof ScriptFormula;
|
||
|
}
|
||
|
|
||
|
@Override
|
||
|
public void reset() {
|
||
|
|
||
|
}
|
||
|
|
||
|
@Override
|
||
|
public void populateBean(ScriptFormula formula) {
|
||
|
if (formula != null) {
|
||
|
formulaTextArea.setText(formula.getContent());
|
||
|
}
|
||
|
}
|
||
|
|
||
|
@Override
|
||
|
public ScriptFormula updateBean() {
|
||
|
ScriptFormula formula;
|
||
|
String content = formulaTextArea.getText();
|
||
|
if (StringUtils.isEmpty(content) || content.trim().charAt(0) == '=') {
|
||
|
formula = new ScriptFormula(content);
|
||
|
} else {
|
||
|
formula = new ScriptFormula("=" + content);
|
||
|
}
|
||
|
return formula;
|
||
|
}
|
||
|
|
||
|
@Override
|
||
|
public void onDoubleClick(String currentLineContent) {
|
||
|
|
||
|
}
|
||
|
|
||
|
@Override
|
||
|
public void onSingleClick() {
|
||
|
|
||
|
}
|
||
|
|
||
|
@Override
|
||
|
public void applyText(String text) {
|
||
|
|
||
|
}
|
||
|
|
||
|
@Override
|
||
|
public void checkContentValid() {
|
||
|
|
||
|
}
|
||
|
|
||
|
@Override
|
||
|
public void onSearch() {
|
||
|
|
||
|
}
|
||
|
|
||
|
@Override
|
||
|
public void setOperateListener(OperateListener listener) {
|
||
|
|
||
|
}
|
||
|
|
||
|
@Override
|
||
|
public String title4PopupWindow() {
|
||
|
return Inter.getLocText("Plugin-Script_Formula_Title");
|
||
|
}
|
||
|
}
|