AMADEUS html plain
This sketchy text is generated by AMADEUS
import
* import
java.awt.*;
java.awt.event.*;
javax.swing.*;
java.awt.datatransfer.*;
getSystemClipboard() jaoks
class AmFrame
class AmFrame extends JFrame
raam skeemtekstile
static final String TITLE0 = "Amadeus";
SketchyText contents;
kujutatav skeemtekst (vo~i null)
float sizeFactor;
see ==> View.sizeFactor meetodis AmCanvas.paintComponent
muudab ainult menüüvalik Frame+View++/--/=1 (Item72/73/74Listener)
AmCanvas viewArea;
vaateva"li
AmMenu menuBar;
menuu" isWidows: null, kui pole activated
int increment;
meetodile refresh()
boolean üksValikPandud;
/////////////////
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);
sizeFactor = AmView.sizeFactor = 1.0f;
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;
üksValikPandud = false;
setDefaultCloseOperation(DO_NOTHING_ON_CLOSE);
sizeFactor = 1.0f;
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)
boolean closeFrame = true;
skeemteksti sulgemine/salvestamine
? this.contents != null
tühi raam läheb alati sulgemisele
this instanceof AmProjectFileFrame
? this instanceof AmProjectFileFrame
JK 03.05.02
? ! (menuBar.menuItemIsEnabled(AmLocale.File(),
AmLocale.Save()))
kas Save polnud lubatud?
<==========
Save jääb ära.
? this.contents.file != null
? this.contents.file.changed
Kas oli fail muudetud
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:
ActionController.removeRecoverFile(this.contents.file.name);
<======
? AmDialog.YES:
Toimub faili salvestamine
menuBar.i02L.actionPerformed(null);
<======
? AmDialog.CANCEL:
frame.show();
// (new ShowFrame(this)).start();
// this.setState(javax.swing.JFrame.NORMAL);
//this.show();
<==================
AmProjectFileFrame sulgemine
? ! (this instanceof AmProjectFileFrame)
<==================
? this.isProjectDescriptionFrame()
? ProjectBoard.isAnyFrameForSave(this)
AmDialog d;
d = new AmDialog(this, AmLocale.Closing(),
AmDialog.B_YES_NO,
AmLocale.ProjectQuit());
??d.getTulemus()
? AmDialog.NO:
<==========================
? AmDialog.YES:
Toimub faili salvestamine
<======
<======
ProjectBoard.closeAmProjectFileFrame( (AmProjectFileFrame)this);
dispose();
Am.remove(this);
kõrvaldada raam ise
boolean toClose()
Output : true, kui raami ikka vaja suleta
false kui ei ole vaja
boolean returnResult = true;
? (this.contents.file != null) && (this.contents.file.name != null) && (!this.contents.file.name.trim().equals(""))
? this.contents.file.changed
AmDialog d;
d
d = new AmDialog(this, AmLocale.Closing(),
AmDialog.B_YES_NO_CANCEL,
AmLocale.Save_file()+ "(EXPORT XML)"+ "?"
+"\n"+ contents.file.name);
Siia panna veel suletava raami faili nimi.
??d.getTulemus()
? AmDialog.NO:
ActionController.removeRecoverFile(this.contents.file.name);
<======
? AmDialog.YES:
Toimub faili salvestamine
Sketch2Xml.s2h(this.contents.main, this.contents.file.name);
<======
? AmDialog.CANCEL:
frame.show();
returnResult = false;
<======
? this.menuBar.menuItemIsEnabled(AmLocale.Edit(), AmLocale.Undo())
AmDialog d;
d
d = new AmDialog(this, AmLocale.Closing(),
AmDialog.B_YES_NO,
"Sketchy text is changed and not saved. Continue "+ "?");
??d.getTulemus()
? AmDialog.NO:
? AmDialog.YES:
<======
<======returnResult
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
ALGPYTHON ///ALGJAVA:
BaseLanguage.setAll(
contents.main, BaseLanguage._ALGJAVA);
skt.editor = new Editor(skt);
panna skeemtekstile toimeti
skt.editor.stack = new UndoStack(skt.editor);
skt.editor.redoStack = new RedoStack(skt.editor);
menuBar.forNewContents();
ALGJAVA (ka ALGPYTHON):
skt.editor.caret.moveDown();
skt.editor.caret.moveDown();
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();
skt.affected = skt.main;
JK 25.11.2005
void newContentsWithOldFileName(Sketch s)
paneb uueks sisuks antud skeemi s
//System.out.println("AmFrame:newContentsWithOldFileName:this.contents="+ this.contents);
this.contents on null, kui Import project > Cancel > Default | Package
String fileName = null ;
? this.contents != null && this.contents.file != null && !this.contents.file.name.trim().equals("")
fileName = this.contents.file.name;
<======
Kui this.contents==null (oli: Import project > Cancel > Default | Package) JK 16.08.2010
fileName = System.getProperty("user.dir") + Default.er + "Portfolio"+ Default.er +"untitledProject.algjava";
SketchyText skt = new SketchyText(this);
? fileName != null
skt.file = new AmFile(skt);
skt.file.name = fileName;
setTitle(TITLE0+" - "+fileName);
skt.setChanged(true);
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
OK (JK 21.12.2011)
Dimension dim = getSize();
dim.width += increment; dim.height += increment;
increment *= -1;
setSize(dim);
//repaint(1L);
ei joonista menüüd ümber
public boolean isProjectDescriptionFrame()
a'la S.Golovko
AmFrame fr;
return ProjectBoard.isProjectDescriptionFrame(this);
/*
* int i = 0; i < Am.frames.size(); i++
fr = (AmFrame)(Am.frames.elementAt(i));
? fr instanceof AmProjectFileFrame
? ((AmProjectFileFrame)fr).projectDescriptionFrame == this
return true;
return false;
*/
public boolean isProjectDescriptionFrameJK()
kasutab Item74Listener
AmFrame fr;
* int i = 0; i < Am.frames.size(); i++
fr = (AmFrame)(Am.frames.elementAt(i));
? fr instanceof AmProjectFileFrame
? ((AmProjectFileFrame)fr).projectDescriptionFrame == this
return true;
return false;
teksti lugemine süsteemi lõikelaualt
String getSystemClipboard()
Tagastab: null, kui midagi viga
kasutab Item32AListener
java.awt.datatransfer.Clipboard clipbd =
getToolkit().getSystemClipboard();
Transferable clipData = clipbd.getContents(null);
? clipData == null
<======null
String clipString;
!!
clipString =
(String)clipData.getTransferData(
DataFlavor.stringFlavor);
//System.out.println("AmFrame:getSystemClipboard:clpString:" +
//clipString);
! (Exception e)
//System.out.println("AmFrame:getSystemClipboard:clpString:" +
//"EI SAANUD");
<==========null
<======clipString