@@ -2,15 +2,14 @@ package org.knime.ext.jruby
2
2
3
3
import java .awt .BorderLayout
4
4
import java .awt .Color
5
- import java .awt .event ._
6
5
7
- import javax .swing .Box
8
6
import javax .swing .BoxLayout
9
7
import javax .swing .DefaultCellEditor
10
8
import javax .swing .JComboBox
11
- import javax .swing .table .TableColumn
12
- import javax .swing .table .TableCellEditor
13
9
import javax .swing .text .BadLocationException
10
+ import javax .swing .event .DocumentListener
11
+ import javax .swing .event .DocumentEvent
12
+ import javax .swing .Icon
14
13
15
14
import org .knime .core .data .DataColumnSpec
16
15
import org .knime .core .data .DataTableSpec
@@ -30,9 +29,6 @@ import scala.collection.convert.WrapAsScala.enumerationAsScalaIterator
30
29
31
30
import scala .swing ._
32
31
import scala .swing .event ._
33
- import scala .swing .Table
34
- import scala .swing .Container
35
- import scala .swing .FileChooser
36
32
37
33
/**
38
34
* <code>NodeDialog</code> for the "JRuby Script" Node.
@@ -71,6 +67,8 @@ class RubyScriptNodeDialog(private var factory: RubyScriptNodeFactory)
71
67
72
68
private val fileChooser = new FileChooser ()
73
69
70
+ private var changed = false
71
+
74
72
createColumnSelectionTab()
75
73
76
74
createScriptTab()
@@ -168,6 +166,11 @@ class RubyScriptNodeDialog(private var factory: RubyScriptNodeFactory)
168
166
setSyntaxEditingStyle(SyntaxConstants .SYNTAX_STYLE_RUBY )
169
167
setCodeFoldingEnabled(true )
170
168
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
+ });
171
174
}
172
175
173
176
val spScript = new RTextScrollPane (scriptTextArea) {
@@ -358,6 +361,7 @@ class RubyScriptNodeDialog(private var factory: RubyScriptNodeFactory)
358
361
table.addRow(dataTableColumnNames(i), dataTableColumnTypes(i))
359
362
}
360
363
updateColumnTable(specs)
364
+ changed = false ;
361
365
}
362
366
363
367
/* (non-Javadoc)
@@ -380,6 +384,7 @@ class RubyScriptNodeDialog(private var factory: RubyScriptNodeFactory)
380
384
settings.addStringArray(RubyScriptNodeModel .COLUMN_NAMES , columnNames : _* )
381
385
val columnTypes = table.getDataTableColumnTypes
382
386
settings.addStringArray(RubyScriptNodeModel .COLUMN_TYPES , columnTypes : _* )
387
+ changed = false ;
383
388
}
384
389
385
390
/**
0 commit comments