From 0d513223bdd100ca6f59f5fb8903c4d3cea5da91 Mon Sep 17 00:00:00 2001 From: Ingo Maier Date: Tue, 14 Apr 2009 08:10:35 +0000 Subject: Fixes for #1817, #1850 --- src/swing/scala/swing/RootPanel.scala | 2 +- src/swing/scala/swing/Swing.scala | 3 ++- src/swing/scala/swing/UIElement.scala | 11 +++++++---- 3 files changed, 10 insertions(+), 6 deletions(-) (limited to 'src/swing') diff --git a/src/swing/scala/swing/RootPanel.scala b/src/swing/scala/swing/RootPanel.scala index 584007a60f..3efc4045af 100644 --- a/src/swing/scala/swing/RootPanel.scala +++ b/src/swing/scala/swing/RootPanel.scala @@ -12,7 +12,7 @@ trait RootPanel extends Container { * At most one component. */ def contents: Seq[Component] = { - Swing.toOption(peer.getContentPane.getComponent(0)).map { c => + Swing.toOption[Any](peer.getContentPane.getComponent(0)).map { c => Component.wrapperFor(c.asInstanceOf[javax.swing.JComponent]) }.toList } diff --git a/src/swing/scala/swing/Swing.scala b/src/swing/scala/swing/Swing.scala index 45fa79b0fd..1dfdfac5b6 100644 --- a/src/swing/scala/swing/Swing.scala +++ b/src/swing/scala/swing/Swing.scala @@ -2,7 +2,7 @@ package scala.swing import java.awt.event._ import javax.swing.event._ -import java.awt.{Color, Dimension, Point} +import java.awt.{Color, Dimension, Point, Rectangle} import javax.swing.border._ import javax.swing.{JComponent, Icon, BorderFactory} @@ -18,6 +18,7 @@ object Swing { implicit def pair2Dimension(p: (Int, Int)): Dimension = new Dimension(p._1, p._2) implicit def pair2Point(p: (Int, Int)): Point = new Point(p._1, p._2) + implicit def pair2Point(p: (Int, Int, Int, Int)): Rectangle = new Rectangle(p._1, p._2, p._3, p._4) /** * Allows one to use blocks as runnables. diff --git a/src/swing/scala/swing/UIElement.scala b/src/swing/scala/swing/UIElement.scala index 4e54175117..389dccf95b 100644 --- a/src/swing/scala/swing/UIElement.scala +++ b/src/swing/scala/swing/UIElement.scala @@ -1,6 +1,6 @@ package scala.swing -import java.awt.{Color, Cursor, Font, Dimension} +import java.awt.{Color, Cursor, Font, Dimension, Rectangle} /** * The base trait of all user interface elements. Subclasses belong to one @@ -31,7 +31,7 @@ trait UIElement extends Proxy { def maximumSize_=(x: Dimension) = peer.setMaximumSize(x) def preferredSize = peer.getPreferredSize def preferredSize_=(x: Dimension) = peer.setPreferredSize(x) - def preferredSize_=(xy: (Int, Int)) { peer.setPreferredSize(new Dimension(xy._1, xy._2)) } + @deprecated 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) @@ -41,7 +41,7 @@ trait UIElement extends Proxy { def bounds = peer.getBounds def size = peer.getSize def size_=(dim: Dimension) = peer.setSize(dim) - def size_=(xy: (Int, Int)) { peer.setSize(new Dimension(xy._1, xy._2)) } + @deprecated def size_=(xy: (Int, Int)) { peer.setSize(new Dimension(xy._1, xy._2)) } def locale = peer.getLocale def toolkit = peer.getToolkit @@ -53,4 +53,7 @@ trait UIElement extends Proxy { def showing: Boolean = peer.isShowing def repaint() { peer.repaint } -} + 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) } +} \ No newline at end of file -- cgit v1.2.3