AMADEUS html plain
This sketchy text is generated by AMADEUS
* import java.
awt.*;
awt.event.*;
util.*;
class AmMouseListener
class AmMouseListener implements MouseListener
AmCanvas c;
* transient
boolean newSelection;
on pandud uus valik
boolean oldSelection;
oli vana valik
int selectedLevel, currentLevel;
globaalsed toggle level (setIcons) jaoks
boolean ico;
globaalne (setIcons)
AmMouseListener(AmCanvas cc)
konstruktor
p\~ohiline hiiretoo"tlus*
public void mousePressed(MouseEvent e)
? (c.frame.contents == null)
<======
View.sizeFactor = c.frame.sizeFactor;
09.01.07
kui kerimisriba on fookuses (vilgub), siis see päästab:
c.requestFocus();
klaviatuur fookusse
int m = e.getModifiers();
//
? m == 0
Am.isWindows = false;
? ((m != 0) && (m & InputEvent.BUTTON1_MASK) == 0)
<======
polnud esimene hiireklahv
c.mouseDragged = false;
Graphics g = c.getGraphics(); g.translate(c.start.x, c.start.y);
hiireklo~psu koht p
Point p = new Point(e.getX(), e.getY());
p.x -= c.start.x; p.y -= c.start.y;
arvestada lo~uendi nihet
oldSelection = (c.selection.kind() != Selection.NONE);
leida skeem, millel hiirt klo~psati
View.result = null;
c.frame.contents.main.view.pointLocation(p, c.frame.contents.main);
newSelection = View.result != null;
kui on uus valik, siis karett uude valikusse
? (newSelection)
viia karett valikule
? (View.result.row != null)
Caret caret = c.frame.contents.editor.caret;
g.setColor(Default.backgroundColor);
caret.draw(g);
caret.goTo(View.result);
viia karett reas hiireni
* ;p.x > (caret.row.x+caret.shift);
g.setColor(Default.caretColor);
caret.draw(g);
kui oli vana valik, siis maha
? (oldSelection)
vana oli, vana maha
c.selection.draw(g);
JK 21.12.2011
? ! c.frame.üksValikPandud
c.frame.refresh();
c.frame.üksValikPandud = true;
c.selection.cancel();
kui on uus valik, siis panna
? (newSelection)
panna uus
Cursor cursor = View.result.makeCopy();
c.selection = new Selection(c, cursor, cursor);
c.selection.draw(g);
//c.frame.refresh();
teeks iga kord
JK 21.12.2011
? ! c.frame.üksValikPandud
c.frame.refresh();
c.frame.üksValikPandud = true;
public void mouseClicked(MouseEvent e)
? c.frame.contents == null
<======
//System.out.println("AmMouseListener:mauseClicked:isRegFocusEnabled=" +c.isRequestFocusEnabled() );
View.sizeFactor = c.frame.sizeFactor;
JK 09.01.07
kui kerimisriba on fookuses (vilgub), siis see päästab:
c.requestFocus();
klaviatuur fookusse
Graphics g = c.getGraphics();
g.translate(c.start.x, c.start.y);
? e.isMetaDown()
pole 1. klahv
? e.getClickCount() == 1
togida ikoon, kui klo~ps skeemil; muidu ikoonid valikur\"uhms
hiireklo~psu koht
Point p = new Point(e.getX(), e.getY());
p.x -= c.start.x; p.y -= c.start.y;
arvestada lo~uendi nihet
oldSelection = (c.selection.kind() != Selection.NONE);
leida skeem, millel hiirt klo~psati
View.result = null;
c.frame.contents.main.view.pointLocation(
p, c.frame.contents.main);
newSelection = (View.result != null) && !View.result.inScheme();
? newSelection
Scheme s = View.result.scheme;
<======================
kui vana oli, siis vana maha
? oldSelection
c.selection.draw(g);
c.selection.cancel();
togida see skeem
? !s.icon
viia karett skeemist s va"lja
Caret caret = c.frame.contents.editor.caret;
caret.draw(g);
* ;(caret.row.y+caret.height-2) > s.view.y;
caret.draw(g);
s.icon = !s.icon;
c.frame.contents.main.view.plan(c.hd, c.vd);
panna uus valik
Cursor cursor = View.result.makeCopy();
c.selection = new Selection(c, cursor, cursor);
c.selection.draw(g);
<======
!newSelection (polnud skeemil)
int kind = c.selection.kind();
? kind == Selection.NONE
<==================
togida skeemid valikuga maa"ratud ru"hmas
Object first, last;
first = c.selection.start.primitive;
last = c.selection.end.primitive;
ta"psustada first/last ja adjust, kui first/last pole primitiiv
??kind
? Selection.PRIMITIVE2PRIMITIVE:
? !c.selection.start.inBody()
<==========================
<======
? Selection.SCHEME2PRIMITIVE:
first = c.selection.start.scheme;
<======
? Selection.PRIMITIVE2SCHEME:
last = c.selection.end.scheme;
<======
? Selection.SCHEME2SCHEME:
first = c.selection.start.scheme;
last = c.selection.end.scheme;
<======;
? :
<==========================
muuta ikoonid liimete ryhmas first . . . last
Scheme parent = c.selection.parent();
vana valik oli, siis vana kustutada
? (oldSelection)
c.selection.draw(g);
int i = parent.body.indexOf(first);
int j = parent.body.indexOf(last);
muuta ikoniseeritus skeemides, mis on r"uhmas first-last
* int k = i; k <= j; k++
Object o = parent.member(k);
? o instanceof Scheme
Scheme member = (Scheme)o;
member.icon = !member.icon;
? member.icon
viia karett va"lja
Caret caret = c.frame.contents.editor.caret;
caret.draw(g);
* ;((caret.row.y+caret.height-2)> member.view.y) &&((caret.row.y+caret.height-2)<= (member.view.y)+member.view.height-1);
caret.draw(g);
c.frame.contents.main.view.plan(c.hd, c.vd);
c.selection.draw(g);
c.own = true;
c.selectionToScreen();
c.repaint();
<==========
click count $>$ 1, kui klo~ps skeemil togida sama taseme teised skeemid
newSelection = (View.result != null) &&!View.result.inScheme();
? (newSelection)
Scheme source = View.result.scheme;
leida valitud skeemi tase (selectedLevel):
selectedLevel = 0;
Scheme x = source;
* ;x.parent!=null;selectedLevel++, x=x.parent
muuta icon nendes skeemides,
mille tase (currentLevel) on selectedLevel
ja mis != source:
currentLevel = 0;
ico = source.icon;
c.frame.contents.editor.caret.draw(g);
setIcons(c.frame.contents.main, source);
c.frame.contents.editor.caret.draw(g);
c.frame.contents.main.view.plan(c.hd, c.vd);
c.selectionToScreen();
c.own = true; c.repaint();
<======
on 1. klahv
? (c.mouseDragged)
<======
//g = c.getGraphics();
//System.out.println("AmMouseListener:mauseClickCount = " + e.getClickCount());
kui korduvklo~ps ja valik pandud, siis laiendada valiku piire
? e.getClickCount() == 2
? newSelection
//g.translate(c.start.x, c.start.y);
c.selection.draw(g);
valik maha
c.selection.expand();
laiendada
c.selection.draw(g);
<======
? e.getClickCount() > 2
AmFrame frame = c.frame;
projektikirjelduse raam (?):
? !(frame instanceof AmProjectFileFrame)
? frame.isProjectDescriptionFrame()
? ProjectBoard.isProjectFileNameGrayed(frame)
<==============
uus projektifaili raam:
ProjectBoard.executeOpenAutomatScript( frame);
public void mouseReleased(MouseEvent e)
public void mouseEntered(MouseEvent e)
//
Request the focus (if don't already have it)
ei aita / pole vaja
? !c.hasFocus()
c.requestFocus();
public void mouseExited(MouseEvent e)
private void setIcons(Scheme s, Scheme s0)
muuta icon nendes (alam)skeemides,
mille tase (currentLevel) on selectedLevel
ja mis $\neq$ s0
? ((currentLevel == selectedLevel) && (s != s0))
? (ico && !s.icon)
!icon $\rightarrow$ icon
? (!s.icon)
viia karet va"lja, ikoniseerimata skeemile
Caret caret = c.frame.contents.editor.caret;
* ;(s.view.contains(caret.row.x,caret.row.y+caret.height-2)) ||
caret.scheme.icon;
s.icon = ico;
currentLevel++;
teha seda ko~ikides s alamskeemides
* Enumeration e = s.body.elements(); e.hasMoreElements();
Object o = e.nextElement();
? (o instanceof Scheme)
setIcons((Scheme)o, s0);
currentLevel--;