add src files decompiled via jad
[rsa2client.git] / src / mcsClient / Row.java
diff --git a/src/mcsClient/Row.java b/src/mcsClient/Row.java
new file mode 100644 (file)
index 0000000..ef8c78f
--- /dev/null
@@ -0,0 +1,128 @@
+// 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);
+    }
+}