summaryrefslogtreecommitdiff
path: root/src/swing
diff options
context:
space:
mode:
authorIngo Maier <ingo.maier@epfl.ch>2010-05-05 09:59:25 +0000
committerIngo Maier <ingo.maier@epfl.ch>2010-05-05 09:59:25 +0000
commitdabf2c23ef61092adb3490100442b684611e3c93 (patch)
tree50d10affbf528e395891d20384a2d0752a0206de /src/swing
parent60cd12f77051898bc63cfa55bdd0cdafda4b510a (diff)
downloadscala-dabf2c23ef61092adb3490100442b684611e3c93.tar.gz
scala-dabf2c23ef61092adb3490100442b684611e3c93.tar.bz2
scala-dabf2c23ef61092adb3490100442b684611e3c93.zip
Fixed #3358.
Diffstat (limited to 'src/swing')
-rw-r--r--src/swing/scala/swing/Component.scala12
-rw-r--r--src/swing/scala/swing/Container.scala6
-rw-r--r--src/swing/scala/swing/FileChooser.scala2
-rw-r--r--src/swing/scala/swing/ScrollPane.scala11
-rw-r--r--src/swing/scala/swing/SplitPane.scala6
-rw-r--r--src/swing/scala/swing/TabbedPane.scala4
-rw-r--r--src/swing/scala/swing/UIElement.scala7
-rw-r--r--src/swing/scala/swing/Window.scala2
-rw-r--r--src/swing/scala/swing/event/KeyEvent.scala17
-rw-r--r--src/swing/scala/swing/event/MouseEvent.scala40
-rw-r--r--src/swing/scala/swing/test/LinePainting.scala2
11 files changed, 62 insertions, 47 deletions
diff --git a/src/swing/scala/swing/Component.scala b/src/swing/scala/swing/Component.scala
index 1f1a646db5..851192843d 100644
--- a/src/swing/scala/swing/Component.scala
+++ b/src/swing/scala/swing/Component.scala
@@ -103,12 +103,12 @@ abstract class Component extends UIElement {
def tooltip: String = peer.getToolTipText
def tooltip_=(t: String) = peer.setToolTipText(t)
- def inputVerifier: this.type => Boolean = { a =>
- peer.getInputVerifier().verify(a.peer)
+ def inputVerifier: Component => Boolean = { a =>
+ peer.getInputVerifier.verify(a.peer)
}
- def inputVerifier_=(v: this.type => Boolean) {
+ def inputVerifier_=(v: Component => Boolean) {
peer.setInputVerifier(new javax.swing.InputVerifier {
- def verify(c: javax.swing.JComponent) = v(UIElement.cachedWrapper(c))
+ def verify(c: javax.swing.JComponent) = v(UIElement.cachedWrapper[Component](c))
})
}
@@ -117,7 +117,7 @@ abstract class Component extends UIElement {
}
def verifyOnTraversal_=(v: (Component, Component) => Boolean) {
peer.setInputVerifier(new javax.swing.InputVerifier {
- def verify(c: javax.swing.JComponent) = v(UIElement.cachedWrapper(c))
+ def verify(c: javax.swing.JComponent) = v(UIElement.cachedWrapper[Component](c))
})
}*/
@@ -221,7 +221,7 @@ abstract class Component extends UIElement {
peer.addFocusListener(new java.awt.event.FocusListener {
def other(e: java.awt.event.FocusEvent) = e.getOppositeComponent match {
- case c: JComponent => Some(UIElement.cachedWrapper(c))
+ case c: JComponent => Some(UIElement.cachedWrapper[Component](c))
case _ => None
}
diff --git a/src/swing/scala/swing/Container.scala b/src/swing/scala/swing/Container.scala
index 67ef9986f7..82de2e92a2 100644
--- a/src/swing/scala/swing/Container.scala
+++ b/src/swing/scala/swing/Container.scala
@@ -30,7 +30,7 @@ object Container {
override def remove(n: Int): Component = {
val c = peer.getComponent(n)
peer.remove(n)
- UIElement.cachedWrapper(c)
+ UIElement.cachedWrapper[Component](c)
}
protected def insertAt(n: Int, c: Component) { peer.add(c.peer, n) }
def +=(c: Component): this.type = { peer.add(c.peer) ; this }
@@ -41,11 +41,11 @@ object Container {
peer.addContainerListener(new java.awt.event.ContainerListener {
def componentAdded(e: java.awt.event.ContainerEvent) {
publish(ComponentAdded(Wrapper.this,
- UIElement.cachedWrapper(e.getChild.asInstanceOf[javax.swing.JComponent])))
+ UIElement.cachedWrapper[Component](e.getChild.asInstanceOf[javax.swing.JComponent])))
}
def componentRemoved(e: java.awt.event.ContainerEvent) {
publish(ComponentRemoved(Wrapper.this,
- UIElement.cachedWrapper(e.getChild.asInstanceOf[javax.swing.JComponent])))
+ UIElement.cachedWrapper[Component](e.getChild.asInstanceOf[javax.swing.JComponent])))
}
})
}
diff --git a/src/swing/scala/swing/FileChooser.scala b/src/swing/scala/swing/FileChooser.scala
index e221826ba8..7e13dff7e4 100644
--- a/src/swing/scala/swing/FileChooser.scala
+++ b/src/swing/scala/swing/FileChooser.scala
@@ -59,7 +59,7 @@ class FileChooser(dir: File) {
def title: String = peer.getDialogTitle
def title_=(t: String) { peer.setDialogTitle(t) }
- def accessory: Component = UIElement.cachedWrapper(peer.getAccessory)
+ def accessory: Component = UIElement.cachedWrapper[Component](peer.getAccessory)
def accessory_=(c: Component) { peer.setAccessory(c.peer) }
def fileHidingEnabled: Boolean = peer.isFileHidingEnabled
diff --git a/src/swing/scala/swing/ScrollPane.scala b/src/swing/scala/swing/ScrollPane.scala
index 16c4130671..41d00045e5 100644
--- a/src/swing/scala/swing/ScrollPane.scala
+++ b/src/swing/scala/swing/ScrollPane.scala
@@ -49,7 +49,7 @@ class ScrollPane extends Component with Container {
contents = c
}
def contents: Seq[Component] =
- List(UIElement.cachedWrapper(peer.getViewport.getView.asInstanceOf[javax.swing.JComponent]))
+ List(UIElement.cachedWrapper[Component](peer.getViewport.getView.asInstanceOf[javax.swing.JComponent]))
/**
* Sets the single child.
@@ -63,15 +63,18 @@ class ScrollPane extends Component with Container {
* want to let the row header be a list view with the same row height as
* the viewport component.
*/
- def rowHeaderView: Option[Component] = Option(peer.getRowHeader.getView) map UIElement.cachedWrapper
+ def rowHeaderView: Option[Component] =
+ Option(peer.getRowHeader.getView) map UIElement.cachedWrapper[Component]
def rowHeaderView_=(c: Component) = peer.setRowHeaderView(c.peer)
def rowHeaderView_=(c: Option[Component]) = peer.setRowHeaderView(c map (_.peer) orNull)
- def columnHeaderView: Option[Component] = Option(peer.getColumnHeader.getView) map UIElement.cachedWrapper
+ def columnHeaderView: Option[Component] =
+ Option(peer.getColumnHeader.getView) map UIElement.cachedWrapper[Component]
def columnHeaderView_=(c: Component) = peer.setColumnHeaderView(c.peer)
def columnHeaderView_=(c: Option[Component]) = peer.setColumnHeaderView(c map (_.peer) orNull)
- def viewportView: Option[Component] = Option(peer.getViewport.getView) map UIElement.cachedWrapper
+ def viewportView: Option[Component] =
+ Option(peer.getViewport.getView) map UIElement.cachedWrapper[Component]
def viewportView_=(c: Component) = peer.setViewportView(c.peer)
def viewportView_=(c: Option[Component]) = peer.setViewportView(c map (_.peer) orNull)
diff --git a/src/swing/scala/swing/SplitPane.scala b/src/swing/scala/swing/SplitPane.scala
index bad3f32bed..fc090e2a6d 100644
--- a/src/swing/scala/swing/SplitPane.scala
+++ b/src/swing/scala/swing/SplitPane.scala
@@ -33,9 +33,11 @@ class SplitPane(o: Orientation.Value, left: Component, right: Component) extends
peer.setRightComponent(right.peer)
}
- def topComponent: Component = UIElement.cachedWrapper(peer.getTopComponent.asInstanceOf[javax.swing.JComponent])
+ def topComponent: Component =
+ UIElement.cachedWrapper[Component](peer.getTopComponent.asInstanceOf[javax.swing.JComponent])
def topComponent_=(c: Component) { peer.setTopComponent(c.peer) }
- def bottomComponent: Component = UIElement.cachedWrapper(peer.getBottomComponent.asInstanceOf[javax.swing.JComponent])
+ def bottomComponent: Component =
+ UIElement.cachedWrapper[Component](peer.getBottomComponent.asInstanceOf[javax.swing.JComponent])
def bottomComponent_=(c: Component) { peer.setBottomComponent(c.peer) }
def leftComponent: Component = topComponent
diff --git a/src/swing/scala/swing/TabbedPane.scala b/src/swing/scala/swing/TabbedPane.scala
index ec688a0cf0..21671e9da8 100644
--- a/src/swing/scala/swing/TabbedPane.scala
+++ b/src/swing/scala/swing/TabbedPane.scala
@@ -99,8 +99,8 @@ class TabbedPane extends Component with Publisher {
def +=(t: Page): this.type = { t.parent = TabbedPane.this; peer.addTab(t.title, null, t.content.peer, t.tip); this }
def length = peer.getTabCount
def apply(n: Int) = new Page(TabbedPane.this, peer.getTitleAt(n),
- UIElement.cachedWrapper(peer.getComponentAt(n).asInstanceOf[javax.swing.JComponent]),
- peer.getToolTipTextAt(n))
+ UIElement.cachedWrapper[Component](peer.getComponentAt(n).asInstanceOf[javax.swing.JComponent]),
+ peer.getToolTipTextAt(n))
}
def tabLayoutPolicy: Layout.Value = Layout(peer.getTabLayoutPolicy)
diff --git a/src/swing/scala/swing/UIElement.scala b/src/swing/scala/swing/UIElement.scala
index 0d15e12979..737833dc95 100644
--- a/src/swing/scala/swing/UIElement.scala
+++ b/src/swing/scala/swing/UIElement.scala
@@ -93,9 +93,6 @@ trait UIElement extends Proxy with LazyPublisher {
def preferredSize = peer.getPreferredSize
def preferredSize_=(x: Dimension) = peer.setPreferredSize(x)
- @deprecated("Use implicit conversion from Swing object instead")
- def preferredSize_=(xy: (Int, Int)) { peer.setPreferredSize(new Dimension(xy._1, xy._2)) }
-
def font: Font = peer.getFont
def font_=(f: Font) = peer.setFont(f)
@@ -103,10 +100,10 @@ trait UIElement extends Proxy with LazyPublisher {
def location = peer.getLocation
def bounds = peer.getBounds
def size = peer.getSize
+ @deprecated("Explicit size assignement for UIElements is not supported anymore. " +
+ "Use a layout manager or subclass Window.")
def size_=(dim: Dimension) = peer.setSize(dim)
- @deprecated("Use implicit conversion from Swing object instead")
- def size_=(xy: (Int, Int)) { peer.setSize(new Dimension(xy._1, xy._2)) }
def locale = peer.getLocale
def toolkit = peer.getToolkit
diff --git a/src/swing/scala/swing/Window.scala b/src/swing/scala/swing/Window.scala
index 4e8f687a71..dab2ad6b94 100644
--- a/src/swing/scala/swing/Window.scala
+++ b/src/swing/scala/swing/Window.scala
@@ -54,6 +54,8 @@ abstract class Window extends UIElement with RootPanel with Publisher { outer =>
def setLocationRelativeTo(c: UIElement) { peer.setLocationRelativeTo(c.peer) }
def centerOnScreen() { peer.setLocationRelativeTo(null) }
def location_=(p: Point) { peer.setLocation(p) }
+ override def size_=(size: Dimension) { peer.setSize(size) }
+ def bounds_=(rect: Rectangle) { peer.setBounds(rect) }
def owner: Window = UIElement.cachedWrapper[Window](peer.getOwner)
diff --git a/src/swing/scala/swing/event/KeyEvent.scala b/src/swing/scala/swing/event/KeyEvent.scala
index ae6676cf12..4e47e43a8d 100644
--- a/src/swing/scala/swing/event/KeyEvent.scala
+++ b/src/swing/scala/swing/event/KeyEvent.scala
@@ -21,21 +21,24 @@ sealed abstract class KeyEvent extends InputEvent {
case class KeyTyped(val source: Component, char: Char, val modifiers: Key.Modifiers,
location: Key.Location.Value)
(val peer: java.awt.event.KeyEvent) extends KeyEvent {
- def this(e: java.awt.event.KeyEvent) = this(UIElement.cachedWrapper(e.getSource.asInstanceOf[JComponent]),
- e.getKeyChar, e.getModifiersEx,
- Key.Location(e.getKeyLocation))(e)
+ def this(e: java.awt.event.KeyEvent) =
+ this(UIElement.cachedWrapper[Component](e.getSource.asInstanceOf[JComponent]),
+ e.getKeyChar, e.getModifiersEx,
+ Key.Location(e.getKeyLocation))(e)
}
case class KeyPressed(val source: Component, key: Key.Value, val modifiers: Key.Modifiers,
location: Key.Location.Value)
(val peer: java.awt.event.KeyEvent) extends KeyEvent {
- def this(e: java.awt.event.KeyEvent) = this(UIElement.cachedWrapper(e.getSource.asInstanceOf[JComponent]),
- Key(e.getKeyCode), e.getModifiersEx, Key.Location(e.getKeyLocation))(e)
+ def this(e: java.awt.event.KeyEvent) =
+ this(UIElement.cachedWrapper[Component](e.getSource.asInstanceOf[JComponent]),
+ Key(e.getKeyCode), e.getModifiersEx, Key.Location(e.getKeyLocation))(e)
}
case class KeyReleased(val source: Component, key: Key.Value, val modifiers: Key.Modifiers,
location: Key.Location.Value)
(val peer: java.awt.event.KeyEvent) extends KeyEvent {
- def this(e: java.awt.event.KeyEvent) = this(UIElement.cachedWrapper(e.getSource.asInstanceOf[JComponent]),
- Key(e.getKeyCode), e.getModifiersEx, Key.Location(e.getKeyLocation))(e)
+ def this(e: java.awt.event.KeyEvent) =
+ this(UIElement.cachedWrapper[Component](e.getSource.asInstanceOf[JComponent]),
+ Key(e.getKeyCode), e.getModifiersEx, Key.Location(e.getKeyLocation))(e)
}
diff --git a/src/swing/scala/swing/event/MouseEvent.scala b/src/swing/scala/swing/event/MouseEvent.scala
index 554f6dfacf..ebacf2e7b4 100644
--- a/src/swing/scala/swing/event/MouseEvent.scala
+++ b/src/swing/scala/swing/event/MouseEvent.scala
@@ -27,46 +27,54 @@ sealed abstract class MouseButtonEvent extends MouseEvent {
case class MouseClicked(val source: Component, point: Point, val modifiers: Key.Modifiers,
clicks: Int, triggersPopup: Boolean)(val peer: java.awt.event.MouseEvent)
extends MouseButtonEvent {
- def this(e: java.awt.event.MouseEvent) = this(UIElement.cachedWrapper(e.getSource.asInstanceOf[JComponent]),
- e.getPoint, e.getModifiersEx, e.getClickCount, e.isPopupTrigger)(e)
+ def this(e: java.awt.event.MouseEvent) =
+ this(UIElement.cachedWrapper[Component](e.getSource.asInstanceOf[JComponent]),
+ e.getPoint, e.getModifiersEx, e.getClickCount, e.isPopupTrigger)(e)
}
case class MousePressed(val source: Component, point: Point, val modifiers: Key.Modifiers,
clicks: Int, triggersPopup: Boolean)(val peer: java.awt.event.MouseEvent)
extends MouseButtonEvent {
- def this(e: java.awt.event.MouseEvent) = this(UIElement.cachedWrapper(e.getSource.asInstanceOf[JComponent]),
- e.getPoint, e.getModifiersEx, e.getClickCount, e.isPopupTrigger)(e)
+ def this(e: java.awt.event.MouseEvent) =
+ this(UIElement.cachedWrapper[Component](e.getSource.asInstanceOf[JComponent]),
+ e.getPoint, e.getModifiersEx, e.getClickCount, e.isPopupTrigger)(e)
}
case class MouseReleased(val source: Component, point: Point, val modifiers: Key.Modifiers,
clicks: Int, triggersPopup: Boolean)(val peer: java.awt.event.MouseEvent)
extends MouseButtonEvent {
- def this(e: java.awt.event.MouseEvent) = this(UIElement.cachedWrapper(e.getSource.asInstanceOf[JComponent]),
- e.getPoint, e.getModifiersEx, e.getClickCount, e.isPopupTrigger)(e)
+ def this(e: java.awt.event.MouseEvent) =
+ this(UIElement.cachedWrapper[Component](e.getSource.asInstanceOf[JComponent]),
+ e.getPoint, e.getModifiersEx, e.getClickCount, e.isPopupTrigger)(e)
}
sealed abstract class MouseMotionEvent extends MouseEvent
case class MouseMoved(val source: Component, point: Point, val modifiers: Key.Modifiers)(val peer: java.awt.event.MouseEvent)
extends MouseMotionEvent {
- def this(e: java.awt.event.MouseEvent) = this(UIElement.cachedWrapper(e.getSource.asInstanceOf[JComponent]),
- e.getPoint, e.getModifiersEx)(e)
+ def this(e: java.awt.event.MouseEvent) =
+ this(UIElement.cachedWrapper[Component](e.getSource.asInstanceOf[JComponent]),
+ e.getPoint, e.getModifiersEx)(e)
}
case class MouseDragged(val source: Component, point: Point, val modifiers: Key.Modifiers)(val peer: java.awt.event.MouseEvent)
extends MouseMotionEvent {
- def this(e: java.awt.event.MouseEvent) = this(UIElement.cachedWrapper(e.getSource.asInstanceOf[JComponent]),
- e.getPoint, e.getModifiersEx)(e)
+ def this(e: java.awt.event.MouseEvent) =
+ this(UIElement.cachedWrapper[Component](e.getSource.asInstanceOf[JComponent]),
+ e.getPoint, e.getModifiersEx)(e)
}
case class MouseEntered(val source: Component, point: Point, val modifiers: Key.Modifiers)(val peer: java.awt.event.MouseEvent)
extends MouseMotionEvent {
- def this(e: java.awt.event.MouseEvent) = this(UIElement.cachedWrapper(e.getSource.asInstanceOf[JComponent]),
- e.getPoint, e.getModifiersEx)(e)
+ def this(e: java.awt.event.MouseEvent) =
+ this(UIElement.cachedWrapper[Component](e.getSource.asInstanceOf[JComponent]),
+ e.getPoint, e.getModifiersEx)(e)
}
case class MouseExited(val source: Component, point: Point, val modifiers: Key.Modifiers)(val peer: java.awt.event.MouseEvent)
extends MouseMotionEvent {
- def this(e: java.awt.event.MouseEvent) = this(UIElement.cachedWrapper(e.getSource.asInstanceOf[JComponent]),
- e.getPoint, e.getModifiersEx)(e)
+ def this(e: java.awt.event.MouseEvent) =
+ this(UIElement.cachedWrapper[Component](e.getSource.asInstanceOf[JComponent]),
+ e.getPoint, e.getModifiersEx)(e)
}
case class MouseWheelMoved(val source: Component, point: Point, val modifiers: Key.Modifiers, rotation: Int)(val peer: java.awt.event.MouseEvent)
extends MouseEvent {
- def this(e: java.awt.event.MouseWheelEvent) = this(UIElement.cachedWrapper(e.getSource.asInstanceOf[JComponent]),
- e.getPoint, e.getModifiersEx, e.getWheelRotation)(e)
+ def this(e: java.awt.event.MouseWheelEvent) =
+ this(UIElement.cachedWrapper[Component](e.getSource.asInstanceOf[JComponent]),
+ e.getPoint, e.getModifiersEx, e.getWheelRotation)(e)
}
diff --git a/src/swing/scala/swing/test/LinePainting.scala b/src/swing/scala/swing/test/LinePainting.scala
index 7c47647dd4..78a94dbab7 100644
--- a/src/swing/scala/swing/test/LinePainting.scala
+++ b/src/swing/scala/swing/test/LinePainting.scala
@@ -13,7 +13,7 @@ import java.awt.{Color, Dimension, Graphics, Graphics2D, Point, geom}
object LinePainting extends SimpleSwingApplication {
lazy val ui = new Panel {
background = Color.white
- preferredSize = ((200,200): Dimension)
+ preferredSize = (200,200)
focusable = true
listenTo(mouse.clicks, mouse.moves, keys)