public void nameFocusLost(java.awt.event.FocusEvent evt) { ctxt.saveState = true; String newName = name.getText(), msg; while (!Library.validateFileName(newName, false)) { msg = "The name '" + newName + "' violates the rules for names:"; msg += "\nIt must have 2 to 28 characters."; msg += "\nYou may not use BackSlash, ForwardSlash, Colon, DoubleQuote"; msg += "\nAsterisk, QuestionMark, LeftAngleBracket, RightAngleBracket,"; msg += "\nor the VerticalBar in a name. TRY AGAIN."; newName = JOptionPane.showInputDialog(msg); } // end of harrass-em-until-they-give-a-good-name name.setText(newName); if (!newName.equals(ctxt.languageName)) { // Made a change msg = "Change this context's language name\nto" + newName + "?"; String[] options = {newName, ctxt.languageName}; int choice = JOptionPane.showOptionDialog( this, msg, "Confirm Changed Language Name", JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE, null, options, options[0]); if (choice == 0) { // Change is confirmed ctxt.languageName = newName; msg = "Normally, the file name for a context is the same as the language name " + "\nfor that context. Change this context's file name\n" + "to " + newName + "?"; options[0] = "Change File Name"; options[1] = "Do Not Change"; choice = JOptionPane.showOptionDialog( this, msg, "Confirm Correct File Name", JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE, null, options, options[0]); if (choice == 0) { Library.userContextName = newName; if (SIL_Edit.edWin != null && ctxt == Library.contextUnderConstruction) { SIL_Edit.edWin.chart.changeFileName(newName); } } } // end of Change-is-confirmed } // end of change-was-made }
public void folderFocusLost(java.awt.event.FocusEvent evt) { ctxt.saveState = true; ctxt.editDirectory = folder.getText(); }