package com.view; import mobilebasic.Main; import javax.microedition.lcdui.ChoiceGroup; import javax.microedition.lcdui.Command; import javax.microedition.lcdui.CommandListener; import javax.microedition.lcdui.Displayable; import javax.microedition.lcdui.Form; import javax.microedition.lcdui.List; import javax.microedition.lcdui.TextField; import mobilebasic.BASIC; /** * * @author kiriman */ public class SaveScreen extends AuxList implements CommandListener { private Main main; private Form saveForm; private TextField createInTF, nameFileTF; private ChoiceGroup typeFileCG; private int index; public SaveScreen() { super("Сохранить в:"); this.main = Main.mdl; list.addCommand(main.cancelCMD); list.setCommandListener(this); } public void showSaveList() { main.display.setCurrent(list); } public void commandAction(Command command, Displayable disp) { if (disp == list) { if (command == List.SELECT_COMMAND) { saveForm = new Form("Сохранить Как..."); if ((index = list.getSelectedIndex()) == 0) { saveForm.append(createInTF = new TextField("Сохранить в:", "/" + Settings.path, 120, 0)); } nameFileTF = new TextField("Имя Файла:", "", 12, 4); saveForm.append(nameFileTF); typeFileCG = new ChoiceGroup("Тип Файла:", 1); typeFileCG.append("BASIC Формат (*.bas)", null); typeFileCG.append("Текстовый Формат (*.lis)", null); saveForm.append(typeFileCG); saveForm.addCommand(main.cancelCMD); saveForm.addCommand(new Command("Сохранить", 4, 3)); saveForm.setCommandListener(this); main.display.setCurrent(saveForm); } else if (command == main.cancelCMD) { main.display.setCurrent(main.menuList); } } else if (command == main.cancelCMD) { main.display.setCurrent(list); } else { main.nameProgram = nameFileTF.getString(); String path = ""; if (index == 0) { path = "file://" + (path = createInTF.getString()); } path += main.nameProgram; if (typeFileCG.getSelectedIndex() == 0) { BASIC.parseLine("SAVE \"" + path + ".bas\"\n", false); } else { BASIC.parseLine("LIST \"" + path + ".lis\"\n", false); } saveForm = null; nameFileTF = null; typeFileCG = null; main.editor.setTitle(main.nameProgram); main.display.setCurrent(main.canvas); } } }