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 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"); } }