Skip to content

Commit ccbc5f3

Browse files
committed
list-view selection items is read only
1 parent 041d1ef commit ccbc5f3

File tree

2 files changed

+13
-15
lines changed

2 files changed

+13
-15
lines changed

src/main/scala/scala/swing/ListView.scala

Lines changed: 9 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,8 @@ import event._
1212
import javax.swing._
1313
import javax.swing.event._
1414

15+
import scala.collection.JavaConverters.asScalaBufferConverter
16+
1517
object ListView {
1618
/**
1719
* The supported modes of user selections.
@@ -185,27 +187,23 @@ class ListView[A] extends Component {
185187
def iterator: Iterator[B] = a.iterator
186188
}
187189

188-
def leadIndex: Int = peer.getSelectionModel.getLeadSelectionIndex
189-
def anchorIndex: Int = peer.getSelectionModel.getAnchorSelectionIndex
190+
def leadIndex : Int = peer.getSelectionModel.getLeadSelectionIndex
191+
def anchorIndex : Int = peer.getSelectionModel.getAnchorSelectionIndex
190192

191193
/**
192194
* The indices of the currently selected items.
193195
*/
194196
object indices extends Indices(peer.getSelectedIndices) {
195-
override def subtractOne(n: Int): this.type = { peer.removeSelectionInterval(n,n); this }
196197
override def addOne (n: Int): this.type = { peer.addSelectionInterval (n,n); this }
198+
override def subtractOne(n: Int): this.type = { peer.removeSelectionInterval(n,n); this }
197199

198200
override def clear(): Unit = peer.clearSelection()
199201
}
200202

201-
// XXX TODO
202-
// /**
203-
// * The currently selected items.
204-
// */
205-
// object items extends scala.collection.SeqProxy[A] {
206-
// def self = peer.getSelectedValues.map(_.asInstanceOf[A])
207-
// }
208-
def items: Seq[A] = ???
203+
/**
204+
* The currently selected items.
205+
*/
206+
def items: Seq[A] = peer.getSelectedValuesList.asScala
209207

210208
def intervalMode: IntervalMode.Value = IntervalMode(peer.getSelectionModel.getSelectionMode)
211209
def intervalMode_=(m: IntervalMode.Value): Unit = peer.getSelectionModel.setSelectionMode(m.id)

src/main/scala/scala/swing/Swing.scala

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -19,10 +19,10 @@ import javax.swing.{BorderFactory, Icon, ImageIcon, JComponent, SwingUtilities}
1919
* Helpers for this package.
2020
*/
2121
object Swing {
22-
protected[swing] type PeerContainer = {def peer: awt.Container}
22+
protected[swing] type PeerContainer = { def peer: awt.Container }
2323

24-
protected[swing] def toNoIcon(i: Icon): Icon = if(i == null) EmptyIcon else i
25-
protected[swing] def toNullIcon(i: Icon): Icon = if(i == EmptyIcon) null else i
24+
protected[swing] def toNoIcon (i: Icon): Icon = if (i == null) EmptyIcon else i
25+
protected[swing] def toNullIcon (i: Icon): Icon = if (i == EmptyIcon) null else i
2626
protected[swing] def nullPeer(c: PeerContainer): awt.Container = if (c != null) c.peer else null
2727

2828
implicit def pair2Dimension(p: (Int, Int)) : Dimension = new Dimension (p._1, p._2)
@@ -76,7 +76,7 @@ object Swing {
7676
}
7777

7878
def unwrapIcon(icon: Icon): Icon = if (icon == null) EmptyIcon else icon
79-
def wrapIcon(icon: Icon): Icon = if (icon == EmptyIcon) null else icon
79+
def wrapIcon (icon: Icon): Icon = if (icon == EmptyIcon) null else icon
8080

8181
def EmptyBorder: Border = BorderFactory.createEmptyBorder()
8282
def EmptyBorder(weight: Int): Border =

0 commit comments

Comments
 (0)