AMADEUS html plain
* import java.
util.*;
awt.*;
awt.event.*;
class Item34Listener
class Item34Listener implements ActionListener
Edit + Paste
AmFrame frame;
Item34Listener(AmFrame fr)
konstruktor
public void actionPerformed(ActionEvent event)
AmCanvas c = frame.viewArea;
boolean uus = false;
uus: siirdatakse tühjale tahvlile
boolean haru = false;
haru: siirdatakse (1) haru tühjale tahvlile
? frame.contents == null
uus = true;
? Am.clipboard.obj instanceof Branch
haru = true;
<======
? Am.clipboard.obj instanceof Sketch
Sketch sk0 = (Sketch)(Am.clipboard.obj);
? sk0.hasLeavingArrows(0)
<==========
kui siirdada normaalskeem, siis sellega ka lõpetada
frame.newContents(sk0.makeCopy());
frame.contents.file = new AmFile(frame.contents);
ekraanile:
frame.contents.main.view.plan(c.hd, c.vd);
c.caretToScreen();
frame.contents.affected = frame.contents.main;
c.own = true; c.repaint();
<==============
frame.newContents();
teha tühi skeem, kuhu siirdada
frame.contents.file = new AmFile(frame.contents);
Editor editor = frame.contents.editor;
Caret caret = editor.caret;
siirdamised
? Am.clipboard.obj instanceof Arrow
siirdada nool
Arrow p = (Arrow)Am.clipboard.obj ;
p = p.make_Copy();
Item53Listener.insertPrimitive(frame, p);
<======
? Am.clipboard.obj instanceof PrimitiveMember
siirdada primitiiv
PrimitiveMember p = (PrimitiveMember)Am.clipboard.obj ;
p = p.makeCopy();
Item53Listener.insertPrimitive(frame, p);
<======
? Am.clipboard.obj instanceof PrimitiveHead
siirada primitiivpäis
PrimitiveHead p = (PrimitiveHead)Am.clipboard.obj ;
p = p.makeCopy();
? (caret.scheme instanceof Sketch) &&
(p.text.isMonochrome(Default.branchHeadColor))
p.text.setColor(Default.sketchHeadColor);
<======
? (caret.scheme instanceof Branch) &&
(p.text.isMonochrome(Default.sketchHeadColor))
p.text.setColor(Default.branchHeadColor);
Item52Listener.insertPrimitiveHead(frame, p);
<======
? Am.clipboard.obj instanceof Sketch
siirdada skeem
Sketch sk = (Sketch)Am.clipboard.obj ;
sk = sk.makeCopy();
Item50Listener.insertSketchAtCaret(frame, sk);
<======
? Am.clipboard.obj instanceof Branch
siirdada haru
Branch br = (Branch)Am.clipboard.obj ;
br = br.makeCopy();
Item54Listener.insertBranchAtCaret(frame, br);
<======
? Am.clipboard.obj instanceof Vector
Vector v = (Vector)Am.clipboard.obj;
String tag = (String)(v.elementAt(0));
lõiketahvlil on vektor
? tag.compareTo("members") == 0
siirdada liikmete grupp
ALGJAVA:
kas liikmete seas on ainult meetodid või rühmII
boolean ainultMeetodidJaII = true;
* int i = 0, n = v.size(); i < n; i++
Object o = v.elementAt(i);
? o instanceof Sketch
Sketch sk = (Sketch)o;
? ! (sk.type == Scheme.MODULE || sk.containsModule())
ainultMeetodidJaII = false;
<==============
<======
ainultMeetodidJaII = false;
<==========
? ainultMeetodidJaII
BaseLanguage_AlgJava.kuhuJaMitmendaks(
caret, BaseLanguage_AlgJava.F3);
nagu meetod
Object o = editor.insertMembers(
(Branch)(BaseLanguage_AlgJava.kuhu),
BaseLanguage_AlgJava.mitmendaks,
v);
<==============
kas liikmete seas on meetod või rühmII
boolean II = false;
* int i = 0, n = v.size(); i < n; i++
Object o = v.elementAt(i);
? o instanceof Sketch
Sketch sk = (Sketch)o;
? (sk.type == Scheme.MODULE || sk.containsModule())
II = true;
<==========
? II
segarühm (primit või rühmI peaks olema alguses)
lisada esimese meetodi/rühmII ette või siis lõppu
otsida esimene meetod või rühmII (sk)
Caret car = new Caret(frame.contents.main);
car.goTo(frame.contents.main);
Sketch sk = null;
Branch kuhu;
int mitmendaks;
<======
? ! car.inSchemeComment()
<------
? ! (car.scheme instanceof Sketch)
<------
Sketch ske = (Sketch)(car.scheme);
? ske.type == Scheme.MODULE
|| ske.containsModule()
sk = ske;
<======
? sk != null
meetodi või rühmII ette:
kuhu = (Branch)(sk.parent);
sk ette
mitmendaks = sk.parent.body.indexOf(sk);
<======
kõige välimise skeemi viimaseks:
Scheme sc = caret.scheme;
<======
Branch br = ((Sketch)sc).branch(0);
kuhu = br;
mitmendaks = br.body.size();
editor.caret = car;
muidu ei tule kleebitud liikmed ekraanile,
kuna kleepimine ei toimu olemasoleva kursori juurde
Object o = editor.insertMembers(kuhu, mitmendaks, v);
<==============
nagu enne:
i: alates mitmendast kehas lisada
int i = 0;
kui skeemikommentaaril vo~i pa"ises
? caret.inBody()
i = caret.scheme.body.indexOf(caret.primitive)+1;
haru, millesse lisada
Branch br;
? caret.scheme instanceof Branch
br = (Branch)caret.scheme;
<======
br = (Branch)(caret.scheme.member(0));
Object o = editor.insertMembers(br, i, v);
<======
? tag.compareTo("heads") == 0
siirdada päiste grupp
i: alates mitmendast pa"ises lisada
int i = 0;
kui skeemikommentaaril vo~i pa"ises
? caret.inHead()
i = caret.scheme.head.indexOf(caret.primitive)+1;
<======
? caret.inBody()
i = caret.scheme.head.size();
PrimitiveHead he =
editor.insertHeads(caret.scheme, i, v);
<======
? tag.compareTo("elements") == 0
siirdada elementide grupp
editor.insertElements(v);
JK 12.10.2002 et karett jääks listud sümbolite järele
* int k = 0; k < v.size()-1; k++
JK 12.10.2002. et karett jääks listud sümbolite järele
<======
? tag.compareTo("rows") == 0
siirdada ridade grupp
frame.contents.main.view.plan(c.hd, c.vd);
c.caretToScreen();
c.own = true; c.repaint();
? uus
Sketch peaskeem = frame.contents.main;
? haru
võtta teine (tühi) haru maha
peaskeem.removeMember(1);
<======
võtta viimane (tühi) primitiiv maha
Branch br = (Branch)(peaskeem.member(0));
br.removeMember(br.body.size()-1);
frame.contents.main.view.plan(c.hd, c.vd);
c.own = true; c.repaint();