Revision 1746 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
6 6
import java.awt.event.ActionEvent;
7 7
import java.awt.image.BufferedImage;
8 8
import java.awt.image.WritableRaster;
9
import java.io.File;
10
import java.lang.reflect.InvocationTargetException;
11
import java.lang.reflect.Method;
9 12
import javax.swing.AbstractAction;
10 13
import javax.swing.AbstractButton;
11 14
import javax.swing.Action;
12 15
import javax.swing.ComboBoxModel;
13 16
import javax.swing.JButton;
14 17
import javax.swing.JComboBox;
18
import javax.swing.JComponent;
15 19
import javax.swing.JLabel;
16 20
import javax.swing.JList;
17 21
import javax.swing.JPopupMenu;
......
25 29
import org.gvsig.tools.ToolsLocator;
26 30
import org.gvsig.tools.i18n.I18nManager;
27 31
import org.gvsig.tools.swing.api.ActionListenerSupport;
32
import org.gvsig.tools.swing.api.ChangeListenerHelper;
28 33
import org.gvsig.tools.swing.api.ColorChooserController;
29 34
import org.gvsig.tools.swing.api.JListWithCheckbox;
30 35
import org.gvsig.tools.swing.api.ToolsSwingManager;
36
import org.gvsig.tools.swing.api.pickercontroller.ColorPickerController;
37
import org.gvsig.tools.swing.api.pickercontroller.DatePickerController;
38
import org.gvsig.tools.swing.api.pickercontroller.FilePickerController;
39
import org.gvsig.tools.swing.api.pickercontroller.FolderPickerController;
31 40
import org.gvsig.tools.swing.impl.bufferedImage.VirtualBufferedImageHelper;
32 41
import org.gvsig.tools.swing.impl.bufferedImage.VirtualBufferedImageHelper.VirtualDataBuffer;
42
import org.gvsig.tools.swing.impl.pickercontroller.ColorPickerControllerImpl;
43
import org.gvsig.tools.swing.impl.pickercontroller.DatePickerControllerImpl;
44
import org.gvsig.tools.swing.impl.pickercontroller.FilePickerControllerImpl;
45
import org.gvsig.tools.swing.impl.pickercontroller.FolderPickerControllerImpl;
33 46

  
34 47

  
35 48
public class DefaultToolsSwingManager implements ToolsSwingManager {
......
151 164
        return color;
152 165
    }
153 166

  
167
    private Object call(Object obj, String name, Object... params) {
168
        Class[] types = null;
169
        if( params != null ) {
170
            types = new Class[params.length];
171
            for (int i = 0; i < params.length; i++) {
172
                types[i] = params[i].getClass();
173
            }
174
        }
175
        Method method;
176
        try {
177
            method = obj.getClass().getMethod(name, types);
178
            Object r = method.invoke(obj, params);
179
            return r;
180
        } catch (NoSuchMethodException | 
181
                SecurityException | 
182
                IllegalAccessException | 
183
                IllegalArgumentException | 
184
                InvocationTargetException ex) {
185
        }
186
        return  null;
187
    }
188
    
154 189
    @Override
190
    public void translate(JComponent component) {
191
        I18nManager i18n = ToolsLocator.getI18nManager();
192
        String s = (String) call(component, "getText", (Object[]) null);
193
        if( !StringUtils.isEmpty(s) ) {
194
            call(component,"setText",i18n.getTranslation(s));
195
        }
196
        s = (String) call(component, "getToolTipText", (Object[]) null);
197
        if( !StringUtils.isEmpty(s) ) {
198
            call(component,"setToolTipText",i18n.getTranslation(s));
199
        }
200
    }
201
    
202
    @Override
155 203
    public void translate(AbstractButton component) {
156 204
        I18nManager i18n = ToolsLocator.getI18nManager();
157 205
        String s = component.getText();
......
177 225
        }
178 226
    }
179 227

  
228
    @Override
180 229
    public void translate(JTabbedPane component) {
181 230
        I18nManager i18n = ToolsLocator.getI18nManager();
182 231

  
......
261 310
    public void setDefaultPopupMenu(JComboBox component, String title) {
262 311
        this.setDefaultPopupMenu((JTextComponent) component.getEditor().getEditorComponent(), title);
263 312
    }
313

  
314
    @Override
315
    public ChangeListenerHelper createChangeListenerHelper() {
316
        DefaultChangeListenerHelper x = new DefaultChangeListenerHelper();
317
        return x;
318
    }
319

  
320
    @Override
321
    public ColorPickerController createColorPickerController(JTextField txtLabel, JButton btnShowDialog, JSlider sldAlpha, boolean allowNull) {
322
        return new ColorPickerControllerImpl(txtLabel, btnShowDialog, sldAlpha, allowNull);
323
    }
324

  
325
    @Override
326
    public ColorPickerController createColorPickerController(JTextField txtLabel, JButton btnShowDialog) {
327
        return new ColorPickerControllerImpl(txtLabel, btnShowDialog);
328
    } 
329

  
330
    @Override
331
    public ColorPickerController createColorPickerController(JTextField txtLabel, JButton btnShowDialog, JSlider sldAlpha) {
332
        return new ColorPickerControllerImpl(txtLabel, btnShowDialog, sldAlpha);
333
    }
334

  
335
    @Override
336
    public DatePickerController createDatePickerController(JTextField txtDate, JButton btnDate) {
337
        return new DatePickerControllerImpl(txtDate, btnDate);
338
    }
339

  
340
    @Override
341
    public FilePickerController createFilePickerController(JTextField txtFile, JButton btnFile, String dialogTitle, String fileChooserID, File initialPath, boolean seticon) {
342
        return new FilePickerControllerImpl(txtFile, btnFile, dialogTitle, fileChooserID, initialPath, seticon);
343
    }
344

  
345
    @Override
346
    public FilePickerController createFilePickerController(JTextField txtFile, JButton btnFile) {
347
        return new FilePickerControllerImpl(txtFile, btnFile);
348
    }
349

  
350
    @Override
351
    public FilePickerController createFilePickerController(JTextField txtFile, JButton btnFile, String dialogTitle) {
352
        return new FilePickerControllerImpl(txtFile, btnFile, dialogTitle);
353
    }
354

  
355
    @Override
356
    public FolderPickerController createFolderPickerController(JTextField txtFile, JButton btnFile, String dialogTitle, String fileChooserID, File initialPath, boolean seticon) {
357
        return new FolderPickerControllerImpl(txtFile, btnFile, dialogTitle, fileChooserID, initialPath, seticon);
358
    }
359

  
360
    @Override
361
    public FolderPickerController createFolderPickerController(JTextField txtFile, JButton btnFile) {
362
        return new FolderPickerControllerImpl(txtFile, btnFile);
363
    }
364

  
365
    @Override
366
    public FolderPickerController createFolderPickerController(JTextField txtFile, JButton btnFile, String dialogTitle) {
367
        return new FolderPickerControllerImpl(txtFile, btnFile,dialogTitle);
368
    }
264 369
    
265 370
}

Also available in: Unified diff