fixed heinous bug in switchbox routing
[slipway.git] / src / edu / berkeley / slipway / gui / ZoomingPanel.java
index 4a3150f..76f23c8 100644 (file)
@@ -109,14 +109,91 @@ public abstract class ZoomingPanel extends JComponent implements KeyListener, Mo
         }
         Gui.Cell cell = whichCell(mousex, mousey);
         Fpslic.Cell c = cell == null ? null : cell.cell;
-        if ((k.getModifiers() & k.ALT_MASK) != 0)
+        if ((k.getModifiers() & k.ALT_MASK) != 0 || (k.getModifiers() & k.META_MASK) != 0)
             switch(k.getKeyCode()) {
                 case VK_S:
                     writeMode4();
                     break;
+                    /*
                 case VK_O:
                     readMode4();
                     break;
+                    */
+                case VK_0: {
+                    c.xlut(0x00);
+                    c.ylut(0x00);
+                    repaint();
+                    return;
+                }
+                case VK_1: {
+                    c.xlut(0xff);
+                    c.ylut(0xff);
+                    repaint();
+                    return;
+                }
+                case VK_BACK_QUOTE: {
+                    c.xlut(0xff);
+                    c.ylut(0xff);
+                    repaint();
+                    return;
+                }
+                case VK_A: {
+                    c.xlut(LUT_SELF & LUT_OTHER);
+                    c.ylut(LUT_SELF & LUT_OTHER);
+                    repaint();
+                    return;
+                }
+                case VK_2:
+                case VK_G:
+                    {
+                    c.generalized_c_element();
+                    repaint();
+                    return;
+                }
+                case VK_3: {
+                    c.generalized_c_element();
+                    c.xlut((LUT_SELF & ~LUT_OTHER) | (LUT_Z & ~LUT_OTHER) | (LUT_Z & LUT_SELF & LUT_OTHER));
+                    c.ylut(LUT_Z);
+                    c.c(XLUT);
+                    repaint();
+                    return;
+                }
+                case VK_Z: {
+                    c.xlut(LUT_Z);
+                    c.ylut(LUT_Z);
+                    repaint();
+                    return;
+                }
+                case VK_W: {
+                    c.xlut(LUT_Z);
+                    c.ylut(LUT_SELF);
+                    c.t(TMUX_W);
+                    repaint();
+                    return;
+                }
+                case VK_T: {
+                    //c.t(;
+                    repaint();
+                    return;
+                }
+                case VK_O: {
+                    c.xlut(LUT_SELF | LUT_OTHER);
+                    c.ylut(LUT_SELF | LUT_OTHER);
+                    repaint();
+                    return;
+                }
+                case VK_X: {
+                    c.xlut(LUT_SELF);
+                    c.ylut(LUT_OTHER);
+                    repaint();
+                    return;
+                }
+                case VK_Y: {
+                    c.xlut(LUT_OTHER);
+                    c.ylut(LUT_SELF);
+                    repaint();
+                    return;
+                }
             }
 
         else switch(k.getKeyCode()) {
@@ -156,7 +233,10 @@ public abstract class ZoomingPanel extends JComponent implements KeyListener, Mo
                 return;
 
             case VK_F: c.f(!c.f()); repaint(); return;
-            case VK_S: c.ff_reset_value(!c.ff_reset_value()); repaint(); return;
+            case VK_S:
+                Gui.Cell gc = whichCell(mousex,mousey);
+                gc.scanme = !gc.scanme;
+                //case VK_S: c.ff_reset_value(!c.ff_reset_value()); repaint(); return;
             case VK_R: c.b(!c.b()); repaint(); return;
 
             case VK_T: