blob: 998a4405603c213908f974d92e3fbc9c0adbdac8 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
|
/*
* Graphyx
* copyright (c) 2009 Jakob Odersky
* made available under the MIT License
*/
package graphyx.gui
import scala.swing._
import scala.swing.event._
import sims.dynamics._
import graphyx.graphics._
class BodyPopup extends PopupMenu {
private var b: Body = _
def body = b
def body_=(newBody: Body) = {
b = newBody
chckFixed.selected = b.fixed
chckMonitor.selected = b.monitor
}
val chckMonitor = new CheckMenuItem("Monitor")
val chckFixed = new CheckMenuItem("Fixed")
val btnClose = new MenuItem("Close")
add(chckMonitor)
add(chckFixed)
add(btnClose)
listenTo(chckMonitor, chckFixed, btnClose)
reactions += {
case ButtonClicked(b) => {setVisible(false)
b match {
case `chckMonitor` => body.monitor = chckMonitor.selected
case `chckFixed` => body.fixed = chckFixed.selected
case `btnClose` => ()
case _ => ()
}
}
}
}
|