AMADEUS html plain
* import java.awt.
import javax.swing.*;
class Item50Listener
class Item50Listener implements ActionListener
Insert+Simple
AmFrame frame;
Item50Listener(AmFrame fr)
konstruktor
public void actionPerformed(ActionEvent event)
Sketch sk = makeSimpleSketchAtCaret(frame, false);
uus lihtskeem
insertSketchAtCaret(frame, sk);
public static Sketch makeSimpleSketchAtCaret(AmFrame frame,
boolean multi)
teha uus lihtskeem (baaskeel ja vaade ylemuselt)
Editor editor = frame.contents.editor;
Caret caret = editor.caret;
BaseLanguage bl =
BaseLanguage.newBaseLanguage(caret.scheme.baseLanguage.type);
Branch br = new Branch(Scheme.SIMPLE, bl);
bl =
BaseLanguage.newBaseLanguage(caret.scheme.baseLanguage.type);
Sketch sk = new Sketch(Scheme.SIMPLE, br, bl);
seada vaade (ylemusest)
View.set(sk, caret.scheme.view.type);
View.set(br, caret.scheme.view.type);
? multi
lisada teine haru:
bl =
BaseLanguage.newBaseLanguage(caret.scheme.baseLanguage.type);
Branch br2 = new Branch(Scheme.SIMPLE, bl);
sk.insert(br2, 0);
seada vaade (ülemusest)
View.set(br2, caret.scheme.view.type);
<======sk
public static void insertSketchAtCaret(AmFrame frame, Sketch sk)
lisada uus lihtskeem, olenevalt kareti asukohast
AmCanvas c = frame.viewArea;
Editor editor = frame.contents.editor;
Caret caret = editor.caret;
? caret.inSchemeComment()
? (caret.scheme.parent == null) ||
(caret.scheme instanceof Branch)
välimisel või harul
lisada esimeseks esimeses harus või lisada haru esimeseks
? caret.scheme instanceof Sketch
editor.insertScheme
((Scheme)(caret.scheme.member(0)), 0, sk);
<======
editor.insertScheme
(caret.scheme, 0, sk);
<======
sisemisel skeemil, lisada järgmiseks liikmeks
int no = caret.scheme.parent.body.indexOf(
caret.scheme);
editor.insertScheme
(caret.scheme.parent, no+1, sk);
<======
? caret.inHead()
lisada esimeseks esimeses harus või lisada haru esimeseks
? caret.scheme instanceof Sketch
editor.insertScheme
((Scheme)(caret.scheme.member(0)), 0, sk);
<======
editor.insertScheme(caret.scheme, 0, sk);
<======
? caret.inBody()
kehas (primitiivil)
int i = caret.scheme.body.indexOf(caret.primitive);
editor.insertScheme(caret.scheme, i+1, sk);
lisatud skeem valikuks
Cursor cursor = new Cursor(sk);
c.selection = new Selection(c, cursor, cursor);
frame.contents.main.view.plan(c.hd, c.vd);
c.caretToScreen();
karett ekraanile
c.own = true; c.repaint();