Skip to content

Commit c1f96aa

Browse files
committed
addresses scala#98
1 parent a1b9f4f commit c1f96aa

File tree

1 file changed

+40
-25
lines changed

1 file changed

+40
-25
lines changed

src/main/scala/scala/swing/SplitPane.scala

Lines changed: 40 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -17,54 +17,69 @@ import javax.swing.JSplitPane
1717
import scala.collection.immutable
1818
import scala.swing.Swing.nullPeer
1919

20-
/**
21-
* A container with exactly two children. Arranges them side by side, either
22-
* horizontally or vertically. Displays a draggable divider component between
23-
* them that lets the user adjust the size ratio of the children.
24-
*
25-
* @see javax.swing.JSplitPane
26-
*/
27-
class SplitPane(o: Orientation.Value, left: Component, right: Component) extends Component with Container with Orientable.Wrapper {
28-
override lazy val peer: JSplitPane =
29-
new javax.swing.JSplitPane(o.id, left.peer, right.peer) with SuperMixin
20+
/** A container with exactly two children. Arranges them side by side, either
21+
* horizontally or vertically. Displays a draggable divider component between
22+
* them that lets the user adjust the size ratio of the children.
23+
*
24+
* @param o the orientation of the divider. Note that we are using
25+
* `Orientation.Horizontal` and `Orientation.Vertical`, which are
26+
* different from the underlying `JSplitPane` values.
27+
* `Orientation.Horizontal` corresponds with `VERTICAL_SPLIT`, thus
28+
* producing a left and right component and a "vertical divider",
29+
* and `Orientation.Vertical` corresponds with `HORIZONTAL_SPLIT`, thus
30+
* producing a top and bottom component and a "horizontal divider".
31+
*
32+
* @see javax.swing.JSplitPane
33+
*/
34+
class SplitPane(o: Orientation.Value, left: Component, right: Component)
35+
extends Component with Container with Orientable.Wrapper {
36+
3037
def this(o: Orientation.Value) = this(o, new Component {}, new Component {})
3138
def this() = this(Orientation.Horizontal)
3239

40+
override lazy val peer: JSplitPane =
41+
new javax.swing.JSplitPane(o.id, left.peer, right.peer) with SuperMixin
42+
3343
def contents: immutable.Seq[Component] = List(leftComponent, rightComponent)
44+
3445
def contents_=(left: Component, right: Component): Unit = {
35-
peer.setLeftComponent(nullPeer(left))
46+
peer.setLeftComponent (nullPeer(left))
3647
peer.setRightComponent(nullPeer(right))
3748
}
3849

3950
def topComponent: Component =
4051
UIElement.cachedWrapper[Component](peer.getTopComponent.asInstanceOf[javax.swing.JComponent])
4152
def topComponent_=(c: Component): Unit = peer.setTopComponent(nullPeer(c))
53+
4254
def bottomComponent: Component =
4355
UIElement.cachedWrapper[Component](peer.getBottomComponent.asInstanceOf[javax.swing.JComponent])
4456
def bottomComponent_=(c: Component): Unit = peer.setBottomComponent(nullPeer(c))
4557

46-
def leftComponent: Component = topComponent
47-
def leftComponent_=(c: Component): Unit = { topComponent = c }
48-
def rightComponent: Component = bottomComponent
49-
def rightComponent_=(c: Component): Unit = { bottomComponent = c }
58+
def leftComponent : Component = topComponent
59+
def leftComponent_= (c: Component): Unit = { topComponent = c }
5060

51-
def dividerLocation: Int = peer.getDividerLocation
52-
def dividerLocation_=(n: Int): Unit = peer.setDividerLocation(n)
61+
def rightComponent : Component = bottomComponent
62+
def rightComponent_=(c: Component): Unit = { bottomComponent = c }
63+
64+
def dividerLocation : Int = peer.getDividerLocation
65+
def dividerLocation_= (n: Int): Unit = peer.setDividerLocation(n)
5366

5467
/*def proportionalDividerLocation: Double =
5568
if (orientation == Orientation.Vertical) dividerLocation / (size.height - dividerSize)
5669
else dividerLocation / (size.width - dividerSize)*/
5770
def dividerLocation_=(f: Double): Unit = peer.setDividerLocation(f)
5871

59-
def dividerSize: Int = peer.getDividerSize
60-
def dividerSize_=(n: Int): Unit = peer.setDividerSize(n)
61-
def resizeWeight: Double = peer.getResizeWeight
62-
def resizeWeight_=(n: Double): Unit = peer.setResizeWeight(n)
72+
def dividerSize : Int = peer.getDividerSize
73+
def dividerSize_= (n: Int): Unit = peer.setDividerSize(n)
74+
75+
def resizeWeight : Double = peer.getResizeWeight
76+
def resizeWeight_= (n: Double): Unit = peer.setResizeWeight(n)
6377

6478
def resetToPreferredSizes(): Unit = peer.resetToPreferredSizes()
6579

66-
def oneTouchExpandable: Boolean = peer.isOneTouchExpandable
67-
def oneTouchExpandable_=(b: Boolean): Unit = peer.setOneTouchExpandable(b)
68-
def continuousLayout: Boolean = peer.isContinuousLayout
69-
def continuousLayout_=(b: Boolean): Unit = peer.setContinuousLayout(b)
80+
def oneTouchExpandable : Boolean = peer.isOneTouchExpandable
81+
def oneTouchExpandable_=(b: Boolean): Unit = peer.setOneTouchExpandable(b)
82+
83+
def continuousLayout : Boolean = peer.isContinuousLayout
84+
def continuousLayout_= (b: Boolean): Unit = peer.setContinuousLayout(b)
7085
}

0 commit comments

Comments
 (0)