gzz-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Gzz-commits] gzz/gzz/view DefaultBinder.java


From: Benja Fallenstein
Subject: [Gzz-commits] gzz/gzz/view DefaultBinder.java
Date: Sun, 27 Oct 2002 12:34:49 -0500

CVSROOT:        /cvsroot/gzz
Module name:    gzz
Changes by:     Benja Fallenstein <address@hidden>      02/10/27 12:34:49

Modified files:
        gzz/view       : DefaultBinder.java 

Log message:
        'r' to reset dimensions; 'g' to go to other window, or step through 
marked cells

CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/gzz/gzz/gzz/view/DefaultBinder.java.diff?tr1=1.7&tr2=1.8&r1=text&r2=text

Patches:
Index: gzz/gzz/view/DefaultBinder.java
diff -u gzz/gzz/view/DefaultBinder.java:1.7 gzz/gzz/view/DefaultBinder.java:1.8
--- gzz/gzz/view/DefaultBinder.java:1.7 Thu Oct 10 13:53:40 2002
+++ gzz/gzz/view/DefaultBinder.java     Sun Oct 27 12:34:48 2002
@@ -42,7 +42,7 @@
 /** Keybindings for the Fallback client.
  */
 public class DefaultBinder implements FallbackBinder {
-public static final String rcsid = "$Id: DefaultBinder.java,v 1.7 2002/10/10 
17:53:40 benja Exp $";
+public static final String rcsid = "$Id: DefaultBinder.java,v 1.8 2002/10/27 
17:34:48 benja Exp $";
     public static boolean dbg = false;
     private static void pa(String s) { System.err.println(s); }
 
@@ -332,21 +332,25 @@
                 case 'Y': rotate(0, 1, 1); break;
                 case 'z': rotate(1, 2, 1); break;
                 case 'Z': rotate(0, 2, 1); break;
+               case 'r': resetDims(1); break;
+               case 'R': resetDims(0); break;                     
 
                // Special
                case 'm': mark(1); break;
                case 'M': mark(0); break;
                 case 'v': changeView(1, 1); break;
                 case 'V': changeView(0, 1); break;
-               case 'r':
+               case 'o':
                    fallback.windows[1].cursor =
                        fallback.windows[1].cursor.getRootclone();
                    break;
-               case 'R':
+               case 'O':
                    fallback.windows[0].cursor =
                        fallback.windows[0].cursor.getRootclone();
                    break;
-               case 'q': if(save()) System.exit(0);
+               case 'g': go(1); break;
+               case 'G': go(0); break;
+               case 'q': case 'Q': if(save()) System.exit(0);
            }
        } else if(k.length() == 5 && k.startsWith("Alt-")) {
             switch(k.charAt(4)) {
@@ -445,11 +449,40 @@
         fallback.windows[win].updateDims();
     }
 
+    void resetDims(int win) {
+       int[] ind = fallback.windows[win].dimsIndices;
+       for(int i=0; i<ind.length; i++)
+           ind[i] = i % fallback.dimList.length;
+       fallback.windows[win].updateDims();
+    }
+
     void changeView(int win, int dir) {
         Fallback.Win w = fallback.windows[win];
         w.viewIndex += dir;
         if(w.viewIndex < 0) w.viewIndex = fallback.viewList.length - 1;
         else if(w.viewIndex >= fallback.viewList.length) w.viewIndex = 0;
+    }
+
+    void go(int win) {
+       if(marks.isEmpty())
+           fallback.windows[win].cursor =
+               fallback.windows[1-win].cursor;
+
+       else {
+           Fallback.Win w = fallback.windows[win];
+           Cell c = w.cursor;
+
+           for(Iterator i = marks.iterator(); i.hasNext();) {
+               Mark m = (Mark)i.next();
+               if(m.cell.equals(c) && i.hasNext()) {
+                   m = (Mark)i.next();
+                   w.cursor = m.cell;
+                   return;
+               }
+           }
+
+           w.cursor = ((Mark)marks.get(0)).cell;
+       }
     }
     
     public void makeLink(int dir) {




reply via email to

[Prev in Thread] Current Thread [Next in Thread]