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
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