Revision 44094 trunk/org.gvsig.desktop/org.gvsig.desktop.library/org.gvsig.expressionevaluator/org.gvsig.expressionevaluator.swing/org.gvsig.expressionevaluator.swing.impl/src/main/java/org/gvsig/expressionevaluator/swing/impl/DefaultExpressionPickerController.java
DefaultExpressionPickerController.java | ||
---|---|---|
1 | 1 |
package org.gvsig.expressionevaluator.swing.impl; |
2 | 2 |
|
3 |
import java.awt.MenuItem; |
|
3 | 4 |
import java.awt.event.ActionEvent; |
4 | 5 |
import java.awt.event.ActionListener; |
5 | 6 |
import java.net.URL; |
... | ... | |
9 | 10 |
import javax.swing.Action; |
10 | 11 |
import javax.swing.ImageIcon; |
11 | 12 |
import javax.swing.JButton; |
13 |
import javax.swing.JMenuItem; |
|
12 | 14 |
import javax.swing.JPopupMenu; |
13 | 15 |
import javax.swing.text.JTextComponent; |
14 | 16 |
import org.apache.commons.lang3.StringUtils; |
... | ... | |
57 | 59 |
private Expression value; |
58 | 60 |
private ExpressionBuilderConfig config; |
59 | 61 |
private final ExpressionEvaluatorSwingManager manager; |
62 |
private final ActionListener buttonAction; |
|
63 |
private final JMenuItem menuItem; |
|
60 | 64 |
|
61 | 65 |
public DefaultExpressionPickerController(ExpressionEvaluatorSwingManager manager, JTextComponent text, JButton button) { |
62 | 66 |
ToolsSwingManager swingManager = ToolsSwingLocator.getToolsSwingManager(); |
... | ... | |
68 | 72 |
this.button = button; |
69 | 73 |
this.value = ExpressionEvaluatorLocator.getManager().createExpression(); |
70 | 74 |
this.button.setIcon(this.getIcon("picker-expression")); |
71 |
this.button.addActionListener(new ActionListener() {
|
|
75 |
this.buttonAction = new ActionListener() {
|
|
72 | 76 |
@Override |
73 | 77 |
public void actionPerformed(ActionEvent e) { |
74 | 78 |
doSelectExpression(); |
75 | 79 |
} |
76 |
}); |
|
80 |
}; |
|
81 |
this.button.addActionListener(this.buttonAction); |
|
77 | 82 |
|
78 | 83 |
swingManager.addClearButton(this.text); |
79 | 84 |
swingManager.setDefaultPopupMenu(this.text); |
80 | 85 |
JPopupMenu popupMenu = this.text.getComponentPopupMenu(); |
81 |
Action showExpressionBuilderAction = new AbstractAction(i18n.getTranslation("_Show_expression_builder")) { |
|
82 |
@Override |
|
83 |
public void actionPerformed(ActionEvent e) { |
|
84 |
doSelectExpression(); |
|
85 |
} |
|
86 |
}; |
|
87 |
popupMenu.addSeparator(); |
|
88 |
popupMenu.add(showExpressionBuilderAction); |
|
86 |
this.menuItem = new JMenuItem(i18n.getTranslation("_Show_expression_builder")); |
|
87 |
this.menuItem.addActionListener(buttonAction); |
|
88 |
popupMenu.add(this.menuItem); |
|
89 | 89 |
} |
90 | 90 |
|
91 |
@Override |
|
92 |
public void unbind() { |
|
93 |
this.button.removeActionListener(this.buttonAction); |
|
94 |
JPopupMenu popupMenu = this.text.getComponentPopupMenu(); |
|
95 |
popupMenu.remove(this.menuItem); |
|
96 |
} |
|
97 |
|
|
91 | 98 |
private void doSelectExpression() { |
92 | 99 |
this.value.setPhrase(this.text.getText()); |
93 | 100 |
|
Also available in: Unified diff