332 |
case 'Y': rotate(0, 1, 1); break; |
case 'Y': rotate(0, 1, 1); break; |
333 |
case 'z': rotate(1, 2, 1); break; |
case 'z': rotate(1, 2, 1); break; |
334 |
case 'Z': rotate(0, 2, 1); break; |
case 'Z': rotate(0, 2, 1); break; |
335 |
|
case 'r': resetDims(1); break; |
336 |
|
case 'R': resetDims(0); break; |
337 |
|
|
338 |
// Special |
// Special |
339 |
case 'm': mark(1); break; |
case 'm': mark(1); break; |
340 |
case 'M': mark(0); break; |
case 'M': mark(0); break; |
341 |
case 'v': changeView(1, 1); break; |
case 'v': changeView(1, 1); break; |
342 |
case 'V': changeView(0, 1); break; |
case 'V': changeView(0, 1); break; |
343 |
case 'r': |
case 'o': |
344 |
fallback.windows[1].cursor = |
fallback.windows[1].cursor = |
345 |
fallback.windows[1].cursor.getRootclone(); |
fallback.windows[1].cursor.getRootclone(); |
346 |
break; |
break; |
347 |
case 'R': |
case 'O': |
348 |
fallback.windows[0].cursor = |
fallback.windows[0].cursor = |
349 |
fallback.windows[0].cursor.getRootclone(); |
fallback.windows[0].cursor.getRootclone(); |
350 |
break; |
break; |
351 |
case 'q': if(save()) System.exit(0); |
case 'g': go(1); break; |
352 |
|
case 'G': go(0); break; |
353 |
|
case 'q': case 'Q': if(save()) System.exit(0); |
354 |
} |
} |
355 |
} else if(k.length() == 5 && k.startsWith("Alt-")) { |
} else if(k.length() == 5 && k.startsWith("Alt-")) { |
356 |
switch(k.charAt(4)) { |
switch(k.charAt(4)) { |
449 |
fallback.windows[win].updateDims(); |
fallback.windows[win].updateDims(); |
450 |
} |
} |
451 |
|
|
452 |
|
void resetDims(int win) { |
453 |
|
int[] ind = fallback.windows[win].dimsIndices; |
454 |
|
for(int i=0; i<ind.length; i++) |
455 |
|
ind[i] = i % fallback.dimList.length; |
456 |
|
fallback.windows[win].updateDims(); |
457 |
|
} |
458 |
|
|
459 |
void changeView(int win, int dir) { |
void changeView(int win, int dir) { |
460 |
Fallback.Win w = fallback.windows[win]; |
Fallback.Win w = fallback.windows[win]; |
461 |
w.viewIndex += dir; |
w.viewIndex += dir; |
462 |
if(w.viewIndex < 0) w.viewIndex = fallback.viewList.length - 1; |
if(w.viewIndex < 0) w.viewIndex = fallback.viewList.length - 1; |
463 |
else if(w.viewIndex >= fallback.viewList.length) w.viewIndex = 0; |
else if(w.viewIndex >= fallback.viewList.length) w.viewIndex = 0; |
464 |
} |
} |
465 |
|
|
466 |
|
void go(int win) { |
467 |
|
if(marks.isEmpty()) |
468 |
|
fallback.windows[win].cursor = |
469 |
|
fallback.windows[1-win].cursor; |
470 |
|
|
471 |
|
else { |
472 |
|
Fallback.Win w = fallback.windows[win]; |
473 |
|
Cell c = w.cursor; |
474 |
|
|
475 |
|
for(Iterator i = marks.iterator(); i.hasNext();) { |
476 |
|
Mark m = (Mark)i.next(); |
477 |
|
if(m.cell.equals(c) && i.hasNext()) { |
478 |
|
m = (Mark)i.next(); |
479 |
|
w.cursor = m.cell; |
480 |
|
return; |
481 |
|
} |
482 |
|
} |
483 |
|
|
484 |
|
w.cursor = ((Mark)marks.get(0)).cell; |
485 |
|
} |
486 |
|
} |
487 |
|
|
488 |
public void makeLink(int dir) { |
public void makeLink(int dir) { |
489 |
Cell c = fallback.windows[1].cursor; |
Cell c = fallback.windows[1].cursor; |