import java.awt.*; import java.util.*; abstract class AmView extends Rectangle{ // ylemklass ko~ikidele vaadetele static final Font font = new Font("TimesRoman", Font.PLAIN, 12);// paise tunnusele // planeerida skeem s alates kohast (x, y) abstract void plan(AmSketch s, int x, int y); // joonistada graafikakonteksti g planeeritud skeem s: abstract void draw(Graphics g, AmSketch s); // kustutada valitu tunnused abstract void unpaintSelection(); // panna valitu tunnused abstract void repaintSelection(); // leida va"him alamskeem, kus asub antud punkt abstract AmSketch pointLocation(Point p, AmSketch s); // tagastab selle alamskeemi viida, kuhu antud punkt kuulub // null, kui punkt ei asu skeemis // pyytakse leida va"him skeem, kuhu punkt kuulub: // leht vo~i skeemijoone osa // globaalne: finish (p.o. eelnevalt false) static boolean finish; // meetodi pointLocation jaoks globaalne static AmCaret result; // meetodi pointLocation jaoks globaalne boolean pointLocation(Point p, AmRow r){ // reas (kommentaaris) otsimine if(r.contains(p)){ AmView.result.row = r; return true; } return false; }//pointLocation(Point p, AmRow r) boolean pointLocation(Point p, AmText t){ // tekstis otsimine for(Enumeration e = t.rows.elements(); e.hasMoreElements();){ if(pointLocation(p, ((AmRow)(e.nextElement())))){ AmView.result.parentText = t; return true; } }//for // veel teksti kommentaaris: if(pointLocation(p, t.comment)){ AmView.result.parentText = null; return true; } return false; }//pointLocation(Point p, AmText t) boolean pointLocation(Point p, AmNonSketch ns){ // mitteskeemis otsimine if(pointLocation(p, ns.text)){ AmView.result.parentPrimitive = ns; return true; } return false; } }