Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- val valueColumn = new TableColumn[Symbol, Symbol] {
- text = t"ui.cue_metadata_editor.col_val"
- cellFactory = {column =>
- new CustomTableCell[Symbol, Symbol]() {
- val comboBox = new ComboBox[Option[String]] {
- editable = true
- converter =
- StringConverter({string =>
- if(string eq unsetValue) None else Some(string)
- },
- {
- case Some(str) => str
- case None => unsetValue
- })
- }
- override val delegate = new JFXTableCellUpdateDelegate[Symbol, Symbol] {
- override def startEdit(): Unit = {
- text = null
- graphic = comboBox
- comboBox.items.getValue.clear()
- comboBox.items += unsetValue
- cueSheet.metaData(item.value) match {
- case Some(value) =>
- comboBox.items += value
- comboBox.selectionModel.select(value)
- case None =>
- comboBox.selectionModel.select(unsetValue)
- }
- }
- override def cancelEdit(): Unit = {
- text = cueSheet.metaData(item.value) match {
- case Some(value) => value
- case None => unsetValue
- }
- }
- override def commitEdit(value: Symbol): Unit = {
- }
- }
- override def updateItem(item: Symbol, empty: Boolean): Unit = empty match {
- case true =>
- text = null
- graphic = null
- case false =>
- text = cueSheet.metaData(item) match {
- case Some(value) => value
- case None => unsetValue
- }
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement