AMADEUS html plain
This sketchy text is generated by AMADEUS
import java.util.*;
import java.awt.*;
class Text
class Text extends Rectangle
tekst on ristkylik igas vaates
Row comment;
Vector rows;
elemendid tyypi Row, va"hemalt 1 rida
konstruktorid*
Text()
konstruktor
rows = new Vector();
Row r = new Row(Default.foregroundColor);
rows.addElement(r);
comment = new Row(Default.commentColor);
plan(0, 0);
suurus
Text(Color col)
konstruktor
rows = new Vector();
Row r = new Row(col);
rows.addElement(r);
comment = new Row(Default.commentColor);
plan(0, 0);
suurus
Row row(int i)
tagastab i-nda rea
<======(Row)rows.elementAt(i)
void insert(Row r, int i)
lisab antud rea r i-ndaks
rows.insertElementAt(r, i);
void remove(int i)
eemaldab i-nda rea
? (rows.size() > 1)
rows.removeElementAt(i);
void plan(int x0, int y0)
planeerib kohale x0,y0
x = x0; y = y0;
Row r = null;
height = 0;
width = 0;
int w;
int n = rows.size();
* int i = 0; i < n; i++
r = row(i);
r.plan(x0, y0);
height += r.height;
y0 += r.height;
w = r.width;
? (i == (n-1))
w += comment.width;
? (w > width)
width = w;
comment.plan(x0 + r.width, r.y);
void draw(Graphics g)
iga rea korral
* Enumeration e = rows.elements(); e.hasMoreElements();
Row r = (Row)(e.nextElement());
r.draw(g);
comment.draw(g);
kommentaar:
Text makeCopy()
Text t = new Text();
* int i = 0; i < rows.size(); i++
t.insert(row(i).makeCopy(), i+1);
t.remove(0);
t.comment = comment.makeCopy();
t.plan(0, 0);
planeerida suurus
<======t
void trim()
ridadest ja kommentaarist eel- ja lopu tyhikud maha
* int i = 0; i < rows.size(); i++
comment.trim();
void joinRow(int i)
i-s rida eelmise rea lo~ppu
<======
? i > rows.size()-1
JK 09.05.03
<======
Row givenrow = row(i);
Row prevrow = row(i-1);
int j = prevrow.elements.size()-1;
* int k = 1; k < givenrow.elements.size(); k++
givenrow.getElement(k);
prevrow.insert(givenrow.sy, ++j);
rows.removeElementAt(i);
prevrow.planSize();
void splitRow(int i, int x)
rea nr i lo~puosa alates symbolist nr x ja"rgmiseks uueks reaks
eeldab: x > 0
Row givenrow = row(i);
givenrow.getElement(x-1);
if(givenrow.sy != null) pilt?
Row nextrow = new Row(givenrow.sy.font, givenrow.sy.color);
insert(nextrow, i+1);
else // pilt
int z = 1;
lisamise koht jrgm. reas
int y = 0;
ylekantud symbolite loendur
lisada antud reast jargmisse
..for
* int k = x; k < givenrow.elements.size(); k++
y++;
givenrow.getElement(k);
nextrow.insert(givenrow.sy, z++);
eemaldada antud rea lopp
* ;(--y >= 0);
givenrow.planSize();
nextrow.planSize();
String toString(Color col)
pannes iga rea loppu veel tyhiku
StringBuffer t = new StringBuffer();
* Enumeration e = rows.elements(); e.hasMoreElements();
Row r = (Row)(e.nextElement());
t.append(r.toString(col)+" ");
<======t.toString()
public String toString()
pannes ridade vahele veel reavahetuse
StringBuffer t = new StringBuffer();
int i;
..for
* i = 0; i < (rows.size()-1); i++
Row r = row(i);
t.append(r.toString()+"\n");
t.append(row(i).toString());
<======t.toString()
boolean isMonochrome(Color color)
kas ainult seda va"rvi symbolid?
kui esineb pilt, siis ka false
* int i = 0; i < rows.size(); i++
Row r = row(i);
* int j = 0; j < r.elements.size(); j++
r.getElement(j);
? (r.sy == null)
<==============false
<==============false
<======true
Color isMonochrome()
kas yhte va"rvi symbolid? (tagastab selle va"rvi)
Color color = row(0).isMonochrome();
? (color == null)
<======null
* int i = 1; i < rows.size(); i++
? (row(i).isMonochrome() != color)
<==========null
<======color
boolean isRichModel()
<======true
* int i = 0, n = rows.size(); i < n; i++
<==========true
<======false
boolean isTrivial()
kas ko~ik read on triviaalsed?
* Enumeration e = rows.elements(); e.hasMoreElements();
? (!((Row)(e.nextElement())).isTrivial())
<==========false
<======true
int width(int i)
leida teksti laius reast i kuni lo~puni
int w = 0;
* ; i < rows.size(); i++
int l = row(i).width;
? (l > w)
w = l;
<======w
int width(int i, int j)
leida teksti laius reast i kuni reani j
int w = 0;
* ; i <= j; i++
int l = row(i).width;
? (l > w)
w = l;
<======w
void invalidate()
invalideerib read ja kommentaari
* int i = 0; i < rows.size(); i++
comment.invalidate();
void toggleColor(boolean comm)
ridades ja (kui comm) kommentaaris
* int i = 0; i < rows.size(); i++
? (comm)
comment.toggleColor();
void setColor(Color col)
ridades
* int i = 0; i < rows.size(); i++
void setColor(Color col, Color commcol)
ridades ja kommentaaris
* int i = 0; i < rows.size(); i++
comment.setColor(commcol);
void setStyle(Color col, Font font)
ridades (mitte kommentaaris)
* int i = 0; i < rows.size(); i++
row(i).setStyle(col, font);
img2tag NT 22.05
public void img2tag()
tag2Img NT 22.05
public void tag2Img()
int len=rows.size();
* int i=0;i