Revision 44408 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/DefaultExpressionEvaluatorSwingManager.java

View differences:

DefaultExpressionEvaluatorSwingManager.java
1 1
package org.gvsig.expressionevaluator.swing.impl;
2 2

  
3
import java.awt.event.ActionEvent;
4
import java.awt.event.ActionListener;
3 5
import java.util.ArrayList;
4 6
import java.util.Collection;
5 7
import java.util.Collections;
......
7 9
import java.util.HashMap;
8 10
import java.util.List;
9 11
import java.util.Map;
12
import javax.swing.AbstractAction;
13
import javax.swing.Action;
10 14
import javax.swing.JButton;
11 15
import javax.swing.text.JTextComponent;
12 16
import org.apache.commons.lang3.StringUtils;
17
import org.gvsig.expressionevaluator.ExpressionUtils;
13 18
import org.gvsig.expressionevaluator.Function;
14 19
import org.gvsig.expressionevaluator.SymbolTable;
15 20
import org.gvsig.expressionevaluator.swing.CalculatorController;
......
20 25
import org.gvsig.expressionevaluator.swing.Element.FunctionElement;
21 26
import org.gvsig.expressionevaluator.swing.Element.GroupElement;
22 27
import org.gvsig.expressionevaluator.swing.ElementFactory;
28
import org.gvsig.expressionevaluator.swing.ExpressionEvaluatorSwingLocator;
23 29
import org.gvsig.expressionevaluator.swing.ExpressionPickerController;
24 30
import org.gvsig.expressionevaluator.swing.FunctionAdditionalPanelFactory;
25 31
import org.gvsig.expressionevaluator.swing.JExpressionPicker;
......
29 35
import org.gvsig.expressionevaluator.swing.impl.elements.DefaultGroupElement;
30 36
import org.gvsig.tools.ToolsLocator;
31 37
import org.gvsig.tools.i18n.I18nManager;
38
import org.gvsig.tools.swing.api.ToolsSwingLocator;
39
import org.gvsig.tools.swing.api.windowmanager.Dialog;
40
import org.gvsig.tools.swing.api.windowmanager.WindowManager;
41
import org.gvsig.tools.swing.api.windowmanager.WindowManager_v2;
32 42

  
33 43
public class DefaultExpressionEvaluatorSwingManager
34 44
        implements ExpressionEvaluatorSwingManager {
......
104 114
        });
105 115
        return factories;
106 116
    }
117

  
118
    private static class CreateJExpressionBuilderAction extends AbstractAction {
119

  
120
        private JTextComponent jtext;
121
        
122
        public CreateJExpressionBuilderAction(JTextComponent jtext) {
123
            this.jtext = jtext;
124
            I18nManager i18n = ToolsLocator.getI18nManager();
125
            this.putValue(
126
                    Action.ACTION_COMMAND_KEY, 
127
                    "CreateJExpressionBuilderAction"
128
            );
129
            this.putValue(
130
                    Action.NAME, 
131
                    i18n.getTranslation("_Show_expression_builder")
132
            );
133
            this.putValue(
134
                    Action.SMALL_ICON, 
135
                    ToolsSwingLocator.getIconThemeManager().getCurrent().get("picker-expression")
136
            );
137
        }
138
        
139
        @Override
140
        public void actionPerformed(ActionEvent e) {
141
            I18nManager i18n = ToolsLocator.getI18nManager();
142
            WindowManager_v2 winmgr = (WindowManager_v2) ToolsSwingLocator.getWindowManager();
143
            final JExpressionBuilder panel = ExpressionEvaluatorSwingLocator.getManager().createJExpressionBuilder();
144
            final Dialog dialog = winmgr.createDialog(
145
                    panel.asJComponent(),
146
                    i18n.getTranslation("_Expression_builder"),
147
                    null, 
148
                    WindowManager_v2.BUTTONS_OK_CANCEL
149
            );
150
            dialog.addActionListener(new ActionListener() {
151
                @Override
152
                public void actionPerformed(ActionEvent e2) {
153
                    if( dialog.getAction()==WindowManager_v2.BUTTON_OK ) {
154
                        if( ExpressionUtils.isDynamicText(jtext.getText())) {
155
                            jtext.replaceSelection(
156
                                    panel.getExpression().getPhrase()
157
                            );
158
                        } else {
159
                            jtext.replaceSelection(
160
                                ExpressionUtils.surroundByDynamicTextTag(
161
                                    panel.getExpression().getPhrase(),
162
                                    true
163
                                )
164
                            );
165
                        }
166
                    }
167
                }
168
            });
169
            dialog.show(WindowManager.MODE.DIALOG);
170
        }
171
        
172
    }
173

  
174
    @Override
175
    public Action createJExpressionBuilderAction(JTextComponent jtext) {
176
        Action action = new CreateJExpressionBuilderAction(jtext);
177
        return action;
178
    }
107 179
    
108 180
    @Override
109 181
    public JExpressionBuilder createJExpressionBuilder() {

Also available in: Unified diff