AMADEUS html plain
* import java.awt.
class Item35Listener
class Item35Listener implements ActionListener
Edit + Toggle
AmFrame frame;
Item35Listener(AmFrame fr)
konstruktor
public void actionPerformed(ActionEvent event)
AmCanvas c = (AmCanvas)(frame.viewArea);
boolean plan = true;
Sketch newS = null;
??c.selection.kind()
? Selection.PRIMITIVE2SCHEME:
ALGJAVA
Sketch ssk = (Sketch)(c.selection.end.scheme);
? ssk.type == Scheme.MODULE ||
ssk.containsModule()
Toolkit.getDefaultToolkit().beep();
<==========
võtta valik lihtskeemiks
newS = frame.contents.editor.group2simple(c.selection);
frame.contents.main.view.plan(c.hd, c.vd);
plan = false;
valik tehtule
Cursor cur = new Cursor(newS);
c.selection = new Selection(c, cur, cur);
<======
? Selection.PRIMITIVE:
? Selection.PRIMITIVE2PRIMITIVE:
? Selection.SCHEME2PRIMITIVE:
võtta valik lihtskeemiks
newS = frame.contents.editor.group2simple(c.selection);
frame.contents.main.view.plan(c.hd, c.vd);
plan = false;
valik tehtule
Cursor cur = new Cursor(newS);
c.selection = new Selection(c, cur, cur);
<======
? Selection.PRIMITIVETEXT:
//ALGJAVA
karett valitud primitiivile
? !c.selection.area().
contains(frame.contents.editor.caret.row.x,
frame.contents.editor.caret.row.y)
Cursor xc = new Cursor(c.selection.start.scheme,
c.selection.start.primitive);
frame.contents.editor.caret.goTo(xc);
seada affected, kui valitud on nool
Scheme affected = c.selection.start.scheme.parent;
? affected instanceof Branch
affected = c.selection.start.scheme;
seada affected, kui valitud on nool
? c.selection.start.primitive instanceof Arrow
Arrow ar = (Arrow)(c.selection.start.primitive);
int startlevel = c.selection.start.scheme.level();
int endlevel = ar.level;
int len = startlevel - endlevel;
? len == 0
frame.contents.editor.incrementArrow(ar, 1);
<======
* ;(startlevel - ar.level) != 1;
frame.contents.editor.incrementArrow(ar, -1);
otsida vana otsaskeem
Scheme x = c.selection.start.scheme;
* int i = 0; i < len; i++
? x instanceof Branch
x = x.parent;
affected = x;
? !frame.contents.editor.togglePrimitive()
<==============
primitiiv võis muutuda (kui cond ==> arrow)
c.selection.start.primitive =
frame.contents.editor.caret.primitive;
c.selection.end.primitive =
frame.contents.editor.caret.primitive;
plan = false;
<======
? Selection.SCHEME2SCHEME:
? Selection.OUTER:
kui üks skeem
? c.selection.start.scheme == c.selection.end.scheme
on üks skeem
Scheme s = c.selection.start.scheme;
Branch br;
Cursor c1, c2;
Scheme parent = null;
kompil
Object o1 = null;
kompil
Object o2 = null;
kompil
esimene (o1) ja viimane (o2) avatavas
? s instanceof Sketch
br = (Branch)(s.member(0));
avamise puhuks:
parent = s.parent;
? br.body.size() >0
o1 = br.member(0);
o2 = br.member(br.body.size()-1);
<======
haru liikmeid ei ole
sel korral ei tohi ka avatud saada
o1 = null;
o2 = null;
? frame.contents.editor.toggleScheme(s)
sai avatud
valik avatule
? o1 != o2
üle 1 liikme
? o1 instanceof Primitive
c1 = new Cursor(parent, (Primitive)o1);
<======
c1 = new Cursor((Scheme)o1);
? o2 instanceof Primitive
c2 = new Cursor(parent, (Primitive)o2);
<======
c2 = new Cursor((Scheme)o2);
c.selection = new Selection(c, c1, c2);
..
karett alla?
...
;
<======
üks liige
? o1 instanceof Primitive
c1 = new Cursor(parent, (Primitive)o1);
c2 = new Cursor(parent, (Primitive)o1);
c2.moveToTextComment();
c.selection = new Selection(c, c1, c2);
<======
c1 = new Cursor((Scheme)o1);
c.selection = new Selection(c, c1, c1);
frame.contents.main.view.plan(c.hd, c.vd);
plan = false;
<======
ainult skeemi tüüp muutus
plan = false;
<======
grupp skeemist skeemini
Sketch ssk0 = (Sketch)(c.selection.start.scheme);
Sketch ssk1 = (Sketch)(c.selection.end.scheme);
? ssk1.type == Scheme.MODULE || ssk1.containsModule()
siis ka algusskeem peab selline olema
? ssk0.type == Scheme.MODULE || ssk0.containsModule()
võtta valik lihtskeemiks
<==========
Toolkit.getDefaultToolkit().beep();
<==================
rühmI .. m/rühmII
.. rühmI
võtta valik lihtskeemiks
newS =
frame.contents.editor.group2simple(c.selection);
newS = frame.contents.editor.group2simple(c.selection);
valik tehtule
frame.contents.main.view.plan(c.hd, c.vd);
plan = false;
cur = new Cursor(newS);
c.selection = new Selection(c, cur, cur);
<======
ALGJAVA: tehtule baaskeeleks _AlgJava (kui veel pole)
? newS != null
? newS.baseLanguage.type != BaseLanguage._ALGJAVA
BaseLanguage.setAll(newS, BaseLanguage._ALGJAVA);
? plan
frame.contents.main.view.plan(c.hd, c.vd);
c.own = true; c.repaint();