Revision 1698 org.gvsig.tools/library/trunk/org.gvsig.tools/org.gvsig.tools.swing/org.gvsig.tools.swing.impl/src/main/java/org/gvsig/tools/swing/impl/DefaultToolsSwingManager.java

View differences:

DefaultToolsSwingManager.java
3 3

  
4 4
import java.awt.Color;
5 5
import java.awt.Dimension;
6
import java.awt.event.ActionEvent;
6 7
import java.awt.image.BufferedImage;
7 8
import java.awt.image.WritableRaster;
9
import javax.swing.AbstractAction;
8 10
import javax.swing.AbstractButton;
11
import javax.swing.Action;
9 12
import javax.swing.ComboBoxModel;
10 13
import javax.swing.JButton;
11 14
import javax.swing.JComboBox;
12 15
import javax.swing.JLabel;
13 16
import javax.swing.JList;
17
import javax.swing.JPopupMenu;
14 18
import javax.swing.JSlider;
15 19
import javax.swing.JTabbedPane;
16 20
import javax.swing.JTextField;
21
import javax.swing.text.DefaultEditorKit;
22
import javax.swing.text.JTextComponent;
17 23
import javax.swing.tree.TreeModel;
18 24
import org.apache.commons.lang3.StringUtils;
19 25
import org.gvsig.tools.ToolsLocator;
......
185 191
            }
186 192
        }
187 193
    }
194
    
195
    @Override
196
    public void setDefaultPopupMenu(final JTextComponent component) {
197
        this.setDefaultPopupMenu(component, null);
198
    }
199

  
200
    @Override
201
    public void setDefaultPopupMenu(final JTextComponent component, String title) {
202
        JPopupMenu popupMenu = new JPopupMenu();
203
        I18nManager i18nManager = ToolsLocator.getI18nManager();
204

  
205
        Action copyAction = component.getActionMap().get(DefaultEditorKit.copyAction);
206
        Action cutAction = component.getActionMap().get(DefaultEditorKit.cutAction);
207
        Action pasteAction = component.getActionMap().get(DefaultEditorKit.pasteAction);
208
        Action selectAllAction = component.getActionMap().get(DefaultEditorKit.selectAllAction);
209

  
210
        if (copyAction == null
211
                && cutAction == null
212
                && pasteAction == null
213
                && selectAllAction == null) {
214
            copyAction = component.getActionMap().get(i18nManager.getTranslation("copy"));
215
            cutAction = component.getActionMap().get(i18nManager.getTranslation("cut"));
216
            pasteAction = component.getActionMap().get(i18nManager.getTranslation("paste"));
217
            selectAllAction = component.getActionMap().get(i18nManager.getTranslation("SelectAll"));
218
        } else {
219
            copyAction.putValue(Action.NAME, i18nManager.getTranslation("copy"));
220
            cutAction.putValue(Action.NAME, i18nManager.getTranslation("cut"));
221
            pasteAction.putValue(Action.NAME, i18nManager.getTranslation("paste"));
222
            selectAllAction.putValue(Action.NAME, i18nManager.getTranslation("SelectAll"));
223
        }
224

  
225
        final String title2;
226
        if( title == null ) {
227
            title2 = i18nManager.getTranslation("text_editor");
228
        } else {
229
            title2 = title;
230
        }
231
        Action textEditorAction = new AbstractAction(i18nManager.getTranslation("text_editor")) {
232
            @Override
233
            public void actionPerformed(ActionEvent e) {
234
                DefaultZoomDialog dialog = new DefaultZoomDialog(title2, component.getText());
235
                dialog.setEditable(component.isEditable());
236
                dialog.setAlwaysOnTop(true);
237
                dialog.setVisible(true);
238
                if (component.isEditable() && component.isEnabled()) {
239
                    component.setText(dialog.getText());
240
                }
241
            }
242
        };
243
        popupMenu.add(textEditorAction);
244
        popupMenu.addSeparator();
245

  
246
        popupMenu.add(cutAction);
247
        popupMenu.add(copyAction);
248
        popupMenu.add(pasteAction);
249
        popupMenu.add(selectAllAction);
250

  
251
        component.setComponentPopupMenu(popupMenu);
252
    }
253

  
254
    @Override
255
    public void setDefaultPopupMenu(JComboBox component) {
256
        this.setDefaultPopupMenu((JTextComponent) component.getEditor().getEditorComponent(), null);
257
    }
258

  
259

  
260
    @Override
261
    public void setDefaultPopupMenu(JComboBox component, String title) {
262
        this.setDefaultPopupMenu((JTextComponent) component.getEditor().getEditorComponent(), title);
263
    }
264
    
188 265
}

Also available in: Unified diff