diff options
author | ingoem <ingoem@gmail.com> | 2012-09-26 11:35:27 +0200 |
---|---|---|
committer | ingoem <ingoem@gmail.com> | 2012-09-26 11:41:57 +0200 |
commit | 08ab007c5c97f153902c4ac58f87e30fbf7cf99f (patch) | |
tree | a185174cbbf5aa36e5665602d8e70ddd361efbe3 /src/swing | |
parent | bdff881f8a15d4de0c0ff2aa2427f0d8244d2d42 (diff) | |
download | scala-08ab007c5c97f153902c4ac58f87e30fbf7cf99f.tar.gz scala-08ab007c5c97f153902c4ac58f87e30fbf7cf99f.tar.bz2 scala-08ab007c5c97f153902c4ac58f87e30fbf7cf99f.zip |
Added a Swing ColorChooser wrapper
Diffstat (limited to 'src/swing')
-rw-r--r-- | src/swing/scala/swing/ColorChooser.scala | 45 | ||||
-rw-r--r-- | src/swing/scala/swing/event/ColorChanged.scala | 14 |
2 files changed, 59 insertions, 0 deletions
diff --git a/src/swing/scala/swing/ColorChooser.scala b/src/swing/scala/swing/ColorChooser.scala new file mode 100644 index 0000000000..9bd71e1df0 --- /dev/null +++ b/src/swing/scala/swing/ColorChooser.scala @@ -0,0 +1,45 @@ +/* __ *\ +** ________ ___ / / ___ Scala API ** +** / __/ __// _ | / / / _ | (c) 2007-2012, 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) +}
\ No newline at end of file diff --git a/src/swing/scala/swing/event/ColorChanged.scala b/src/swing/scala/swing/event/ColorChanged.scala new file mode 100644 index 0000000000..44387aa864 --- /dev/null +++ b/src/swing/scala/swing/event/ColorChanged.scala @@ -0,0 +1,14 @@ +/* __ *\ +** ________ ___ / / ___ Scala API ** +** / __/ __// _ | / / / _ | (c) 2007-2011, LAMP/EPFL ** +** __\ \/ /__/ __ |/ /__/ __ | http://scala-lang.org/ ** +** /____/\___/_/ |_/____/_/ | | ** +** |/ ** +\* */ + + + +package scala.swing +package event + +case class ColorChanged(source: Component, c: Color) extends ComponentEvent with SelectionEvent |