Revision 1772

View differences:

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