@@ -2,15 +2,14 @@ package org.knime.ext.jruby
22
33import java .awt .BorderLayout
44import java .awt .Color
5- import java .awt .event ._
65
7- import javax .swing .Box
86import javax .swing .BoxLayout
97import javax .swing .DefaultCellEditor
108import javax .swing .JComboBox
11- import javax .swing .table .TableColumn
12- import javax .swing .table .TableCellEditor
139import javax .swing .text .BadLocationException
10+ import javax .swing .event .DocumentListener
11+ import javax .swing .event .DocumentEvent
12+ import javax .swing .Icon
1413
1514import org .knime .core .data .DataColumnSpec
1615import org .knime .core .data .DataTableSpec
@@ -30,9 +29,6 @@ import scala.collection.convert.WrapAsScala.enumerationAsScalaIterator
3029
3130import scala .swing ._
3231import scala .swing .event ._
33- import scala .swing .Table
34- import scala .swing .Container
35- import scala .swing .FileChooser
3632
3733/**
3834 * <code>NodeDialog</code> for the "JRuby Script" Node.
@@ -71,6 +67,8 @@ class RubyScriptNodeDialog(private var factory: RubyScriptNodeFactory)
7167
7268 private val fileChooser = new FileChooser ()
7369
70+ private var changed = false
71+
7472 createColumnSelectionTab()
7573
7674 createScriptTab()
@@ -168,6 +166,11 @@ class RubyScriptNodeDialog(private var factory: RubyScriptNodeFactory)
168166 setSyntaxEditingStyle(SyntaxConstants .SYNTAX_STYLE_RUBY )
169167 setCodeFoldingEnabled(true )
170168 setAntiAliasingEnabled(true )
169+ getDocument().addDocumentListener(new DocumentListener () {
170+ def insertUpdate (e : DocumentEvent ) { changed = true }
171+ def removeUpdate (e : DocumentEvent ) { changed = true }
172+ def changedUpdate (e : DocumentEvent ) { changed = true }
173+ });
171174 }
172175
173176 val spScript = new RTextScrollPane (scriptTextArea) {
@@ -358,6 +361,7 @@ class RubyScriptNodeDialog(private var factory: RubyScriptNodeFactory)
358361 table.addRow(dataTableColumnNames(i), dataTableColumnTypes(i))
359362 }
360363 updateColumnTable(specs)
364+ changed = false ;
361365 }
362366
363367 /* (non-Javadoc)
@@ -380,6 +384,7 @@ class RubyScriptNodeDialog(private var factory: RubyScriptNodeFactory)
380384 settings.addStringArray(RubyScriptNodeModel .COLUMN_NAMES , columnNames : _* )
381385 val columnTypes = table.getDataTableColumnTypes
382386 settings.addStringArray(RubyScriptNodeModel .COLUMN_TYPES , columnTypes : _* )
387+ changed = false ;
383388 }
384389
385390 /**
0 commit comments