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