--- /dev/null
+// Decompiled by Jad v1.5.8g. Copyright 2001 Pavel Kouznetsov.
+// Jad home page: http://www.kpdus.com/jad.html
+// Decompiler options: packimports(3) fieldsfirst nonlb space
+
+package mcsClient;
+
+import java.awt.FlowLayout;
+import java.awt.Font;
+import java.awt.event.*;
+import javax.swing.*;
+
+// Referenced classes of package mcsClient:
+// KeyMap, Options
+
+final class Row extends JPanel
+ implements KeyListener, ActionListener {
+
+ protected JTextField keyField[];
+ protected int usageCode[];
+ protected JButton clear;
+ protected Options options;
+ private long pressTime;
+
+ public Row(int i, Options options1) {
+ clear = new JButton("Clear");
+ pressTime = 0L;
+ options = options1;
+ setBackground(options.getBackground());
+ setLayout(new FlowLayout(0, 8, 8));
+ javax.swing.border.TitledBorder titledborder = BorderFactory.createTitledBorder("Button " + i);
+ setBorder(titledborder);
+ setValid(false);
+ keyField = new JTextField[4];
+ usageCode = new int[4];
+ for (int j = 0; j < 4; j++) {
+ keyField[j] = new JTextField("", 8);
+ keyField[j].addKeyListener(this);
+ keyField[j].setFocusTraversalKeysEnabled(false);
+ add(keyField[j]);
+ if (j < 3)
+ add(new JLabel("+"));
+ }
+
+ clear.setFont(new Font("Sans Serif", 0, 11));
+ clear.setToolTipText("Clear all entries for this button.");
+ clear.addKeyListener(this);
+ clear.addActionListener(this);
+ add(clear);
+ }
+
+ public void actionPerformed(ActionEvent actionevent) {
+ clearButtonClicked();
+ }
+
+ public void keyPressed(KeyEvent keyevent) {
+ if (keyevent.getSource() == clear && keyevent.getKeyCode() == 10) {
+ clearButtonClicked();
+ return;
+ }
+ if (keyevent.getKeyCode() == 0)
+ return;
+ if (pressTime == 0L)
+ pressTime = keyevent.getWhen();
+ int i = -1;
+ for (int j = 0; j < 4; j++) {
+ if (keyevent.getSource() != keyField[j])
+ continue;
+ i = j;
+ break;
+ }
+
+ if (keyevent.getKeyCode() == 80 && keyevent.getWhen() - pressTime > 3000L)
+ keyevent = new KeyEvent(this, 1, System.currentTimeMillis(), 0, 154, ' ', 1);
+ KeyEvent _tmp = keyevent;
+ String s = KeyEvent.getKeyText(keyevent.getKeyCode());
+ if (keyevent.getKeyLocation() == 2)
+ s = s + " (Left)";
+ else
+ if (keyevent.getKeyLocation() == 3)
+ s = s + " (Right)";
+ if (s.equals("Delete"))
+ s = "Del";
+ setValid(true);
+ KeyMap keymap = new KeyMap(0);
+ if (!s.equalsIgnoreCase(keyField[i].getText())) {
+ usageCode[i] = keymap.getKey(keyevent);
+ keyField[i].setText("");
+ keyField[i].setText(s);
+ }
+ keyevent.consume();
+ }
+
+ public void keyTyped(KeyEvent keyevent) {
+ keyevent.consume();
+ }
+
+ public void keyReleased(KeyEvent keyevent) {
+ pressTime = 0L;
+ int i = -1;
+ for (int j = 0; j < 4; j++) {
+ if (keyevent.getSource() != keyField[j])
+ continue;
+ i = j;
+ break;
+ }
+
+ if (i < 3)
+ keyField[i + 1].requestFocus();
+ else
+ options.getFocusOnSaveButton();
+ keyevent.consume();
+ }
+
+ public boolean isValid() {
+ return clear.isEnabled();
+ }
+
+ public void setValid(boolean flag) {
+ clear.setEnabled(flag);
+ }
+
+ private void clearButtonClicked() {
+ for (int i = 0; i < 4; i++)
+ keyField[i].setText("");
+
+ setValid(false);
+ }
+}