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

View differences:

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