summaryrefslogtreecommitdiff
path: root/src/swing
diff options
context:
space:
mode:
authorIngo Maier <ingo.maier@epfl.ch>2009-06-28 07:38:22 +0000
committerIngo Maier <ingo.maier@epfl.ch>2009-06-28 07:38:22 +0000
commitb3924e660b9644b20714d71673f3ebfb6e0db4af (patch)
treec490eee6a08cb06b3acd8b81386075bcb2c7fecc /src/swing
parent4fccc851b8796d092a2910f6b746e4767d057fc4 (diff)
downloadscala-b3924e660b9644b20714d71673f3ebfb6e0db4af.tar.gz
scala-b3924e660b9644b20714d71673f3ebfb6e0db4af.tar.bz2
scala-b3924e660b9644b20714d71673f3ebfb6e0db4af.zip
ComponentResized et al moved to UIElementResized
Diffstat (limited to 'src/swing')
-rw-r--r--src/swing/scala/swing/Component.scala7
-rw-r--r--src/swing/scala/swing/UIElement.scala21
-rw-r--r--src/swing/scala/swing/event/ComponentEvent.scala4
-rw-r--r--src/swing/scala/swing/event/UIEvent.scala5
4 files changed, 33 insertions, 4 deletions
diff --git a/src/swing/scala/swing/Component.scala b/src/swing/scala/swing/Component.scala
index 5a3147b828..8113fa22e9 100644
--- a/src/swing/scala/swing/Component.scala
+++ b/src/swing/scala/swing/Component.scala
@@ -30,7 +30,7 @@ object Component {
* @see http://java.sun.com/products/jfc/tsc/articles/painting/ for the component
* painting mechanism
*/
-abstract class Component extends UIElement with LazyPublisher {
+abstract class Component extends UIElement {
override lazy val peer: javax.swing.JComponent = new javax.swing.JComponent with SuperMixin {}
var initP: JComponent = null
@@ -172,7 +172,9 @@ abstract class Component extends UIElement with LazyPublisher {
def requestFocusInWindow() = peer.requestFocusInWindow()
def hasFocus: Boolean = peer.isFocusOwner
- def onFirstSubscribe {
+ override def onFirstSubscribe {
+ super.onFirstSubscribe
+ // TODO: deprecated, remove after 2.8
peer.addComponentListener(new java.awt.event.ComponentListener {
def componentHidden(e: java.awt.event.ComponentEvent) {
publish(ComponentHidden(Component.this))
@@ -221,7 +223,6 @@ abstract class Component extends UIElement with LazyPublisher {
}
})
}
- def onLastUnsubscribe() {}
def revalidate() { peer.revalidate() }
diff --git a/src/swing/scala/swing/UIElement.scala b/src/swing/scala/swing/UIElement.scala
index a440f76834..8e496ecf46 100644
--- a/src/swing/scala/swing/UIElement.scala
+++ b/src/swing/scala/swing/UIElement.scala
@@ -4,6 +4,7 @@ import java.awt.{Color, Cursor, Font, Dimension, Rectangle}
import scala.collection.mutable.HashMap
import scala.ref._
import java.util.WeakHashMap
+import event._
object UIElement {
private val ClientKey = "scala.swingWrapper"
@@ -44,7 +45,7 @@ object UIElement {
*
* @see java.awt.Component
*/
-trait UIElement extends Proxy {
+trait UIElement extends Proxy with LazyPublisher {
/**
* The underlying Swing peer.
*/
@@ -94,4 +95,22 @@ trait UIElement extends Proxy {
def repaint(rect: Rectangle) { peer.repaint(rect.x, rect.y, rect.width, rect.height) }
def ignoreRepaint: Boolean = peer.getIgnoreRepaint
def ignoreRepaint_=(b: Boolean) { peer.setIgnoreRepaint(b) }
+
+ def onFirstSubscribe {
+ peer.addComponentListener(new java.awt.event.ComponentListener {
+ def componentHidden(e: java.awt.event.ComponentEvent) {
+ publish(UIElementHidden(UIElement.this))
+ }
+ def componentShown(e: java.awt.event.ComponentEvent) {
+ publish(UIElementShown(UIElement.this))
+ }
+ def componentMoved(e: java.awt.event.ComponentEvent) {
+ publish(UIElementMoved(UIElement.this))
+ }
+ def componentResized(e: java.awt.event.ComponentEvent) {
+ publish(UIElementResized(UIElement.this))
+ }
+ })
+ }
+ def onLastUnsubscribe {}
} \ No newline at end of file
diff --git a/src/swing/scala/swing/event/ComponentEvent.scala b/src/swing/scala/swing/event/ComponentEvent.scala
index a76207d144..7a37bd66f7 100644
--- a/src/swing/scala/swing/event/ComponentEvent.scala
+++ b/src/swing/scala/swing/event/ComponentEvent.scala
@@ -4,7 +4,11 @@ trait ComponentEvent extends UIEvent {
override val source: Component
}
+@deprecated("Use UIElementMoved instead.")
case class ComponentMoved(override val source: Component) extends ComponentEvent
+@deprecated("Use UIElementResized instead.")
case class ComponentResized(override val source: Component) extends ComponentEvent
+@deprecated("Use UIElementShown instead.")
case class ComponentShown(override val source: Component) extends ComponentEvent
+@deprecated("Use UIElementHidden instead.")
case class ComponentHidden(override val source: Component) extends ComponentEvent
diff --git a/src/swing/scala/swing/event/UIEvent.scala b/src/swing/scala/swing/event/UIEvent.scala
index f2941e7052..d7407bb6ce 100644
--- a/src/swing/scala/swing/event/UIEvent.scala
+++ b/src/swing/scala/swing/event/UIEvent.scala
@@ -3,3 +3,8 @@ package scala.swing.event
trait UIEvent extends Event {
val source: UIElement
}
+
+case class UIElementMoved(source: UIElement) extends UIEvent
+case class UIElementResized(source: UIElement) extends UIEvent
+case class UIElementShown(source: UIElement) extends UIEvent
+case class UIElementHidden(source: UIElement) extends UIEvent \ No newline at end of file