/*
* EditSettings.settings.java
*
* Created on August 8, 2007, 8:58 AM
*
* @author pquiring
*/
import javaforce.*;
import java.awt.*;
import java.awt.event.*;
public class EditSettings extends javax.swing.JDialog {
/** Creates new form EditSettings */
private EditSettings(java.awt.Frame parent, boolean modal) {
super(parent, modal);
initComponents();
setComponentOrientation(((parent == null) ? javax.swing.JOptionPane.getRootFrame() : parent).getComponentOrientation());
if (parent != null) setLocationRelativeTo(parent);
tX.setText("" + Settings.settings.cols);
tY.setText("" + Settings.settings.rows);
tScrollBack.setText("" + Settings.settings.scrollBack);
sFontSize.setValue(Settings.settings.fontSize);
fontWidth.setValue(Settings.settings.fontWidth);
fontHeight.setValue(Settings.settings.fontHeight);
fontDescent.setValue(Settings.settings.fontDescent);
tForeColor.setText(Integer.toHexString(Settings.settings.foreColor.getRGB()).substring(2));
tBackColor.setText(Integer.toHexString(Settings.settings.backColor.getRGB()).substring(2));
tCursorColor.setText(Integer.toHexString(Settings.settings.cursorColor.getRGB()).substring(2));
tSelectColor.setText(Integer.toHexString(Settings.settings.selectColor.getRGB()).substring(2));
tTermType.setText(Settings.settings.termType);
tTabStops.setText("" + Settings.settings.tabStops);
termApp.setText(Settings.settings.termApp);
setPosition();
}
/** This method is called from within the constructor to
* initialize the form.
* WARNING: Do NOT modify this code. The content of this method is
* always regenerated by the Form Editor.
*/
// <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
private void initComponents() {
jLabel22 = new javax.swing.JLabel();
jLabel1 = new javax.swing.JLabel();
tX = new javax.swing.JTextField();
jLabel2 = new javax.swing.JLabel();
tY = new javax.swing.JTextField();
jLabel3 = new javax.swing.JLabel();
tScrollBack = new javax.swing.JTextField();
jLabel4 = new javax.swing.JLabel();
bSave = new javax.swing.JButton();
bCancel = new javax.swing.JButton();
sFontSize = new javax.swing.JSpinner();
jLabel5 = new javax.swing.JLabel();
tForeColor = new javax.swing.JTextField();
jLabel6 = new javax.swing.JLabel();
tBackColor = new javax.swing.JTextField();
jLabel7 = new javax.swing.JLabel();
tCursorColor = new javax.swing.JTextField();
foreColorEdit = new javax.swing.JButton();
backColorEdit = new javax.swing.JButton();
cursorColorEdit = new javax.swing.JButton();
jLabel8 = new javax.swing.JLabel();
tTermType = new javax.swing.JTextField();
jLabel9 = new javax.swing.JLabel();
jLabel13 = new javax.swing.JLabel();
tSelectColor = new javax.swing.JTextField();
selectColorEdit = new javax.swing.JButton();
jLabel14 = new javax.swing.JLabel();
tTabStops = new javax.swing.JTextField();
jLabel16 = new javax.swing.JLabel();
termApp = new javax.swing.JTextField();
jLabel17 = new javax.swing.JLabel();
jLabel18 = new javax.swing.JLabel();
jLabel19 = new javax.swing.JLabel();
fontWidth = new javax.swing.JSpinner();
fontHeight = new javax.swing.JSpinner();
fontDescent = new javax.swing.JSpinner();
jLabel10 = new javax.swing.JLabel();
jLabel11 = new javax.swing.JLabel();
jLabel12 = new javax.swing.JLabel();
jLabel20 = new javax.swing.JLabel();
jLabel21 = new javax.swing.JLabel();
jLabel15 = new javax.swing.JLabel();
jLabel22.setText("*");
setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
setTitle("Edit Settings");
setModal(true);
jLabel1.setText("Columns");
tX.setText("80");
tX.addKeyListener(new java.awt.event.KeyAdapter() {
public void keyPressed(java.awt.event.KeyEvent evt) {
anykey(evt);
}
});
jLabel2.setText("Rows");
tY.setText("24");
tY.addKeyListener(new java.awt.event.KeyAdapter() {
public void keyPressed(java.awt.event.KeyEvent evt) {
anykey(evt);
}
});
jLabel3.setText("Scroll Back");
tScrollBack.setText("3000");
tScrollBack.addKeyListener(new java.awt.event.KeyAdapter() {
public void keyPressed(java.awt.event.KeyEvent evt) {
anykey(evt);
}
});
jLabel4.setText("Font Size");
bSave.setText("Save");
bSave.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
bSaveActionPerformed(evt);
}
});
bCancel.setText("Cancel");
bCancel.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
bCancelActionPerformed(evt);
}
});
sFontSize.addKeyListener(new java.awt.event.KeyAdapter() {
public void keyPressed(java.awt.event.KeyEvent evt) {
anykey(evt);
}
});
jLabel5.setText("Fore Color");
tForeColor.setText("000000");
tForeColor.addKeyListener(new java.awt.event.KeyAdapter() {
public void keyPressed(java.awt.event.KeyEvent evt) {
anykey(evt);
}
});
jLabel6.setText("Back Color");
tBackColor.setText("ffffff");
tBackColor.addKeyListener(new java.awt.event.KeyAdapter() {
public void keyPressed(java.awt.event.KeyEvent evt) {
anykey(evt);
}
});
jLabel7.setText("Cursor Color");
tCursorColor.setText("0000ff");
tCursorColor.addKeyListener(new java.awt.event.KeyAdapter() {
public void keyPressed(java.awt.event.KeyEvent evt) {
anykey(evt);
}
});
foreColorEdit.setText("...");
foreColorEdit.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
foreColorEditActionPerformed(evt);
}
});
backColorEdit.setText("...");
backColorEdit.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
backColorEditActionPerformed(evt);
}
});
cursorColorEdit.setText("...");
cursorColorEdit.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
cursorColorEditActionPerformed(evt);
}
});
jLabel8.setText("Term Type");
tTermType.setText("xterm");
tTermType.addKeyListener(new java.awt.event.KeyAdapter() {
public void keyPressed(java.awt.event.KeyEvent evt) {
anykey(evt);
}
});
jLabel9.setText("* - takes effect immediately");
jLabel13.setText("Select Color");
tSelectColor.setText("777777");
tSelectColor.addKeyListener(new java.awt.event.KeyAdapter() {
public void keyPressed(java.awt.event.KeyEvent evt) {
anykey(evt);
}
});
selectColorEdit.setText("...");
selectColorEdit.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
selectColorEditActionPerformed(evt);
}
});
jLabel14.setText("Tab Stops");
tTabStops.setText("8");
tTabStops.addKeyListener(new java.awt.event.KeyAdapter() {
public void keyPressed(java.awt.event.KeyEvent evt) {
anykey(evt);
}
});
jLabel16.setText("Term App");
termApp.setText("bash");
termApp.setToolTipText("Terminal App (Linux only)");
jLabel17.setText("Font X Adj");
jLabel18.setText("Font Y Adj");
jLabel19.setText("Font Base Adj");
fontWidth.setModel(new javax.swing.SpinnerNumberModel(0, -4, 4, 1));
fontHeight.setModel(new javax.swing.SpinnerNumberModel(0, -4, 4, 1));
fontDescent.setModel(new javax.swing.SpinnerNumberModel(0, -4, 4, 1));
jLabel10.setText("*");
jLabel11.setText("*");
jLabel12.setText("*");
jLabel20.setText("*");
jLabel21.setText("*");
jLabel15.setText("*");
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jLabel16)
.addGroup(layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addComponent(bSave)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(bCancel))
.addComponent(jLabel9)
.addComponent(jLabel18)
.addComponent(jLabel19)
.addComponent(jLabel17)
.addGroup(layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jLabel1)
.addComponent(jLabel2)
.addComponent(jLabel3)
.addComponent(jLabel4)
.addComponent(jLabel5)
.addComponent(jLabel6)
.addComponent(jLabel7)
.addComponent(jLabel13)
.addComponent(jLabel8)
.addComponent(jLabel14))
.addGap(19, 19, 19)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
.addComponent(termApp)
.addComponent(tTabStops)
.addComponent(tTermType)
.addComponent(tSelectColor)
.addComponent(tCursorColor)
.addComponent(tBackColor)
.addGroup(layout.createSequentialGroup()
.addGap(1, 1, 1)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
.addComponent(fontDescent)
.addComponent(tX)
.addComponent(tY)
.addComponent(tForeColor, javax.swing.GroupLayout.DEFAULT_SIZE, 92, Short.MAX_VALUE)
.addComponent(sFontSize)
.addComponent(tScrollBack)
.addComponent(fontWidth)
.addComponent(fontHeight))))))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(selectColorEdit, javax.swing.GroupLayout.PREFERRED_SIZE, 26, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
.addComponent(cursorColorEdit, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, 1, Short.MAX_VALUE)
.addComponent(backColorEdit, javax.swing.GroupLayout.PREFERRED_SIZE, 26, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(foreColorEdit, javax.swing.GroupLayout.PREFERRED_SIZE, 1, Short.MAX_VALUE))
.addComponent(jLabel10)
.addComponent(jLabel11)
.addComponent(jLabel12)
.addComponent(jLabel20)
.addComponent(jLabel21)
.addComponent(jLabel15))))
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(tX, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel1))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(tY, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel2))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(tScrollBack, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel3)
.addComponent(jLabel15))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(sFontSize, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel4)
.addComponent(jLabel21))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(foreColorEdit)
.addComponent(tForeColor, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel5))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel17)
.addComponent(fontWidth, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel10))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel18)
.addComponent(fontHeight, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel11))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel19)
.addComponent(fontDescent, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel12))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(backColorEdit)
.addComponent(tBackColor, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel6))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(cursorColorEdit)
.addComponent(tCursorColor, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel7))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(selectColorEdit)
.addComponent(tSelectColor, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel13))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(tTermType, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel8))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel14)
.addComponent(tTabStops, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel20))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel16)
.addComponent(termApp, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jLabel9)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(bSave)
.addComponent(bCancel))
.addContainerGap())
);
pack();
}// </editor-fold>//GEN-END:initComponents
private void anykey(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_anykey
if (evt.getKeyCode() == KeyEvent.VK_ENTER) bSaveActionPerformed(null);
if (evt.getKeyCode() == KeyEvent.VK_ESCAPE) bCancelActionPerformed(null);
}//GEN-LAST:event_anykey
private void selectColorEditActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_selectColorEditActionPerformed
Color tmp = new Color(JF.atox(tSelectColor.getText()));
tmp = EditColor.editColor(this, tmp);
tSelectColor.setText(Integer.toHexString(tmp.getRGB()).substring(2));
}//GEN-LAST:event_selectColorEditActionPerformed
private void foreColorEditActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_foreColorEditActionPerformed
Color tmp = new Color(JF.atox(tForeColor.getText()));
tmp = EditColor.editColor(this, tmp);
tForeColor.setText(Integer.toHexString(tmp.getRGB()).substring(2));
}//GEN-LAST:event_foreColorEditActionPerformed
private void cursorColorEditActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_cursorColorEditActionPerformed
Color tmp = new Color(JF.atox(tCursorColor.getText()));
tmp = EditColor.editColor(this, tmp);
tCursorColor.setText(Integer.toHexString(tmp.getRGB()).substring(2));
}//GEN-LAST:event_cursorColorEditActionPerformed
private void backColorEditActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_backColorEditActionPerformed
Color tmp = new Color(JF.atox(tBackColor.getText()));
tmp = EditColor.editColor(this, tmp);
tBackColor.setText(Integer.toHexString(tmp.getRGB()).substring(2));
}//GEN-LAST:event_backColorEditActionPerformed
private void bSaveActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_bSaveActionPerformed
if (!validFields()) return;
Settings.settings.cols = JF.atoi(tX.getText());
Settings.settings.rows = JF.atoi(tY.getText());
Settings.settings.scrollBack = JF.atoi(tScrollBack.getText());
Settings.settings.fontSize = ((Integer)sFontSize.getValue()).intValue();
Settings.settings.fontWidth = (Integer)fontWidth.getValue();
Settings.settings.fontHeight = (Integer)fontHeight.getValue();
Settings.settings.fontDescent = (Integer)fontDescent.getValue();
Settings.settings.foreColor = new Color(JF.atox(tForeColor.getText()));
Settings.settings.backColor = new Color(JF.atox(tBackColor.getText()));
Settings.settings.cursorColor = new Color(JF.atox(tCursorColor.getText()));
Settings.settings.selectColor = new Color(JF.atox(tSelectColor.getText()));
Settings.settings.termType = tTermType.getText();
Settings.settings.tabStops = JF.atoi(tTabStops.getText());
Settings.settings.termApp = termApp.getText();
Settings.settings.saveSettings();
dispose();
}//GEN-LAST:event_bSaveActionPerformed
private void bCancelActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_bCancelActionPerformed
dispose();
}//GEN-LAST:event_bCancelActionPerformed
// Variables declaration - do not modify//GEN-BEGIN:variables
private javax.swing.JButton bCancel;
private javax.swing.JButton bSave;
private javax.swing.JButton backColorEdit;
private javax.swing.JButton cursorColorEdit;
private javax.swing.JSpinner fontDescent;
private javax.swing.JSpinner fontHeight;
private javax.swing.JSpinner fontWidth;
private javax.swing.JButton foreColorEdit;
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel10;
private javax.swing.JLabel jLabel11;
private javax.swing.JLabel jLabel12;
private javax.swing.JLabel jLabel13;
private javax.swing.JLabel jLabel14;
private javax.swing.JLabel jLabel15;
private javax.swing.JLabel jLabel16;
private javax.swing.JLabel jLabel17;
private javax.swing.JLabel jLabel18;
private javax.swing.JLabel jLabel19;
private javax.swing.JLabel jLabel2;
private javax.swing.JLabel jLabel20;
private javax.swing.JLabel jLabel21;
private javax.swing.JLabel jLabel22;
private javax.swing.JLabel jLabel3;
private javax.swing.JLabel jLabel4;
private javax.swing.JLabel jLabel5;
private javax.swing.JLabel jLabel6;
private javax.swing.JLabel jLabel7;
private javax.swing.JLabel jLabel8;
private javax.swing.JLabel jLabel9;
private javax.swing.JSpinner sFontSize;
private javax.swing.JButton selectColorEdit;
private javax.swing.JTextField tBackColor;
private javax.swing.JTextField tCursorColor;
private javax.swing.JTextField tForeColor;
private javax.swing.JTextField tScrollBack;
private javax.swing.JTextField tSelectColor;
private javax.swing.JTextField tTabStops;
private javax.swing.JTextField tTermType;
private javax.swing.JTextField tX;
private javax.swing.JTextField tY;
private javax.swing.JTextField termApp;
// End of variables declaration//GEN-END:variables
public static void editSettings(java.awt.Frame parent) {
EditSettings dialog = new EditSettings(parent, true);
dialog.setVisible(true);
}
private boolean validFieldNumber(String str, int min, int max) {
if (!validField(str)) return false;
for(int a=0;a<str.length();a++) if ((str.charAt(a) < '0') || (str.charAt(a) > '9')) return false;
int value = JF.atoi(str);
if ((value < min) || (value > max)) return false;
return true;
}
private boolean validFieldHexNumber(String str) {
if (!validField(str)) return false;
if (str.length() != 6) return false;
for(int a=0;a<str.length();a++) {
if (
((str.charAt(a) < '0') || (str.charAt(a) > '9')) &&
((str.charAt(a) < 'A') || (str.charAt(a) > 'F')) &&
((str.charAt(a) < 'a') || (str.charAt(a) > 'f')) )
return false;
}
return true;
}
private boolean validField(String str) {
if (str.length() == 0) return false;
if (str.indexOf('\"') != -1) return false;
if (str.indexOf('\'') != -1) return false;
return true;
}
public final static int MIN = 16;
public final static int MAX = 256;
private boolean validFields() {
if (!validFieldHexNumber(tBackColor.getText())) {JF.showError("Invalid field", "Back Color is not valid"); return false;}
if (!validFieldHexNumber(tForeColor.getText())) {JF.showError("Invalid field", "Fore Color is not valid"); return false;}
if (!validFieldHexNumber(tCursorColor.getText())) {JF.showError("Invalid field", "Cursor Color is not valid"); return false;}
if (!validFieldHexNumber(tSelectColor.getText())) {JF.showError("Invalid field", "Select Color is not valid"); return false;}
if (!validFieldNumber(tScrollBack.getText(), 0, 65535)) {JF.showError("Invalid field", "ScrollBack must be >=0 and <=65535"); return false;}
if (!validFieldNumber(tTabStops.getText(), 1, 8)) {JF.showError("Invalid field", "TabStops must be >=1 and <=8"); return false;}
if (!validFieldNumber(tX.getText(), MIN, MAX)) {JF.showError("Invalid field", "cols must be >=16 and <=255"); return false;}
if (!validFieldNumber(tY.getText(), MIN, MAX)) {JF.showError("Invalid field", "rows must be >=16 and <=255"); return false;}
if (!validField(tTermType.getText())) {JF.showError("Invalid field", "TermType must not be empty"); return false;}
return true;
}
private void setPosition() {
Dimension d = getSize();
Rectangle s = GraphicsEnvironment.getLocalGraphicsEnvironment().getMaximumWindowBounds();
if ((d.width > s.width) || (d.height > s.height)) {
if (d.width > s.width) d.width = s.width;
if (d.height > s.height) d.height = s.height;
setSize(d);
}
setLocation(s.width/2 - d.width/2, s.height/2 - d.height/2);
}
}