AMADEUS html plain
This sketchy text is generated by AMADEUS
Modified by Svetlana Solopova 08.06.2001
import java.awt.*;
import java.awt.event.*;
class AmKeyListener
class AmKeyListener extends KeyAdapter
AmCanvas c;
public boolean ctrl = false;
boolean shift = false;
boolean alt = false;
StringBuffer altSeq;
AmKeyListener
AmKeyListener(AmCanvas ca)
private static final int LEFT = 0;
private static final int RIGHT = 1;
private static final int UP = 2;
private static final int DOWN = 3;
private void moveCaret(int direction)
Editor ed = c.frame.contents.editor;
Graphics g = c.getGraphics();
g.translate(c.start.x, c.start.y);
g.setColor(Default.backgroundColor);
ed.caret.draw(g);
??direction
? LEFT:
<======
? RIGHT:
<======
? UP:
<======
? DOWN:
<======
g.setColor(Default.caretColor);
ed.caret.draw(g);
? c.caretToScreen()
c.own = true; c.repaint();
public void keyPressed(KeyEvent event)
Kui sketchtytext puudub siis event ei pea toimuma
? c.frame.contents == null
<==========
? c.frame.contents.editor == null
<==========
Editor ed = c.frame.contents.editor;
Graphics g = c.getGraphics();
g.translate(c.start.x, c.start.y);
//
char ch = event.getKeyChar();
System.out.println("AmKeyListener:keyTyped:ch="+ch +" = "+ (int)ch);
System.out.println("AmKeyListener:keyText:="+ event.getKeyText(event.getKeyCode()));
ctrl?
? event.getKeyText(event.getKeyCode()).compareTo("Ctrl")==0
ctrl = true;
shift?
? event.getKeyText(event.getKeyCode()).compareTo("Shift")==0
shift = true;
alt?
? event.getKeyText(event.getKeyCode()).compareTo("Alt")==0
alt = true;
altSeq = new StringBuffer(10);
<==========
<==========
??event.getKeyCode()
KeyEvent.VK_LEFT:
? KeyEvent.VK_LEFT:
Character charac = null;
? ctrl
? ed.caret.noInRow == 1
moveCaret(UP);
<==================
moveCaret(LEFT);
ed.caret.row.getElement(ed.caret.noInRow);
? ed.caret.row.im != null
<==================
charac = new Character(ed.caret.row.sy.c);
l\"abida k\~oik tuhikud
* ;ed.caret.noInRow >=1;
? ed.caret.row.im != null
<==================
? !charac.isWhitespace(ed.caret.row.sy.c)
<======
? ed.caret.noInRow == 1
moveCaret(UP);
<==================
moveCaret(LEFT);
ed.caret.row.getElement(ed.caret.noInRow);
ed.caret.row.getElement(ed.caret.noInRow);
l\"abida s\~ona s\"umbolid
* ; ed.caret.noInRow >=1;
? ed.caret.row.im != null
moveCaret(RIGHT);
<==================
? charac.isWhitespace(ed.caret.row.sy.c)
moveCaret(RIGHT);
<==================
<==================
moveCaret(LEFT);
ed.caret.row.getElement(ed.caret.noInRow);
!ctrl
<======
KeyEvent.VK_RIGHT:
? KeyEvent.VK_RIGHT:
? ctrl
Character charac2 = null;
? ed.caret.noInRow == ed.caret.row.elements.size()
moveCaret(DOWN);
<==================
ed.caret.row.getElement(ed.caret.noInRow);
? ed.caret.row.im == null
charac2 = new Character(ed.caret.row.sy.c);
<======
moveCaret(RIGHT);
? ed.caret.noInRow == ed.caret.row.elements.size()
moveCaret(DOWN);
<==================
ed.caret.row.getElement(ed.caret.noInRow);
? (ed.caret.row.im != null)
J\"argmine s\"umbol on ka pilt
<==================
charac2 = new Character(ed.caret.row.sy.c);
? (!charac2.isWhitespace(ed.caret.row.sy.c))
<==================
pildi taga on sona
l\"abida esimest kursor paremal seisvat s\"umbolit
? charac2.isWhitespace(ed.caret.row.sy.c)
<======
moveCaret(RIGHT);
? ed.caret.noInRow == ed.caret.row.elements.size()
moveCaret(DOWN);
<==================
ed.caret.row.getElement(ed.caret.noInRow);
? ed.caret.noInRow == ed.caret.row.elements.size()
moveCaret(DOWN);
<==================
l\"abida s\~ona t\"ahti
* ;ed.caret.noInRow < ed.caret.row.elements.size() ;
? ed.caret.row.im != null
<==================
? charac2.isWhitespace(ed.caret.row.sy.c)
<======
moveCaret(RIGHT);
? ed.caret.noInRow == ed.caret.row.elements.size()
moveCaret(DOWN);
<==================
ed.caret.row.getElement(ed.caret.noInRow);
l\"abida t\"uhikud
* ; ed.caret.noInRow < ed.caret.row.elements.size();
? ed.caret.row.im != null
<==================
? !charac2.isWhitespace(ed.caret.row.sy.c)
<==================
moveCaret(RIGHT);
? ed.caret.noInRow == ed.caret.row.elements.size()
moveCaret(DOWN);
<==================
ed.caret.row.getElement(ed.caret.noInRow);
!ctrl
? !ctrl
moveCaret(RIGHT);
<======
KeyEvent.VK_DOWN:
? KeyEvent.VK_DOWN:
<======
KeyEvent.VK_UP:
? KeyEvent.VK_UP:
<======
KeyEvent.VK_F1:
? KeyEvent.VK_F1:
Menüüs vaikeklahv
//
//
? shift
xxed.sketchyText.frame.menuBar.i50sL.actionPerformed(null);
<==========
//ed.sketchyText.frame.menuBar.i50LAlgJava.actionPerformed(null);
<======
KeyEvent.VK_F2:
? KeyEvent.VK_F2:
//
//
? shift
ed.sketchyText.frame.menuBar.i51sL.actionPerformed(null);
<==========
ed.sketchyText.frame.menuBar.i51L.actionPerformed(null);
<======
KeyEvent.VK_F3:
? KeyEvent.VK_F3:
//
? shift
ed.sketchyText.frame.menuBar.i59sL.actionPerformed(null);
<==========
ed.sketchyText.frame.menuBar.i59L.actionPerformed(null);
<======
KeyEvent.VK_F4:
? KeyEvent.VK_F4:
//
? shift
ed.sketchyText.frame.menuBar.i55sL.actionPerformed(null);
<==========
ed.sketchyText.frame.menuBar.i55L.actionPerformed(null);
<======
KeyEvent.VK_F11:
? KeyEvent.VK_F11:
//ed.sketchyText.frame.menuBar.i54L.actionPerformed(null);
<======
KeyEvent.VK_F5:
? KeyEvent.VK_F5:
//ed.sketchyText.frame.menuBar.i54L.actionPerformed(null);
<======
KeyEvent.VK_F6:
? KeyEvent.VK_F6:
//ALGJAVA ed.sketchyText.frame.menuBar.i53L.actionPerformed(null);
//
ALGJAVA
? ed.caret.text != null
ed.splitRowAtCaret();
ed.sketchyText.frame.contents.main.view.plan(c.hd, c.vd);
c.caretToScreen();
karett ekraanile
c.own = true; c.repaint();
<======
KeyEvent.VK_F7:
? KeyEvent.VK_F7:
//ALGJAVA ed.sketchyText.frame.menuBar.i56L.actionPerformed(null);
<======
KeyEvent.VK_F8:
? KeyEvent.VK_F8:
//
? shift
xxed.sketchyText.frame.menuBar.i57sL.actionPerformed(null);
<======
ed.sketchyText.frame.menuBar.i57L.actionPerformed(null);
<======
KeyEvent.VK_F9:
? KeyEvent.VK_F9:
//
? shift
ed.sketchyText.frame.menuBar.i5AsL.actionPerformed(null);
<======
ed.sketchyText.frame.menuBar.i5AL.actionPerformed(null);
<======
KeyEvent.VK_F12:
? KeyEvent.VK_F12:
//
? shift
ed.sketchyText.frame.menuBar.i58sL.actionPerformed(null);
<======
ed.sketchyText.frame.menuBar.i58L.actionPerformed(null);
<======
KeyEvent.VK_DELETE:
? KeyEvent.VK_DELETE:
? c.selection.kind() != Selection.NONE
c.selection.draw(g);
c.selection.cancel();
processDelete(ed);
<======
KeyEvent.VK_HOME:
? KeyEvent.VK_HOME:
ed.caret.draw(g);
ed.caret.moveToRowHome();
ed.caret.draw(g);
<======
KeyEvent.VK_END:
? KeyEvent.VK_END:
ed.caret.draw(g);
ed.caret.moveToRowEnd();
ed.caret.draw(g);
<======
KeyEvent.VK_PAGE_UP:
? KeyEvent.VK_PAGE_UP:
<==========
int helpConstant = c.getSize().height;
int abi = c.start.y + helpConstant-2*c.vd;
<======
c.caretToScreen = false;
c.frame.contents.main.invalidate(-c.start.y,
c.getSize().height - c.start.y);
c.own = true;
c.repaint();
<======
KeyEvent.VK_PAGE_DOWN:
? KeyEvent.VK_PAGE_DOWN:
helpConstant = c.getSize().height;
? c.sbv.getValue() >= c.sbv.getMaximum() - c.sbv.getVisibleAmount()
<==========
abi = c.start.y - helpConstant + 2*c.vd;
Double q = new Double(c.frame.contents.main.view.getHeight());
int wa = q.intValue()-helpConstant +2*c.vd;
? c.start.y*(-1) >= q.intValue()
? abi*(-1) > wa
c.start.y = (-1)* wa;
<======
c.start.y -= helpConstant - 2*c.vd;
c.caretToScreen = false;
c.frame.contents.main.invalidate(-c.start.y, c.getSize().height - c.start.y);
c.own = true;
c.repaint();
<======
public void keyReleased(KeyEvent event)
Ctrl
? event.getKeyText(event.getKeyCode()).compareTo("Ctrl")==0
ctrl = false;
Shift
? event.getKeyText(event.getKeyCode()).compareTo("Shift")==0
shift = false;
Alt
? event.getKeyText(event.getKeyCode()).compareTo("Alt")==0
alt = false;
processMacro();
public void keyTyped(KeyEvent event)
? c.frame.contents == null
<======
? c.frame.contents.editor == null
<======
Editor ed = c.frame.contents.editor;
char ch = event.getKeyChar();
? ctrl && !event.isAltGraphDown()
JK 26-06-2011
21.06.2011 (Ctrl + Enter)
ALGPYTHON:
? ch == KeyEvent.VK_ENTER
Viia karett peremees-skeemi algusesse ja sealt Enter:
Caret caret = ed.caret;
Scheme kust = null;
skeem, mille algusse eelnevalt viia
? caret.scheme instanceof Branch
kust = caret.scheme.parent;
hüpe kehast
<======
kust = caret.scheme;
hüpe päisest
? kust.parent == null
on välimine skeem ?
Toolkit.getDefaultToolkit().beep();
sellest välja ei saa hüpata
<==============
caret.goTo(kust);
hüpe päisest või kehast
ed.sketchyText.frame.menuBar.i53L.actionPerformed(null);
c.frame.contents.main.view.plan(c.hd, c.vd);
c.own = true;c.repaint();
<======
? ch == KeyEvent.VK_ENTER
? ed.caret.text != null
//ed.splitRowAtCaret();
ALGJAVA ja ALGPYTHON:
ed.sketchyText.frame.menuBar.i53L.actionPerformed(null);
c.frame.contents.main.view.plan(c.hd, c.vd);
c.own = true;c.repaint();
<======
? ch == KeyEvent.VK_BACK_SPACE
JK 30.12.05 valik alati maha
? c.selection.kind() != Selection.NONE
c.selection.cancel();
? ed.caret.noInRow != 1
ed.deleteElementAtCaretLeft();
<======
? (ed.caret.text != null)&&(ed.caret.rowNo()>0)
//JK 30.12.05
kui kaob rida, mis on valiku algus või lõpp
? c.selection.kind() == Selection.NONE
<======
? (c.selection.start.row == ed.caret.row) ||
(c.selection.end.row == ed.caret.row)
c.selection.cancel();
ed.joinRowAtCaret();
<======
c.frame.contents.main.view.plan(c.hd, c.vd);
c.own = true;c.repaint();
<======
? ch == KeyEvent.VK_DELETE
//processDelete(ed);
<======
? alt && !event.isAltGraphDown()
JK 26-06-2011
altSeq.append(ch);
<======
//System.out.println("AmKeyListener:keyTyped:ch="+ch +" = "+ (int)ch);
? (int)ch != 19
sümbol 19 tahetakse lisada pärast Ctrl+s, millegipärast?????
ed.insertCharAtCaretLeft(ch);
c.frame.contents.main.view.plan(c.hd, c.vd);
c.own = true;c.repaint();//c.X, c.Y, c.W, c.H);
private void processMacro()
? c.frame.contents == null
return;
String command = new String(altSeq);
? command.length() == 0
<======
<======
AmCanvas cM = Am.frameMacro.viewArea;
Sketch sM = Am.frameMacro.contents.main;
Branch brLast = sM.branch(sM.body.size() - 1);
Branch bM;
* int i = 0; i < brLast.body.size(); i++
Object o = brLast.member(i);
? o instanceof Sketch
Sketch macros = (Sketch)o;
* int j = 0; j < macros.body.size(); j++
bM = macros.branch(j);
Alt+x
kui Alt+x ja see haru bM oli valitud, siis jääb bM
<======
Selection sel = cM.selection;
??sel.kind()
? Selection.SCHEME2SCHEME:
? sel.start.scheme instanceof Branch
? (Branch)(sel.start.scheme) == bM
<======================
<==========
String cmnd = bM.comment.toString();
int iSpace = cmnd.indexOf(" ");
? iSpace < 0
iSpace = cmnd.length();
? command.compareTo(cmnd.substring(0, iSpace)) == 0
<==============
<==========
? bM.body.size() == 0
? bM.head.size() == 0
<======
? bM.head.size() == 1
Cursor hc1 = new Cursor(bM, bM.primitiveHead(0));
Cursor hc2 = new Cursor(bM, bM.primitiveHead(0));
hc2.moveToPrimitiveComment();
cM.selection = new Selection(cM, hc1, hc2);
<======
? bM.head.size() > 1
Cursor hc1 = new Cursor(bM, bM.primitiveHead(0));
Cursor hc2 = new Cursor(bM, bM.primitiveHead(bM.head.size() - 1));
cM.selection = new Selection(cM, hc1, hc2);
<======
? bM.body.size() == 1
Object o = bM.member(0);
? o instanceof Primitive
PrimitiveMember p = (PrimitiveMember)o;
Cursor c1 = new Cursor(bM, p);
Cursor c2 = new Cursor(bM, p);
? p.text.comment.elements.size() == 1
c2.moveToPrimitiveTextEnd();
cM.selection = new Selection(cM, c1, c2);
<======
c2.moveToPrimitiveComment();
cM.selection = new Selection(cM, c1, c2);
<======
Sketch sk = (Sketch)o;
Cursor c1 = new Cursor(sk);
Cursor c2 = new Cursor(sk);
cM.selection = new Selection(cM, c1, c2);
<======
Object o1 = bM.member(0);
Object o2 = bM.member(bM.body.size() - 1);
Cursor c1=null, c2=null;
? o1 instanceof Primitive
c1 = new Cursor(bM, (PrimitiveMember)o1);
c1.moveToPrimitiveText();
<======
c1 = new Cursor((Sketch)o1);
? o2 instanceof Primitive
c2 = new Cursor(bM, (PrimitiveMember)o2);
c2.moveToPrimitiveText();
<======
c2 = new Cursor((Sketch)o2);
cM.selection = new Selection(cM, c1, c2);
Editor edM = cM.frame.contents.editor;
edM.sketchyText.frame.menuBar.i32L.actionPerformed(null);
Editor ed = c.frame.contents.editor;
ed.sketchyText.frame.menuBar.i34L.actionPerformed(null);
c.own = true;c.repaint(c.X, c.Y, c.W, c.H);
private void processDelete(Editor ed)
Row r = ed.caret.row;
? ed.caret.noInRow < ed.caret.row.elements.size()
ed.deleteElementAtCaretRight();
<======
? (ed.caret.text != null)
&&(ed.caret.rowNo() < ed.caret.text.rows.size()-1)
ed.joinRowAtCaretNext();
c.frame.contents.main.view.plan(c.hd, c.vd);
c.own = true;c.repaint();