Revision 468 org.gvsig.scripting/trunk/org.gvsig.scripting/org.gvsig.scripting.swing/org.gvsig.scripting.swing.impl/src/main/java/org/gvsig/scripting/swing/impl/composer/JNewScriptPanel.java

View differences:

JNewScriptPanel.java
5 5
import java.awt.Dimension;
6 6
import java.awt.event.ActionEvent;
7 7
import java.awt.event.ActionListener;
8
import java.util.Collection;
8
import java.util.List;
9 9

  
10 10
import javax.swing.DefaultComboBoxModel;
11 11
import javax.swing.JComboBox;
......
21 21
import org.gvsig.scripting.swing.impl.DialogPanel;
22 22

  
23 23
public class JNewScriptPanel extends JNewScriptPanelLayout implements DialogPanel {
24
	/**
25
	 * 
26
	 */
27
	private static final long serialVersionUID = -3455272930442207085L;
28
	private final ScriptingUIManager uimanager;
29
	private final ScriptingManager manager;
30
	private final JNewScriptModel model;
31
	 
32
	
33
	public JNewScriptPanel(ScriptingUIManager uimanager, JNewScriptModel model){
34
		super();
35
		this.uimanager = uimanager;
36
		this.manager = this.uimanager.getManager();
37
		this.model= model;
38
		this.setBackground(Color.RED);
39
		model.setAction(JNewScriptModel.ACTION_CANCEL);
40 24

  
41
        Collection<String> langs = manager.getSupportedLanguagesByExtension().values();
42
		languages.setModel(new DefaultComboBoxModel(langs.toArray()));
43
		languages.setSelectedItem("python");
25
    /**
26
     *
27
     */
28
    private static final long serialVersionUID = -3455272930442207085L;
29
    private final ScriptingUIManager uimanager;
30
    private final ScriptingManager manager;
31
    private final JNewScriptModel model;
44 32

  
45
		units.setModel(new DefaultComboBoxModel(manager.getUnitTypes().toArray()));
46
		units.addActionListener(new ActionListener(){
47
			public void actionPerformed(ActionEvent arg0) {
48
				if(((JComboBox)arg0.getSource()).getSelectedItem().equals("Project")){
49
					JOptionPane.showMessageDialog(null, "Projects will be supported in future versions", "Info", JOptionPane.INFORMATION_MESSAGE);
50
				} else if(((JComboBox)arg0.getSource()).getSelectedItem().equals("Folder")){
51
					languages.setEnabled(false);
52
					createdBy.setEditable(false);
53
					version.setEditable(false);
54
				} else {
55
					languages.setEnabled(true);
56
					createdBy.setEditable(true);
57
					version.setEditable(true);
58
				}
59
			}
60
		});
33
    public JNewScriptPanel(ScriptingUIManager uimanager, JNewScriptModel model) {
34
        super();
35
        this.uimanager = uimanager;
36
        this.manager = this.uimanager.getManager();
37
        this.model = model;
38
        this.setBackground(Color.RED);
39
        model.setAction(JNewScriptModel.ACTION_CANCEL);
61 40

  
62
		saveTo.setText(this.manager.getRootUserFolder().getAbsolutePath());
63
		DefaultJScriptingBrowser jbrowser = new DefaultJScriptingBrowser(this.uimanager,this.manager.getUserFolder(),true);
64
		jbrowser.setPreferredSize(new Dimension(250,100));
65
		saveToPanel.setLayout(new BorderLayout());
66
		saveToPanel.add(jbrowser);
67
		jbrowser.addSelectionActionListener(new ActionListener() {
68
			public void actionPerformed(ActionEvent arg0) {
69
				JViewport jView = (JViewport)arg0.getSource();
70
				JScrollPane jScroll = (JScrollPane)jView.getParent();
71
				DefaultJScriptingBrowser jBrowser = (DefaultJScriptingBrowser)jScroll.getParent();
72
				if(jBrowser.getSelectedNode() instanceof ScriptingFolder){
73
					ScriptingFolder selectedFolder = (ScriptingFolder)jBrowser.getSelectedNode();
74
					saveTo.setText(selectedFolder.getFile().getAbsolutePath());
75
				}			
76
			}
77
		});
78
	}
41
        List<String> langs = manager.getSupportedLanguages();
42
        languages.setModel(new DefaultComboBoxModel(langs.toArray()));
43
        languages.setSelectedItem("python");
79 44

  
45
        units.setModel(new DefaultComboBoxModel(manager.getUnitTypes().toArray()));
46
        units.addActionListener(new ActionListener() {
47
            public void actionPerformed(ActionEvent arg0) {
48
                if (((JComboBox) arg0.getSource()).getSelectedItem().equals("Folder")) {
49
                    languages.setEnabled(false);
50
                    createdBy.setEditable(false);
51
                    version.setEditable(false);
52
                } else {
53
                    languages.setEnabled(true);
54
                    createdBy.setEditable(true);
55
                    version.setEditable(true);
56
                }
57
            }
58
        });
59

  
60
        saveTo.setText(this.manager.getRootUserFolder().getAbsolutePath());
61
        DefaultJScriptingBrowser jbrowser = new DefaultJScriptingBrowser(this.uimanager, this.manager.getUserFolder(), true);
62
        jbrowser.setPreferredSize(new Dimension(250, 100));
63
        saveToPanel.setLayout(new BorderLayout());
64
        saveToPanel.add(jbrowser);
65
        jbrowser.addSelectionActionListener(new ActionListener() {
66
            public void actionPerformed(ActionEvent arg0) {
67
                JViewport jView = (JViewport) arg0.getSource();
68
                JScrollPane jScroll = (JScrollPane) jView.getParent();
69
                DefaultJScriptingBrowser jBrowser = (DefaultJScriptingBrowser) jScroll.getParent();
70
                if (jBrowser.getSelectedNode() instanceof ScriptingFolder) {
71
                    ScriptingFolder selectedFolder = (ScriptingFolder) jBrowser.getSelectedNode();
72
                    saveTo.setText(selectedFolder.getFile().getAbsolutePath());
73
                }
74
            }
75
        });
76
    }
77

  
80 78
    public void actionAccept() {
81 79

  
82
		model.setType((String)units.getSelectedItem());
83
		model.setName(name.getText().trim());
84
		model.setDescription(description.getText().trim());
85
		model.setCreatedBy(createdBy.getText().trim());
86
		model.setVersion(version.getText().trim());
87
		model.setPath(saveTo.getText().trim());
88
		if(!model.getType().equals(ScriptingManager.UNIT_FOLDER)){
89
			model.setLanguage((String)languages.getSelectedItem());
90
		}
91
		try {
92
			model.validate();
93
		} catch (Exception e) {
94
			JOptionPane.showMessageDialog(null, "Can't create the script\n" + e.getMessage(), "Info", JOptionPane.WARNING_MESSAGE);
95
			return;
96
		}
97
		model.setAction(JNewScriptModel.ACTION_ACCEPT);
98
		setVisible(false);
80
        model.setType((String) units.getSelectedItem());
81
        model.setName(name.getText().trim());
82
        model.setDescription(description.getText().trim());
83
        model.setCreatedBy(createdBy.getText().trim());
84
        model.setVersion(version.getText().trim());
85
        model.setPath(saveTo.getText().trim());
86
        if (!model.getType().equals(ScriptingManager.UNIT_FOLDER)) {
87
            model.setLanguage((String) languages.getSelectedItem());
88
        }
89
        try {
90
            model.validate();
91
        } catch (Exception e) {
92
            JOptionPane.showMessageDialog(null, "Can't create the script\n" + e.getMessage(), "Info", JOptionPane.WARNING_MESSAGE);
93
            return;
94
        }
95
        model.setAction(JNewScriptModel.ACTION_ACCEPT);
96
        setVisible(false);
99 97

  
100
	}
98
    }
101 99

  
102 100
    public void actionApply() {
103
	}
101
    }
104 102

  
105 103
    public void actionCancel() {
106
		setVisible(false);
107
	}
104
        setVisible(false);
105
    }
108 106

  
109 107
    public boolean isVisibleAccept() {
110
		return true;
111
	}
108
        return true;
109
    }
112 110

  
113 111
    public boolean isVisibleApply() {
114
		return false;
115
	}
112
        return false;
113
    }
116 114

  
117 115
    public boolean isVisibleCancel() {
118
		return true;
119
	}
116
        return true;
117
    }
120 118

  
121 119
    public JComponent getJComponent() {
122
		return this;
123
	}
120
        return this;
121
    }
124 122
}

Also available in: Unified diff