blob: 591e652f1c7a8537f81f147c4d939b0ff5ca669a (
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
42
43
44
45
|
/* __ *\
** ________ ___ / / ___ Scala API **
** / __/ __// _ | / / / _ | (c) 2007-2013, LAMP/EPFL **
** __\ \/ /__/ __ |/ /__/ __ | http://scala-lang.org/ **
** /____/\___/_/ |_/____/_/ | | **
** |/ **
\* */
package scala.swing
import javax.swing.JColorChooser
import event._
/**
* Wrapper for JColorChooser. Publishes `ColorChanged` events, when the color selection changes.
*
* @author andy@hicks.net
* @author Ingo Maier
* @see javax.swing.JColorChooser
*/
object ColorChooser {
def showDialog(parent: Component, title: String, color: Color): scala.Option[Color] = {
toOption[Color](javax.swing.JColorChooser.showDialog(parent.peer, title, color))
}
}
class ColorChooser(color0: Color) extends Component {
def this() = this(java.awt.Color.white)
override lazy val peer: JColorChooser = new JColorChooser(color0) with SuperMixin
peer.getSelectionModel.addChangeListener(new javax.swing.event.ChangeListener {
def stateChanged(e: javax.swing.event.ChangeEvent) {
publish(ColorChanged(ColorChooser.this, peer.getColor))
}
})
def color: Color = peer.getColor
def color_=(c: Color) = peer.setColor(c)
def dragEnabled: Boolean = peer.getDragEnabled
def dragEnabled_=(b: Boolean) = peer.setDragEnabled(b)
}
|