|
|
@ -22,6 +22,7 @@ import com.fr.design.utils.gui.GUICoreUtils; |
|
|
|
import com.fr.general.Inter; |
|
|
|
import com.fr.general.Inter; |
|
|
|
import com.fr.parser.FRLexer; |
|
|
|
import com.fr.parser.FRLexer; |
|
|
|
import com.fr.parser.FRParser; |
|
|
|
import com.fr.parser.FRParser; |
|
|
|
|
|
|
|
import com.fr.stable.EncodeConstants; |
|
|
|
import com.fr.stable.ProductConstants; |
|
|
|
import com.fr.stable.ProductConstants; |
|
|
|
import com.fr.stable.StringUtils; |
|
|
|
import com.fr.stable.StringUtils; |
|
|
|
import com.fr.stable.script.Expression; |
|
|
|
import com.fr.stable.script.Expression; |
|
|
@ -38,12 +39,14 @@ import java.awt.event.*; |
|
|
|
import java.io.*; |
|
|
|
import java.io.*; |
|
|
|
import java.util.Locale; |
|
|
|
import java.util.Locale; |
|
|
|
import java.util.Set; |
|
|
|
import java.util.Set; |
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
/** |
|
|
|
* 公式编辑面板 |
|
|
|
* 公式编辑面板 |
|
|
|
|
|
|
|
* |
|
|
|
* @editor zhou |
|
|
|
* @editor zhou |
|
|
|
* @since 2012-3-29下午1:50:53 |
|
|
|
* @since 2012-3-29下午1:50:53 |
|
|
|
*/ |
|
|
|
*/ |
|
|
|
public class FormulaPane extends BasicPane implements KeyListener, UIFormula{ |
|
|
|
public class FormulaPane extends BasicPane implements KeyListener, UIFormula { |
|
|
|
|
|
|
|
|
|
|
|
protected VariableTreeAndDescriptionArea variableTreeAndDescriptionArea; |
|
|
|
protected VariableTreeAndDescriptionArea variableTreeAndDescriptionArea; |
|
|
|
protected RSyntaxTextArea formulaTextArea; |
|
|
|
protected RSyntaxTextArea formulaTextArea; |
|
|
@ -62,17 +65,17 @@ public class FormulaPane extends BasicPane implements KeyListener, UIFormula{ |
|
|
|
public FormulaPane() { |
|
|
|
public FormulaPane() { |
|
|
|
initComponents(); |
|
|
|
initComponents(); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
private void initFormulaTextAreaKeyListener(){ |
|
|
|
private void initFormulaTextAreaKeyListener() { |
|
|
|
formulaTextArea.addKeyListener(this); |
|
|
|
formulaTextArea.addKeyListener(this); |
|
|
|
formulaTextArea.addKeyListener(new KeyAdapter() { |
|
|
|
formulaTextArea.addKeyListener(new KeyAdapter() { |
|
|
|
public void keyReleased(KeyEvent e) { |
|
|
|
public void keyReleased(KeyEvent e) { |
|
|
|
formulaTextArea.setForeground(Color.black); |
|
|
|
formulaTextArea.setForeground(Color.black); |
|
|
|
String text = formulaTextArea.getText(); |
|
|
|
String text = formulaTextArea.getText(); |
|
|
|
// 判断在中文输入状态是否还包含提示符 要删掉
|
|
|
|
// 判断在中文输入状态是否还包含提示符 要删掉
|
|
|
|
//Tips:You_Can_Input_B1_To_Input_The_Data_Of_The_First_Row_Second_Column
|
|
|
|
//Tips:You_Can_Input_B1_To_Input_The_Data_Of_The_First_Row_Second_Column
|
|
|
|
String tip = "\n\n\n" + Inter.getLocText("FR-Designer_FormulaPane_Tips"); |
|
|
|
String tip = "\n\n\n" + Inter.getLocText("FR-Designer_FormulaPane_Tips"); |
|
|
|
if(text.contains(tip)) { |
|
|
|
if (text.contains(tip)) { |
|
|
|
text = text.substring(0, text.indexOf(tip)); |
|
|
|
text = text.substring(0, text.indexOf(tip)); |
|
|
|
insertPosition = 0; |
|
|
|
insertPosition = 0; |
|
|
|
formulaTextArea.setText(text); |
|
|
|
formulaTextArea.setText(text); |
|
|
@ -80,9 +83,9 @@ public class FormulaPane extends BasicPane implements KeyListener, UIFormula{ |
|
|
|
} |
|
|
|
} |
|
|
|
}); |
|
|
|
}); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
private void initFormulaTextAreaMouseListener(){ |
|
|
|
private void initFormulaTextAreaMouseListener() { |
|
|
|
formulaTextArea.addMouseListener(new MouseAdapter() { |
|
|
|
formulaTextArea.addMouseListener(new MouseAdapter() { |
|
|
|
@Override |
|
|
|
@Override |
|
|
|
public void mousePressed(MouseEvent e) { |
|
|
|
public void mousePressed(MouseEvent e) { |
|
|
|
insertPosition = formulaTextArea.getCaretPosition(); |
|
|
|
insertPosition = formulaTextArea.getCaretPosition(); |
|
|
@ -106,22 +109,24 @@ public class FormulaPane extends BasicPane implements KeyListener, UIFormula{ |
|
|
|
} |
|
|
|
} |
|
|
|
}); |
|
|
|
}); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
private void initFormulaTextArea(){ |
|
|
|
private void initFormulaTextArea() { |
|
|
|
formulaTextArea = new RSyntaxTextArea(); |
|
|
|
formulaTextArea = new RSyntaxTextArea(); |
|
|
|
configFormulaArea(); |
|
|
|
configFormulaArea(); |
|
|
|
initFormulaTextAreaKeyListener(); |
|
|
|
initFormulaTextAreaKeyListener(); |
|
|
|
initFormulaTextAreaMouseListener(); |
|
|
|
initFormulaTextAreaMouseListener(); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
private void initKeyWordTextFieldKeyListener(){ |
|
|
|
private void initKeyWordTextFieldKeyListener() { |
|
|
|
keyWordTextField.addKeyListener(new KeyListener() { |
|
|
|
keyWordTextField.addKeyListener(new KeyListener() { |
|
|
|
@Override |
|
|
|
@Override |
|
|
|
public void keyTyped(KeyEvent e) { |
|
|
|
public void keyTyped(KeyEvent e) { |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
@Override |
|
|
|
public void keyReleased(KeyEvent e) { |
|
|
|
public void keyReleased(KeyEvent e) { |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
@Override |
|
|
|
public void keyPressed(KeyEvent e) { |
|
|
|
public void keyPressed(KeyEvent e) { |
|
|
|
if (e.getKeyCode() == KeyEvent.VK_ENTER) { |
|
|
|
if (e.getKeyCode() == KeyEvent.VK_ENTER) { |
|
|
@ -133,9 +138,9 @@ public class FormulaPane extends BasicPane implements KeyListener, UIFormula{ |
|
|
|
} |
|
|
|
} |
|
|
|
}); |
|
|
|
}); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
private void initTipsPane(){ |
|
|
|
private void initTipsPane() { |
|
|
|
// tipsPane
|
|
|
|
// tipsPane
|
|
|
|
JPanel tipsPane = new JPanel(new BorderLayout(4, 4)); |
|
|
|
JPanel tipsPane = new JPanel(new BorderLayout(4, 4)); |
|
|
|
this.add(tipsPane, BorderLayout.EAST); |
|
|
|
this.add(tipsPane, BorderLayout.EAST); |
|
|
|
|
|
|
|
|
|
|
@ -161,7 +166,7 @@ public class FormulaPane extends BasicPane implements KeyListener, UIFormula{ |
|
|
|
} |
|
|
|
} |
|
|
|
}); |
|
|
|
}); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
protected void initComponents() { |
|
|
|
protected void initComponents() { |
|
|
|
this.setLayout(new BorderLayout(4, 4)); |
|
|
|
this.setLayout(new BorderLayout(4, 4)); |
|
|
|
// text
|
|
|
|
// text
|
|
|
@ -172,7 +177,7 @@ public class FormulaPane extends BasicPane implements KeyListener, UIFormula{ |
|
|
|
+ " "); |
|
|
|
+ " "); |
|
|
|
formulaLabel.setBorder(BorderFactory.createEmptyBorder(4, 4, 4, 4)); |
|
|
|
formulaLabel.setBorder(BorderFactory.createEmptyBorder(4, 4, 4, 4)); |
|
|
|
initFormulaTextArea(); |
|
|
|
initFormulaTextArea(); |
|
|
|
|
|
|
|
|
|
|
|
UIScrollPane formulaTextAreaScrollPane = new UIScrollPane(formulaTextArea); |
|
|
|
UIScrollPane formulaTextAreaScrollPane = new UIScrollPane(formulaTextArea); |
|
|
|
formulaTextAreaScrollPane.setBorder(null); |
|
|
|
formulaTextAreaScrollPane.setBorder(null); |
|
|
|
textPane.add(formulaLabel, BorderLayout.NORTH); |
|
|
|
textPane.add(formulaLabel, BorderLayout.NORTH); |
|
|
@ -259,6 +264,7 @@ public class FormulaPane extends BasicPane implements KeyListener, UIFormula{ |
|
|
|
this.formulaTextArea.setText(StringUtils.EMPTY); |
|
|
|
this.formulaTextArea.setText(StringUtils.EMPTY); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
//hugh:为啥会是10呢?搞不懂~~~
|
|
|
|
//hugh:为啥会是10呢?搞不懂~~~
|
|
|
|
private static final int KEY_10 = 10; |
|
|
|
private static final int KEY_10 = 10; |
|
|
|
//上下左右
|
|
|
|
//上下左右
|
|
|
@ -266,6 +272,7 @@ public class FormulaPane extends BasicPane implements KeyListener, UIFormula{ |
|
|
|
private static final int KEY_38 = 38; |
|
|
|
private static final int KEY_38 = 38; |
|
|
|
private static final int KEY_39 = 39; |
|
|
|
private static final int KEY_39 = 39; |
|
|
|
private static final int KEY_40 = 40; |
|
|
|
private static final int KEY_40 = 40; |
|
|
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
@Override |
|
|
|
public void keyReleased(KeyEvent e) { |
|
|
|
public void keyReleased(KeyEvent e) { |
|
|
|
int key = e.getKeyCode(); |
|
|
|
int key = e.getKeyCode(); |
|
|
@ -452,10 +459,10 @@ public class FormulaPane extends BasicPane implements KeyListener, UIFormula{ |
|
|
|
formulaTextArea.requestFocus(); |
|
|
|
formulaTextArea.requestFocus(); |
|
|
|
insertPosition = formulaTextArea.getCaretPosition(); |
|
|
|
insertPosition = formulaTextArea.getCaretPosition(); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
@Override |
|
|
|
protected String title4PopupWindow() { |
|
|
|
protected String title4PopupWindow() { |
|
|
|
return Inter.getLocText("FormulaD-Formula_Definition"); |
|
|
|
return Inter.getLocText("FormulaD-Formula_Definition"); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
/** |
|
|
@ -561,9 +568,9 @@ public class FormulaPane extends BasicPane implements KeyListener, UIFormula{ |
|
|
|
public VariableTreeAndDescriptionArea() { |
|
|
|
public VariableTreeAndDescriptionArea() { |
|
|
|
this.initComponents(); |
|
|
|
this.initComponents(); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
private void initFunctionTypeList(JPanel functionPane){ |
|
|
|
private void initFunctionTypeList(JPanel functionPane) { |
|
|
|
functionTypeList = new QuickList(functionTypeListModel); |
|
|
|
functionTypeList = new QuickList(functionTypeListModel); |
|
|
|
UIScrollPane functionTypeScrollPane = new UIScrollPane(functionTypeList); |
|
|
|
UIScrollPane functionTypeScrollPane = new UIScrollPane(functionTypeList); |
|
|
|
functionTypeScrollPane.setBorder(new UIRoundedBorder(UIConstants.LINE_COLOR, 1, UIConstants.ARC)); |
|
|
|
functionTypeScrollPane.setBorder(new UIRoundedBorder(UIConstants.LINE_COLOR, 1, UIConstants.ARC)); |
|
|
|
functionTypeScrollPane.setPreferredSize(new Dimension(140, 200)); |
|
|
|
functionTypeScrollPane.setPreferredSize(new Dimension(140, 200)); |
|
|
@ -572,23 +579,23 @@ public class FormulaPane extends BasicPane implements KeyListener, UIFormula{ |
|
|
|
initGroupTypeModel(); |
|
|
|
initGroupTypeModel(); |
|
|
|
initTypeListSelectionListener(); |
|
|
|
initTypeListSelectionListener(); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
private void initTypeListCellRenderer(){ |
|
|
|
private void initTypeListCellRenderer() { |
|
|
|
functionTypeList.setCellRenderer( |
|
|
|
functionTypeList.setCellRenderer( |
|
|
|
new DefaultListCellRenderer() { |
|
|
|
new DefaultListCellRenderer() { |
|
|
|
@Override |
|
|
|
@Override |
|
|
|
public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus) { |
|
|
|
public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus) { |
|
|
|
super.getListCellRendererComponent(list, value, index, isSelected, cellHasFocus); |
|
|
|
super.getListCellRendererComponent(list, value, index, isSelected, cellHasFocus); |
|
|
|
if (value instanceof FunctionGroup) { |
|
|
|
if (value instanceof FunctionGroup) { |
|
|
|
this.setText(((FunctionGroup) value).getGroupName()); |
|
|
|
this.setText(((FunctionGroup) value).getGroupName()); |
|
|
|
} |
|
|
|
} |
|
|
|
return this; |
|
|
|
return this; |
|
|
|
} |
|
|
|
} |
|
|
|
}); |
|
|
|
}); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
private void initTypeListSelectionListener(){ |
|
|
|
private void initTypeListSelectionListener() { |
|
|
|
functionTypeList.addListSelectionListener(new ListSelectionListener() { |
|
|
|
functionTypeList.addListSelectionListener(new ListSelectionListener() { |
|
|
|
public void valueChanged(ListSelectionEvent evt) { |
|
|
|
public void valueChanged(ListSelectionEvent evt) { |
|
|
|
Object selectedValue = ((JList) evt.getSource()).getSelectedValue(); |
|
|
|
Object selectedValue = ((JList) evt.getSource()).getSelectedValue(); |
|
|
|
if (!(selectedValue instanceof FunctionGroup)) { |
|
|
|
if (!(selectedValue instanceof FunctionGroup)) { |
|
|
@ -607,22 +614,22 @@ public class FormulaPane extends BasicPane implements KeyListener, UIFormula{ |
|
|
|
} |
|
|
|
} |
|
|
|
}); |
|
|
|
}); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
private void initGroupTypeModel(){ |
|
|
|
private void initGroupTypeModel() { |
|
|
|
functionTypeListModel.addElement(FunctionConstants.COMMON); |
|
|
|
functionTypeListModel.addElement(FunctionConstants.COMMON); |
|
|
|
for (int i = 0; i < FunctionConstants.EMBFUNCTIONS.length; i++) { |
|
|
|
for (int i = 0; i < FunctionConstants.EMBFUNCTIONS.length; i++) { |
|
|
|
functionTypeListModel.addElement(FunctionConstants.EMBFUNCTIONS[i]); |
|
|
|
functionTypeListModel.addElement(FunctionConstants.EMBFUNCTIONS[i]); |
|
|
|
} |
|
|
|
} |
|
|
|
functionTypeListModel.addElement(FunctionConstants.ALL); |
|
|
|
functionTypeListModel.addElement(FunctionConstants.ALL); |
|
|
|
functionTypeListModel.addElement(FunctionConstants.CUSTOM); |
|
|
|
functionTypeListModel.addElement(FunctionConstants.CUSTOM); |
|
|
|
functionTypeListModel.addElement(FunctionConstants.PLUGIN); |
|
|
|
functionTypeListModel.addElement(FunctionConstants.PLUGIN); |
|
|
|
|
|
|
|
|
|
|
|
//hugh: 从函数分组插件中添加分组
|
|
|
|
//hugh: 从函数分组插件中添加分组
|
|
|
|
FunctionConstants.addFunctionGroupFromPlugins(functionTypeListModel); |
|
|
|
FunctionConstants.addFunctionGroupFromPlugins(functionTypeListModel); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
private void initFunctionNameListCellRenderer(){ |
|
|
|
private void initFunctionNameListCellRenderer() { |
|
|
|
functionNameList.setCellRenderer(new DefaultListCellRenderer() { |
|
|
|
functionNameList.setCellRenderer(new DefaultListCellRenderer() { |
|
|
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
@Override |
|
|
|
public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus) { |
|
|
|
public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus) { |
|
|
@ -633,10 +640,10 @@ public class FormulaPane extends BasicPane implements KeyListener, UIFormula{ |
|
|
|
return this; |
|
|
|
return this; |
|
|
|
} |
|
|
|
} |
|
|
|
}); |
|
|
|
}); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
private void initFunctionNameListSelectionListener(){ |
|
|
|
private void initFunctionNameListSelectionListener() { |
|
|
|
functionNameList.addListSelectionListener(new ListSelectionListener() { |
|
|
|
functionNameList.addListSelectionListener(new ListSelectionListener() { |
|
|
|
|
|
|
|
|
|
|
|
public void valueChanged(ListSelectionEvent evt) { |
|
|
|
public void valueChanged(ListSelectionEvent evt) { |
|
|
|
Object selectedValue = functionNameList.getSelectedValue(); |
|
|
|
Object selectedValue = functionNameList.getSelectedValue(); |
|
|
@ -651,9 +658,9 @@ public class FormulaPane extends BasicPane implements KeyListener, UIFormula{ |
|
|
|
} |
|
|
|
} |
|
|
|
}); |
|
|
|
}); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
private void initFunctionNameListMouseListener(){ |
|
|
|
private void initFunctionNameListMouseListener() { |
|
|
|
functionNameList.addMouseListener(new MouseAdapter() { |
|
|
|
functionNameList.addMouseListener(new MouseAdapter() { |
|
|
|
public void mouseClicked(MouseEvent evt) { |
|
|
|
public void mouseClicked(MouseEvent evt) { |
|
|
|
if (evt.getClickCount() >= 2) { |
|
|
|
if (evt.getClickCount() >= 2) { |
|
|
|
Object selectedValue = functionNameList.getSelectedValue(); |
|
|
|
Object selectedValue = functionNameList.getSelectedValue(); |
|
|
@ -675,9 +682,9 @@ public class FormulaPane extends BasicPane implements KeyListener, UIFormula{ |
|
|
|
} |
|
|
|
} |
|
|
|
}); |
|
|
|
}); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
private void initFunctionNameList(JPanel functionPane){ |
|
|
|
private void initFunctionNameList(JPanel functionPane) { |
|
|
|
functionNameList = new JList(new DefaultListModel()); |
|
|
|
functionNameList = new JList(new DefaultListModel()); |
|
|
|
UIScrollPane functionNameScrollPane = new UIScrollPane(functionNameList); |
|
|
|
UIScrollPane functionNameScrollPane = new UIScrollPane(functionNameList); |
|
|
|
functionNameScrollPane.setPreferredSize(new Dimension(140, 200)); |
|
|
|
functionNameScrollPane.setPreferredSize(new Dimension(140, 200)); |
|
|
|
functionPane.add( |
|
|
|
functionPane.add( |
|
|
@ -688,9 +695,9 @@ public class FormulaPane extends BasicPane implements KeyListener, UIFormula{ |
|
|
|
initFunctionNameListSelectionListener(); |
|
|
|
initFunctionNameListSelectionListener(); |
|
|
|
initFunctionNameListMouseListener(); |
|
|
|
initFunctionNameListMouseListener(); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
private void initDescriptionTextArea(){ |
|
|
|
private void initDescriptionTextArea() { |
|
|
|
// Description
|
|
|
|
// Description
|
|
|
|
descriptionTextArea = new UITextArea(16, 27); |
|
|
|
descriptionTextArea = new UITextArea(16, 27); |
|
|
|
|
|
|
|
|
|
|
|
UIScrollPane desScrollPane = new UIScrollPane(descriptionTextArea); |
|
|
|
UIScrollPane desScrollPane = new UIScrollPane(descriptionTextArea); |
|
|
@ -710,16 +717,16 @@ public class FormulaPane extends BasicPane implements KeyListener, UIFormula{ |
|
|
|
}); |
|
|
|
}); |
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
private StringBuilder getText(TextUserObject selectedValue,String path) throws IOException{ |
|
|
|
private StringBuilder getText(TextUserObject selectedValue, String path) throws IOException { |
|
|
|
Reader desReader; |
|
|
|
Reader desReader; |
|
|
|
StringBuilder desBuf = new StringBuilder(); |
|
|
|
StringBuilder desBuf = new StringBuilder(); |
|
|
|
InputStream desInputStream = BaseUtils.readResource(path+ ((TextUserObject) selectedValue).displayText+".txt"); |
|
|
|
InputStream desInputStream = BaseUtils.readResource(path + ((TextUserObject) selectedValue).displayText + ".txt"); |
|
|
|
if (desInputStream == null) { |
|
|
|
if (desInputStream == null) { |
|
|
|
String description = ""; |
|
|
|
String description = ""; |
|
|
|
desReader = new StringReader(description); |
|
|
|
desReader = new StringReader(description); |
|
|
|
} else { |
|
|
|
} else { |
|
|
|
desReader = new InputStreamReader(desInputStream); |
|
|
|
desReader = new InputStreamReader(desInputStream, EncodeConstants.ENCODING_UTF_8); |
|
|
|
} |
|
|
|
} |
|
|
|
BufferedReader reader = new BufferedReader(desReader); |
|
|
|
BufferedReader reader = new BufferedReader(desReader); |
|
|
|
String lineText; |
|
|
|
String lineText; |
|
|
@ -732,12 +739,12 @@ public class FormulaPane extends BasicPane implements KeyListener, UIFormula{ |
|
|
|
reader.close(); |
|
|
|
reader.close(); |
|
|
|
desReader.close(); |
|
|
|
desReader.close(); |
|
|
|
return desBuf; |
|
|
|
return desBuf; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
private void initVariablesTreeSelectionListener(){ |
|
|
|
private void initVariablesTreeSelectionListener() { |
|
|
|
variablesTree.addTreeSelectionListener(new TreeSelectionListener() { |
|
|
|
variablesTree.addTreeSelectionListener(new TreeSelectionListener() { |
|
|
|
public void valueChanged(TreeSelectionEvent e) { |
|
|
|
public void valueChanged(TreeSelectionEvent e) { |
|
|
|
Object selectedValue = ((DefaultMutableTreeNode) variablesTree.getLastSelectedPathComponent()).getUserObject(); |
|
|
|
Object selectedValue = ((DefaultMutableTreeNode) variablesTree.getLastSelectedPathComponent()).getUserObject(); |
|
|
|
if (selectedValue == null) { |
|
|
|
if (selectedValue == null) { |
|
|
|
return; |
|
|
|
return; |
|
|
|
} |
|
|
|
} |
|
|
@ -751,7 +758,7 @@ public class FormulaPane extends BasicPane implements KeyListener, UIFormula{ |
|
|
|
path = "/com/fr/design/insert/formula/variable/en/"; |
|
|
|
path = "/com/fr/design/insert/formula/variable/en/"; |
|
|
|
} |
|
|
|
} |
|
|
|
if (selectedValue instanceof TextUserObject) { |
|
|
|
if (selectedValue instanceof TextUserObject) { |
|
|
|
desBuf = getText((TextUserObject)selectedValue,path); |
|
|
|
desBuf = getText((TextUserObject) selectedValue, path); |
|
|
|
} |
|
|
|
} |
|
|
|
} catch (IOException exp) { |
|
|
|
} catch (IOException exp) { |
|
|
|
FRContext.getLogger().error(exp.getMessage(), exp); |
|
|
|
FRContext.getLogger().error(exp.getMessage(), exp); |
|
|
@ -761,9 +768,9 @@ public class FormulaPane extends BasicPane implements KeyListener, UIFormula{ |
|
|
|
} |
|
|
|
} |
|
|
|
}); |
|
|
|
}); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
private void initVariablesTree(){ |
|
|
|
private void initVariablesTree() { |
|
|
|
// vairable.
|
|
|
|
// vairable.
|
|
|
|
variablesTree = new JTree(); |
|
|
|
variablesTree = new JTree(); |
|
|
|
UIScrollPane variablesTreePane = new UIScrollPane(variablesTree); |
|
|
|
UIScrollPane variablesTreePane = new UIScrollPane(variablesTree); |
|
|
|
variablesTreePane.setBorder(new UIRoundedBorder(UIConstants.LINE_COLOR, 1, UIConstants.ARC)); |
|
|
|
variablesTreePane.setBorder(new UIRoundedBorder(UIConstants.LINE_COLOR, 1, UIConstants.ARC)); |
|
|
@ -773,12 +780,12 @@ public class FormulaPane extends BasicPane implements KeyListener, UIFormula{ |
|
|
|
variablesTree.setShowsRootHandles(true); |
|
|
|
variablesTree.setShowsRootHandles(true); |
|
|
|
variablesTree.addMouseListener(applyTextMouseListener); |
|
|
|
variablesTree.addMouseListener(applyTextMouseListener); |
|
|
|
variablesTree.setCellRenderer(applyTreeCellRenderer); |
|
|
|
variablesTree.setCellRenderer(applyTreeCellRenderer); |
|
|
|
|
|
|
|
|
|
|
|
initDescriptionTextArea(); |
|
|
|
initDescriptionTextArea(); |
|
|
|
|
|
|
|
|
|
|
|
initVariablesTreeSelectionListener(); |
|
|
|
initVariablesTreeSelectionListener(); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
private void initComponents() { |
|
|
|
private void initComponents() { |
|
|
|
this.setLayout(new BorderLayout(4, 4)); |
|
|
|
this.setLayout(new BorderLayout(4, 4)); |
|
|
|
// Function
|
|
|
|
// Function
|
|
|
@ -810,10 +817,10 @@ public class FormulaPane extends BasicPane implements KeyListener, UIFormula{ |
|
|
|
|
|
|
|
|
|
|
|
private void showPopupPane() { |
|
|
|
private void showPopupPane() { |
|
|
|
BasicPane basicPane = new BasicPane() { |
|
|
|
BasicPane basicPane = new BasicPane() { |
|
|
|
@Override |
|
|
|
@Override |
|
|
|
protected String title4PopupWindow() { |
|
|
|
protected String title4PopupWindow() { |
|
|
|
return Inter.getLocText("FR-Designer_FormulaPane_Function_Detail"); |
|
|
|
return Inter.getLocText("FR-Designer_FormulaPane_Function_Detail"); |
|
|
|
} |
|
|
|
} |
|
|
|
}; |
|
|
|
}; |
|
|
|
basicPane.setLayout(FRGUIPaneFactory.createBorderLayout()); |
|
|
|
basicPane.setLayout(FRGUIPaneFactory.createBorderLayout()); |
|
|
|
UITextArea desArea = new UITextArea(); |
|
|
|
UITextArea desArea = new UITextArea(); |
|
|
@ -889,7 +896,7 @@ public class FormulaPane extends BasicPane implements KeyListener, UIFormula{ |
|
|
|
return this; |
|
|
|
return this; |
|
|
|
} |
|
|
|
} |
|
|
|
}; |
|
|
|
}; |
|
|
|
|
|
|
|
|
|
|
|
public void populate(VariableResolver variableResolver) { |
|
|
|
public void populate(VariableResolver variableResolver) { |
|
|
|
// varibale tree.
|
|
|
|
// varibale tree.
|
|
|
|
DefaultTreeModel variableModel = (DefaultTreeModel) variablesTree.getModel(); |
|
|
|
DefaultTreeModel variableModel = (DefaultTreeModel) variablesTree.getModel(); |
|
|
@ -902,28 +909,28 @@ public class FormulaPane extends BasicPane implements KeyListener, UIFormula{ |
|
|
|
DefaultMutableTreeNode bindCellNode = new DefaultMutableTreeNode(new TextUserObject("$$$")); |
|
|
|
DefaultMutableTreeNode bindCellNode = new DefaultMutableTreeNode(new TextUserObject("$$$")); |
|
|
|
rootNode.add(bindCellNode); |
|
|
|
rootNode.add(bindCellNode); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
rootNode.add(new TextFolderUserObject(Inter.getLocText("FormulaD-Data_Fields"), |
|
|
|
rootNode.add(new TextFolderUserObject(Inter.getLocText("FormulaD-Data_Fields"), |
|
|
|
BaseUtils.readIcon("/com/fr/design/images/dialog/table.png"), |
|
|
|
BaseUtils.readIcon("/com/fr/design/images/dialog/table.png"), |
|
|
|
variableResolver.resolveColumnNames()).createMutableTreeNode()); |
|
|
|
variableResolver.resolveColumnNames()).createMutableTreeNode()); |
|
|
|
|
|
|
|
|
|
|
|
// Set cutReport Variable
|
|
|
|
// Set cutReport Variable
|
|
|
|
rootNode.add(new TextFolderUserObject(Inter.getLocText("FR-Designer_FormulaPane_Variables"), |
|
|
|
rootNode.add(new TextFolderUserObject(Inter.getLocText("FR-Designer_FormulaPane_Variables"), |
|
|
|
BaseUtils.readIcon("/com/fr/design/images/dialog/variable.png"), |
|
|
|
BaseUtils.readIcon("/com/fr/design/images/dialog/variable.png"), |
|
|
|
variableResolver.resolveCurReportVariables()).createMutableTreeNode()); |
|
|
|
variableResolver.resolveCurReportVariables()).createMutableTreeNode()); |
|
|
|
|
|
|
|
|
|
|
|
rootNode.add(new TextFolderUserObject(Inter.getLocText(new String[]{"Datasource-Datasource", "Parameter"}), |
|
|
|
rootNode.add(new TextFolderUserObject(Inter.getLocText(new String[]{"Datasource-Datasource", "Parameter"}), |
|
|
|
BaseUtils.readIcon("/com/fr/design/images/dialog/parameter.gif"), |
|
|
|
BaseUtils.readIcon("/com/fr/design/images/dialog/parameter.gif"), |
|
|
|
variableResolver.resolveTableDataParameterVariables()).createMutableTreeNode()); |
|
|
|
variableResolver.resolveTableDataParameterVariables()).createMutableTreeNode()); |
|
|
|
|
|
|
|
|
|
|
|
rootNode.add(new TextFolderUserObject(Inter.getLocText("ParameterD-Report_Parameter"), |
|
|
|
rootNode.add(new TextFolderUserObject(Inter.getLocText("ParameterD-Report_Parameter"), |
|
|
|
BaseUtils.readIcon("/com/fr/design/images/m_report/p.gif"), |
|
|
|
BaseUtils.readIcon("/com/fr/design/images/m_report/p.gif"), |
|
|
|
variableResolver.resolveReportParameterVariables()).createMutableTreeNode()); |
|
|
|
variableResolver.resolveReportParameterVariables()).createMutableTreeNode()); |
|
|
|
|
|
|
|
|
|
|
|
rootNode.add(new TextFolderUserObject(Inter.getLocText("M_Server-Global_Parameters"), |
|
|
|
rootNode.add(new TextFolderUserObject(Inter.getLocText("M_Server-Global_Parameters"), |
|
|
|
BaseUtils.readIcon("/com/fr/design/images/dialog/parameter.gif"), |
|
|
|
BaseUtils.readIcon("/com/fr/design/images/dialog/parameter.gif"), |
|
|
|
variableResolver.resolveGlobalParameterVariables()).createMutableTreeNode()); |
|
|
|
variableResolver.resolveGlobalParameterVariables()).createMutableTreeNode()); |
|
|
|
|
|
|
|
|
|
|
|
variableModel.reload(); |
|
|
|
variableModel.reload(); |
|
|
|
// Expand
|
|
|
|
// Expand
|
|
|
|
for (int row = 0; row < this.variablesTree.getRowCount(); row++) { |
|
|
|
for (int row = 0; row < this.variablesTree.getRowCount(); row++) { |
|
|
|