AMADEUS html plain
This sketchy text is generated by AMADEUS
import
* import
java.awt.*;
java.awt.event.*;
javax.swing.*;
class AmFrame
class AmFrame extends JFrame
raam skeemtekstile
static final String TITLE0 = "Amadeus-fRED";
SketchyText contents;
kujutatav skeemtekst (vo~i null)
AmCanvas viewArea;
vaateva"li
AmMenu menuBar;
menuu" isWidows: null, kui pole activated
int increment;
meetodile refresh()
AmFrame(Dimension d, Point p)
konstruktor
teeb kuularitega varustatud raami moo~tmetega d, alguspunktiga p
puuduvad veel sisu (contents) ja komponendid (menu, view area)
super(TITLE0);
contents = null;
pole veel skeemteksti
viewArea = null;
pole veel vaateva"lja
addWindowListener(new AmFrameListener(this));
lisada raami kuular
addComponentListener(new AmFrameListener1(this));
lisada komponendi kuular
setSize(d);
suurus
setLocation(p);
alguspunkt
increment = 1;
isendimeetodid*
void addComponents()
lisab komponendid (u"lemusele Frame): menuu", lo~uend vo~i tekstiala, kerimisribad
eeldab, et vaateva"li (viewArea) on juba sellele raamile (AmFrame) omistatud
Container p = getContentPane();
p.add(viewArea);
vaateva"li
setJMenuBar(menuBar = new AmMenu(this));
menuu"
AmCanvas c = viewArea;
lisada kerimisribad:
c.sbv = new AmCanvasScrollbar(c,Scrollbar.VERTICAL);
p.add(c.sbv, "East");
c.sbh = new AmCanvasScrollbar(c,Scrollbar.HORIZONTAL);
p.add(c.sbh, "South");
lo~uendile valik:
c.selection = new Selection(c, null, null);
menuBar.forEmptyFrame();
void closing()
AmFrameListenerist kui WindowClosing
(File+Quit: teeb ko~igile raamidele closing)
skeemteksti sulgemine/salvestamine
? this.contents != null
tühi raam läheb alati sulgemisele
SS
? this instanceof AmProjectFileFrame
JK 03.05.02
? ! (menuBar.MenuItemIsEnabled(AmLocale.File(),
AmLocale.Save()))
kas Save polnud lubatud?
<==========
Save jääb ära.
Kontrollime, kas fail oli muudetud.
? this.menuBar.MenuItemIsEnabled(AmLocale.Edit(),
AmLocale.Undo())
Fail oli muudetud, küsime kas salvestada faili
AmDialog d;
d
? Am.isAmadeusQuitting
d = new AmDialog(this, AmLocale.Closing(),
AmDialog.B_YES_NO,
AmLocale.Save_file()+ "?"
+"\n"+ contents.file.name);
<======
d = new AmDialog(this, AmLocale.Closing(),
AmDialog.B_YES_NO_CANCEL,
AmLocale.Save_file()+ "?"
+"\n"+ contents.file.name);
Siia panna veel suletava raami faili nimi.
??d.getTulemus()
? AmDialog.NO:
<======
? AmDialog.YES:
Toimub faili salvestamine
menuBar.i02L.actionPerformed(null);
<======
? AmDialog.CANCEL:
frame.show();
(new ShowFrame(this)).start();
<==================
hall nimi mustaks
? ! (this instanceof AmProjectFileFrame)
<======
AmProjectFileFrame pFr = (AmProjectFileFrame)this;
int i = contents.file.name.lastIndexOf(ProjectBoard.er);
? i == -1
<======
String failiLihtnimi = contents.file.name.substring(i+1);
Cursor cur = ProjectBoard.moveToProjectFileName(
pFr.ownProject, failiLihtnimi);
? cur == null
System.out.println("AmFrame:closing: cur==null");
<======
System.out.println("AmFrame:closing: cur!=null");
ProjectBoard.colorProjectFileName(pFr.projectDescriptionFrame,
cur.primitive, Default.foregroundColor);
Am.remove(this);
kõrvaldada raam ise
void newContents()
paneb uueks sisuks tühja lihtskeemi skeemi
viewArea.start = new Point(0, 0);
SketchyText skt = new SketchyText(this);
uus skeemtekst
contents = skt;
siduda skeemtekst raamiga
skt.editor = new Editor(skt);
panna skeemtekstile toimeti
skt.editor.stack = new UndoStack(skt.editor);
skt.editor.redoStack = new RedoStack(skt.editor);
menuBar.forNewContents();
void newContents(Sketch s)
paneb uueks sisuks antud skeemi s
SketchyText skt = new SketchyText(this);
skt.main = s;
contents = skt;
siduda skeemtekst raamiga
skt.editor = new Editor(skt);
panna skeemtekstile toimeti
skt.editor.stack = new UndoStack(skt.editor);
skt.editor.redoStack = new RedoStack(skt.editor);
menuBar.forNewContents();
public void refresh()
muudab suurust ühe pikseli (increment) võrra,
et tagada kogu raami ümberjoonistamine
Dimension dim = getSize();
dim.width += increment; dim.height += increment;
increment *= -1;
muuta märk
setSize(dim);
public boolean isProjectDescriptionFrame()
kontroll, kas leidub mõni sellele viitav raam
AmFrame fr;
* int i = 0; i < Am.frames.size(); i++
fr = (AmFrame)(Am.frames.elementAt(i));
? fr instanceof AmProjectFileFrame
? ((AmProjectFileFrame)fr).projectDescriptionFrame == this
<==========true
<======false