AMADEUS html plain
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
class Item54Listener
class Item54Listener implements ActionListener
Insert+Branch
AmFrame frame;
Item54Listener(AmFrame fr)
konstruktor
public void actionPerformed(ActionEvent event)
AmCanvas c = frame.viewArea;
Editor editor = frame.contents.editor;
Caret caret = editor.caret;
teha uus haru br (baaskeel ja vaade ülemuselt):
BaseLanguage bl =
BaseLanguage.newBaseLanguage(caret.scheme.baseLanguage.type);
Branch br = new Branch(Scheme.SIMPLE, bl);
View.set(br, caret.scheme.view.type);
lisada:
insertBranchAtCaret(frame, br);
public static void insertBranchAtCaret(AmFrame frame, Branch br)
päis ja päise tüüp nagu eelmisel harul (või järgmisel,
kui eelmist ei ole)
AmCanvas c = frame.viewArea;
Editor editor = frame.contents.editor;
Caret caret = editor.caret;
Branch naaber = null;
lisada, olenevalt kareti asukohast
? caret.scheme instanceof Sketch
lisada esimeseks
naaber = ((Sketch)(caret.scheme)).branch(0);
editor.insertScheme((Scheme)(caret.scheme), 0, br);
<======
int i = caret.scheme.parent.body.indexOf(caret.scheme);
editor.insertScheme(caret.scheme.parent, i+1, br);
naaber = ((Sketch)(caret.scheme.parent)).branch(i);
panna päis ja selle tüüp naaberharu (esimese päise) järgi :
? !naaber.isHeadless()
br.insert(new PrimitiveHead(
naaber.primitiveHead(0).type,
new Text(Default.branchHeadColor)), 0);
lisatud skeem valikuks
Cursor cursor = new Cursor(br);
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();