01: package com.xoetrope.carousel.testpilot;
02:
03: import java.io.File;
04:
05: import java.awt.FileDialog;
06: import java.awt.TextArea;
07:
08: import net.n3.nanoxml.IXMLElement;
09: import net.n3.nanoxml.XMLElement;
10: import net.xoetrope.swing.XButton;
11: import net.xoetrope.swing.XEdit;
12: import net.xoetrope.swing.XRadioButton;
13: import net.xoetrope.swing.XTextArea;
14: import net.xoetrope.xui.XPage;
15: import net.xoetrope.xui.XPageManager;
16: import net.xoetrope.xui.XProjectManager;
17: import net.xoetrope.xui.data.XBaseModel;
18: import net.xoetrope.xui.data.XModel;
19:
20: /**
21: * Support for ???
22: * <p> Copyright (c) Xoetrope Ltd., 2001-2006, This software is licensed under
23: * the GNU Public License (GPL), please see license.txt for more details. If
24: * you make commercial use of this software you must purchase a commercial
25: * license from Xoetrope.</p>
26: * <p> $Revision: 1.2 $</p>
27: */
28: public class SaveScript extends XPage {
29: XEdit txtScriptName, txtScriptFolder;
30: XTextArea txtScriptDesc;
31: XButton btnSave, btnCancel;
32: XMLElement eleScript;
33: XRadioButton radLocal, radRemote;
34:
35: public void pageCreated() {
36: radLocal = (XRadioButton) findComponent("radLocal");
37: radRemote = (XRadioButton) findComponent("radRemote");
38: radLocal.setSelected();
39: txtScriptFolder = (XEdit) findComponent("txtScriptFolder");
40: txtScriptName = (XEdit) findComponent("txtScriptName");
41: txtScriptDesc = (XTextArea) findComponent("txtScriptDesc");
42: btnSave = (XButton) findComponent("btnSave");
43: btnCancel = (XButton) findComponent("btnCancel");
44: }
45:
46: public void saveScript() {
47: if (wasMouseClicked()) {
48: saveFile(true);
49: rootModel.reset(project);
50: pageMgr.showPage("tpwelcome");
51: }
52: }
53:
54: public void showOptions() {
55: if (wasMouseClicked())
56: pageMgr.showPage("tpsaveoptions");
57: }
58:
59: public void findFile() {
60: if (wasMouseClicked()) {
61: FileDialog fd = new FileDialog(UnitApplet.getApplet()
62: .getFrame(),
63: "Please locate the folder you want to use");
64: fd.setVisible(true);
65: if (fd.getFile() != null) {
66: txtScriptFolder.setText(fd.getDirectory());
67: }
68: }
69: }
70:
71: private void saveFile(boolean isApplication) {
72: XBaseModel descModel = (XBaseModel) project.getModel().get(
73: "application/settings/desc");
74: descModel.set(txtScriptDesc.getText());
75:
76: XBaseModel nameModel = (XBaseModel) project.getModel().get(
77: "application/settings/scriptname");
78: nameModel.set(txtScriptName.getText());
79: String path = txtScriptName.getText();
80: if ((path.length() < 5)
81: || (path.substring(path.length() - 4, path.length())
82: .compareTo(".xml") != 0)) {
83: path += ".xml";
84: }
85:
86: File f = new File(txtScriptFolder.getText(), path);
87: if (isApplication)
88: ApplicationScriptConverter.convertTableForSave(project, f
89: .getAbsolutePath());
90: else
91: ScriptConverter.convertTableForSave(project, f
92: .getAbsolutePath());
93: }
94:
95: public void cancelSave() {
96: if (wasMouseClicked())
97: pageMgr.showPrevious();
98: }
99: }
|