|
|
|
@ -6,6 +6,7 @@ import com.fr.base.Parameter;
|
|
|
|
|
import com.fr.base.ParameterMapNameSpace; |
|
|
|
|
import com.fr.base.TableDataNameSpace; |
|
|
|
|
import com.fr.base.Utils; |
|
|
|
|
import com.fr.base.i18n.BidiUtils; |
|
|
|
|
import com.fr.base.io.IOFile; |
|
|
|
|
import com.fr.data.TableDataSource; |
|
|
|
|
import com.fr.design.actions.UpdateAction; |
|
|
|
@ -161,6 +162,7 @@ public class FormulaPane extends BasicPane implements KeyListener, UIFormula {
|
|
|
|
|
|
|
|
|
|
public FormulaPane() { |
|
|
|
|
initComponents(); |
|
|
|
|
BidiUtils.applyOrientationByLocale(this); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
private void initFormulaTextAreaKeyListener() { |
|
|
|
@ -225,6 +227,7 @@ public class FormulaPane extends BasicPane implements KeyListener, UIFormula {
|
|
|
|
|
|
|
|
|
|
private void initFormulaTextArea() { |
|
|
|
|
formulaTextArea = new RSyntaxTextArea(); |
|
|
|
|
BidiUtils.setOrientationByLocale(formulaTextArea); |
|
|
|
|
configFormulaArea(); |
|
|
|
|
initFormulaTextAreaKeyListener(); |
|
|
|
|
initFormulaTextAreaMouseListener(); |
|
|
|
@ -259,23 +262,23 @@ public class FormulaPane extends BasicPane implements KeyListener, UIFormula {
|
|
|
|
|
private void initTipsPane() { |
|
|
|
|
// tipsPane
|
|
|
|
|
JPanel containerSPane = new JPanel(new BorderLayout(4, 1)); |
|
|
|
|
JPanel labelPane = new JPanel(new FlowLayout(FlowLayout.LEFT, 0, 0), true); |
|
|
|
|
JPanel searchPane = new JPanel(new FlowLayout(FlowLayout.RIGHT, 0, 0), true); |
|
|
|
|
JPanel labelPane = new JPanel(new FlowLayout(BidiUtils.rtl() ? FlowLayout.RIGHT : FlowLayout.LEFT, 0, 0), true); |
|
|
|
|
JPanel searchPane = new JPanel(new FlowLayout(BidiUtils.rtl() ? FlowLayout.LEFT : FlowLayout.RIGHT, 0, 0), true); |
|
|
|
|
containerSPane.setPreferredSize(new Dimension(892, 23)); |
|
|
|
|
this.add(containerSPane, BorderLayout.NORTH); |
|
|
|
|
|
|
|
|
|
UIButton searchButton = new UIButton(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_FormulaPane_Search")); |
|
|
|
|
UILabel formulaLabel = new UILabel( |
|
|
|
|
com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_FormulaD_Input_Formula_In_The_Text_Area_Below") + ":"); |
|
|
|
|
BidiUtils.reverseConcatenateStrings(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_FormulaD_Input_Formula_In_The_Text_Area_Below"), ":")); |
|
|
|
|
formulaLabel.setBorder(BorderFactory.createEmptyBorder(4, 4, 4, 4)); |
|
|
|
|
|
|
|
|
|
labelPane.add(formulaLabel, BorderLayout.WEST); |
|
|
|
|
labelPane.add(formulaLabel, BidiUtils.rtl() ? BorderLayout.EAST : BorderLayout.WEST); |
|
|
|
|
keyWordTextField.setPreferredSize(new Dimension(240, 23)); |
|
|
|
|
searchPane.add(keyWordTextField, BorderLayout.EAST); |
|
|
|
|
searchPane.add(searchButton, BorderLayout.EAST); |
|
|
|
|
searchPane.add(keyWordTextField, BidiUtils.rtl() ? BorderLayout.WEST : BorderLayout.EAST); |
|
|
|
|
searchPane.add(searchButton, BidiUtils.rtl() ? BorderLayout.WEST : BorderLayout.EAST); |
|
|
|
|
|
|
|
|
|
containerSPane.add(labelPane, BorderLayout.WEST); |
|
|
|
|
containerSPane.add(searchPane, BorderLayout.EAST); |
|
|
|
|
containerSPane.add(labelPane, BidiUtils.rtl() ? BorderLayout.EAST : BorderLayout.WEST); |
|
|
|
|
containerSPane.add(searchPane, BidiUtils.rtl() ? BorderLayout.WEST : BorderLayout.EAST); |
|
|
|
|
|
|
|
|
|
initKeyWordTextFieldKeyListener(); |
|
|
|
|
tipsList = new JList(listModel); |
|
|
|
@ -313,7 +316,7 @@ public class FormulaPane extends BasicPane implements KeyListener, UIFormula {
|
|
|
|
|
// text
|
|
|
|
|
JPanel textPane = FRGUIPaneFactory.createBorderLayout_S_Pane(); |
|
|
|
|
this.add(textPane, BorderLayout.CENTER); |
|
|
|
|
JPanel checkBoxandbuttonPane = FRGUIPaneFactory.createX_AXISBoxInnerContainer_S_Pane(); |
|
|
|
|
JPanel checkBoxandbuttonPane = new JPanel(new BorderLayout()); |
|
|
|
|
initFormulaTextArea(); |
|
|
|
|
|
|
|
|
|
UIScrollPane formulaTextAreaScrollPane = new UIScrollPane(formulaTextArea); |
|
|
|
@ -329,12 +332,12 @@ public class FormulaPane extends BasicPane implements KeyListener, UIFormula {
|
|
|
|
|
|
|
|
|
|
//靠左流式布局
|
|
|
|
|
JPanel checkBoxPane = FRGUIPaneFactory.createNormalFlowInnerContainer_S_Pane(); |
|
|
|
|
checkBoxandbuttonPane.add(checkBoxPane, BorderLayout.WEST); |
|
|
|
|
checkBoxandbuttonPane.add(checkBoxPane, BidiUtils.rtl() ? BorderLayout.EAST : BorderLayout.WEST); |
|
|
|
|
//靠右流式布局
|
|
|
|
|
JPanel buttonPane = FRGUIPaneFactory.createRightFlowInnerContainer_S_Pane(); |
|
|
|
|
buttonPane.add(checkValidButton, BorderLayout.EAST); |
|
|
|
|
buttonPane.add(calButton, BorderLayout.EAST); |
|
|
|
|
checkBoxandbuttonPane.add(buttonPane, BorderLayout.EAST); |
|
|
|
|
buttonPane.add(checkValidButton, BidiUtils.rtl() ? BorderLayout.WEST : BorderLayout.EAST); |
|
|
|
|
buttonPane.add(calButton, BidiUtils.rtl() ? BorderLayout.WEST : BorderLayout.EAST); |
|
|
|
|
checkBoxandbuttonPane.add(buttonPane, BidiUtils.rtl() ? BorderLayout.WEST : BorderLayout.EAST); |
|
|
|
|
if (autoCompletionCheck == null) { |
|
|
|
|
autoCompletionCheck = new UICheckBox(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Formula_AutoCompletion")); |
|
|
|
|
autoCompletionCheck.setSelected(true); |
|
|
|
@ -343,8 +346,8 @@ public class FormulaPane extends BasicPane implements KeyListener, UIFormula {
|
|
|
|
|
checkBeforeColse = new UICheckBox(Toolkit.i18nText("Fine-Design_Basic_Formula_Check_Before_Closed")); |
|
|
|
|
checkBeforeColse.setSelected(true); |
|
|
|
|
} |
|
|
|
|
checkBoxPane.add(autoCompletionCheck, BorderLayout.WEST); |
|
|
|
|
checkBoxPane.add(checkBeforeColse, BorderLayout.WEST); |
|
|
|
|
checkBoxPane.add(autoCompletionCheck, BidiUtils.rtl() ? BorderLayout.EAST : BorderLayout.WEST); |
|
|
|
|
checkBoxPane.add(checkBeforeColse, BidiUtils.rtl() ? BorderLayout.EAST : BorderLayout.WEST); |
|
|
|
|
extendCheckBoxPane(checkBoxPane); |
|
|
|
|
|
|
|
|
|
ParameterTableModel model = new ParameterTableModel(0); |
|
|
|
@ -1073,7 +1076,7 @@ public class FormulaPane extends BasicPane implements KeyListener, UIFormula {
|
|
|
|
|
UIScrollPane functionTypeScrollPane = new UIScrollPane(functionTypeList); |
|
|
|
|
functionTypeScrollPane.setBorder(new UIRoundedBorder(UIConstants.LINE_COLOR, 1, UIConstants.ARC)); |
|
|
|
|
functionTypeScrollPane.setPreferredSize(new Dimension(140, 200)); |
|
|
|
|
functionPane.add(this.createNamePane(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_FormulaD_Function_Category") + ":", functionTypeScrollPane), BorderLayout.WEST); |
|
|
|
|
functionPane.add(this.createNamePane(BidiUtils.reverseConcatenateStrings(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_FormulaD_Function_Category"), ":"), functionTypeScrollPane), BorderLayout.WEST); |
|
|
|
|
initTypeListCellRenderer(); |
|
|
|
|
initGroupTypeModel(); |
|
|
|
|
initTypeListSelectionListener(); |
|
|
|
@ -1188,7 +1191,7 @@ public class FormulaPane extends BasicPane implements KeyListener, UIFormula {
|
|
|
|
|
UIScrollPane functionNameScrollPane = new UIScrollPane(functionNameList); |
|
|
|
|
functionNameScrollPane.setPreferredSize(new Dimension(140, 200)); |
|
|
|
|
functionPane.add( |
|
|
|
|
this.createNamePane(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_FormulaD_Function_Name") + ":", functionNameScrollPane), |
|
|
|
|
this.createNamePane(BidiUtils.reverseConcatenateStrings(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_FormulaD_Function_Name"), ":"), functionNameScrollPane), |
|
|
|
|
BorderLayout.CENTER); |
|
|
|
|
functionNameScrollPane.setBorder(new UIRoundedBorder(UIConstants.LINE_COLOR, 1, UIConstants.ARC)); |
|
|
|
|
initFunctionNameListCellRenderer(); |
|
|
|
@ -1272,7 +1275,7 @@ public class FormulaPane extends BasicPane implements KeyListener, UIFormula {
|
|
|
|
|
UIScrollPane variablesTreePane = new UIScrollPane(variablesTree); |
|
|
|
|
variablesTreePane.setBorder(new UIRoundedBorder(UIConstants.LINE_COLOR, 1, UIConstants.ARC)); |
|
|
|
|
panel.add(this.createNamePane( |
|
|
|
|
com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_FormulaPane_Variables") + ":", variablesTreePane), BorderLayout.WEST); |
|
|
|
|
BidiUtils.reverseConcatenateStrings(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_FormulaPane_Variables"), ":"), variablesTreePane), BorderLayout.WEST); |
|
|
|
|
variablesTree.setRootVisible(false); |
|
|
|
|
variablesTree.setShowsRootHandles(true); |
|
|
|
|
variablesTree.addMouseListener(applyTextMouseListener); |
|
|
|
@ -1282,7 +1285,7 @@ public class FormulaPane extends BasicPane implements KeyListener, UIFormula {
|
|
|
|
|
|
|
|
|
|
UIScrollPane desScrollPane = new UIScrollPane(descriptionTextArea); |
|
|
|
|
desScrollPane.setBorder(null); |
|
|
|
|
panel.add(this.createNamePane(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_FormulaPane_Formula_Description") + ":", desScrollPane), BorderLayout.CENTER); |
|
|
|
|
panel.add(this.createNamePane(BidiUtils.reverseConcatenateStrings(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_FormulaPane_Formula_Description"), ":"), desScrollPane), BorderLayout.CENTER); |
|
|
|
|
initVariablesTreeSelectionListener(); |
|
|
|
|
this.add(panel, BorderLayout.CENTER); |
|
|
|
|
} |
|
|
|
|