Revision 1772
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 | ||
---|---|---|
8 | 8 |
import java.awt.event.ActionListener; |
9 | 9 |
import java.awt.image.BufferedImage; |
10 | 10 |
import java.awt.image.WritableRaster; |
11 |
import java.beans.PropertyChangeEvent; |
|
12 |
import java.beans.PropertyChangeListener; |
|
11 | 13 |
import java.io.File; |
12 | 14 |
import java.lang.reflect.InvocationTargetException; |
13 | 15 |
import java.lang.reflect.Method; |
... | ... | |
21 | 23 |
import javax.swing.JComponent; |
22 | 24 |
import javax.swing.JLabel; |
23 | 25 |
import javax.swing.JList; |
26 |
import javax.swing.JMenuItem; |
|
24 | 27 |
import javax.swing.JPopupMenu; |
25 | 28 |
import javax.swing.JScrollPane; |
26 | 29 |
import javax.swing.JSlider; |
... | ... | |
297 | 300 |
} |
298 | 301 |
} |
299 | 302 |
}; |
303 |
final JMenuItem menuCut = new JMenuItem(cutAction); |
|
304 |
final JMenuItem menuPaste = new JMenuItem(pasteAction); |
|
305 |
|
|
300 | 306 |
popupMenu.add(textEditorAction); |
301 | 307 |
popupMenu.addSeparator(); |
302 | 308 |
|
303 |
popupMenu.add(cutAction);
|
|
309 |
popupMenu.add(menuCut);
|
|
304 | 310 |
popupMenu.add(copyAction); |
305 |
popupMenu.add(pasteAction);
|
|
311 |
popupMenu.add(menuPaste);
|
|
306 | 312 |
popupMenu.add(selectAllAction); |
307 |
|
|
313 |
|
|
314 |
if( component.isEnabled() && component.isEditable() ) { |
|
315 |
menuCut.setEnabled(true); |
|
316 |
menuPaste.setEnabled(true); |
|
317 |
} else { |
|
318 |
menuCut.setEnabled(false); |
|
319 |
menuPaste.setEnabled(false); |
|
320 |
} |
|
321 |
component.addPropertyChangeListener(new PropertyChangeListener() { |
|
322 |
@Override |
|
323 |
public void propertyChange(PropertyChangeEvent evt) { |
|
324 |
if( evt==null ) { |
|
325 |
return; |
|
326 |
} |
|
327 |
if( evt.getPropertyName().equalsIgnoreCase("enabled") ) { |
|
328 |
boolean enabled = component.isEnabled(); |
|
329 |
menuCut.setEnabled(enabled); |
|
330 |
menuPaste.setEnabled(enabled); |
|
331 |
} else if( evt.getPropertyName().equalsIgnoreCase("editable") ) { |
|
332 |
boolean editable = component.isEditable(); |
|
333 |
menuCut.setEnabled(editable); |
|
334 |
menuPaste.setEnabled(editable); |
|
335 |
} |
|
336 |
} |
|
337 |
}); |
|
308 | 338 |
component.setComponentPopupMenu(popupMenu); |
309 | 339 |
} |
310 | 340 |
|
... | ... | |
406 | 436 |
|
407 | 437 |
@Override |
408 | 438 |
public void addClearButton(final JTextField text, final ActionListener action) { |
409 |
JButton btnClear = new JButton(getIcon("picker-cleartext")); |
|
439 |
final JButton btnClear = new JButton(getIcon("picker-cleartext"));
|
|
410 | 440 |
btnClear.setBorderPainted( false ); |
411 | 441 |
btnClear.setFocusPainted( false ); |
412 | 442 |
btnClear.setContentAreaFilled( false ); |
... | ... | |
423 | 453 |
} |
424 | 454 |
text.setLayout(new BorderLayout()); |
425 | 455 |
text.add(btnClear, BorderLayout.EAST); |
456 |
text.addPropertyChangeListener(new PropertyChangeListener() { |
|
457 |
@Override |
|
458 |
public void propertyChange(PropertyChangeEvent evt) { |
|
459 |
if( evt!=null && evt.getPropertyName().equalsIgnoreCase("enabled") ) { |
|
460 |
boolean enabled = text.isEnabled(); |
|
461 |
btnClear.setEnabled(enabled); |
|
462 |
} |
|
463 |
} |
|
464 |
}); |
|
426 | 465 |
} |
427 | 466 |
} |
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/script/ScriptListPickerController.java | ||
---|---|---|
3 | 3 |
import java.util.List; |
4 | 4 |
import javax.swing.JButton; |
5 | 5 |
import javax.swing.JComboBox; |
6 |
import javax.swing.JList; |
|
6 | 7 |
import org.gvsig.tools.script.Script; |
7 | 8 |
import org.gvsig.tools.swing.api.pickercontroller.AbstractPickerController; |
8 | 9 |
|
... | ... | |
13 | 14 |
public class ScriptListPickerController extends AbstractPickerController<List<Script>> { |
14 | 15 |
private List<Script> scripts; |
15 | 16 |
private final JComboBox combo; |
17 |
private final JList list; |
|
16 | 18 |
private final JButton btnRemove; |
17 | 19 |
private final JButton btnChooser; |
18 | 20 |
|
19 | 21 |
public ScriptListPickerController(JComboBox combo, JButton remove, JButton chooser) { |
20 | 22 |
this.combo = combo; |
23 |
this.list = null; |
|
21 | 24 |
this.btnChooser = chooser; |
22 | 25 |
this.btnRemove = remove; |
23 |
|
|
26 |
|
|
24 | 27 |
this.combo.setEnabled(false); |
28 |
|
|
29 |
this.initComponents(); |
|
30 |
} |
|
31 |
|
|
32 |
public ScriptListPickerController(JList list, JButton remove, JButton chooser) { |
|
33 |
this.combo = null; |
|
34 |
this.list = list; |
|
35 |
this.btnChooser = chooser; |
|
36 |
this.btnRemove = remove; |
|
37 |
|
|
38 |
this.list.setEnabled(false); |
|
39 |
|
|
40 |
this.initComponents(); |
|
41 |
} |
|
42 |
|
|
43 |
private void initComponents() { |
|
25 | 44 |
this.btnRemove.setEnabled(false); |
26 | 45 |
this.btnRemove.setIcon(this.getIcon("picker-script-remove")); |
27 | 46 |
this.btnRemove.setText(""); |
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/script/DefaultScriptSwingManager.java | ||
---|---|---|
5 | 5 |
import javax.swing.ImageIcon; |
6 | 6 |
import javax.swing.JButton; |
7 | 7 |
import javax.swing.JComboBox; |
8 |
import javax.swing.JList; |
|
8 | 9 |
import javax.swing.JTextField; |
9 | 10 |
import org.gvsig.tools.script.Script; |
10 | 11 |
import org.gvsig.tools.swing.api.ToolsSwingLocator; |
... | ... | |
54 | 55 |
ScriptListPickerController x = new ScriptListPickerController(combo, remove, chooser); |
55 | 56 |
return x; |
56 | 57 |
} |
58 |
|
|
59 |
@Override |
|
60 |
public PickerController<List<Script>> createListScriptPickerController(JList list, JButton remove, JButton chooser) { |
|
61 |
ScriptListPickerController x = new ScriptListPickerController(list, remove, chooser); |
|
62 |
return x; |
|
63 |
} |
|
57 | 64 |
|
58 | 65 |
} |
Also available in: Unified diff