You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ctakes.apache.org by se...@apache.org on 2022/02/25 19:39:35 UTC

svn commit: r1898426 - /ctakes/trunk/ctakes-gui/src/main/java/org/apache/ctakes/gui/pipeline/PiperRunnerPanel.java

Author: seanfinan
Date: Fri Feb 25 19:39:34 2022
New Revision: 1898426

URL: http://svn.apache.org/viewvc?rev=1898426&view=rev
Log:
Added Focus Listener to text cell editor in CLI table.

Modified:
    ctakes/trunk/ctakes-gui/src/main/java/org/apache/ctakes/gui/pipeline/PiperRunnerPanel.java

Modified: ctakes/trunk/ctakes-gui/src/main/java/org/apache/ctakes/gui/pipeline/PiperRunnerPanel.java
URL: http://svn.apache.org/viewvc/ctakes/trunk/ctakes-gui/src/main/java/org/apache/ctakes/gui/pipeline/PiperRunnerPanel.java?rev=1898426&r1=1898425&r2=1898426&view=diff
==============================================================================
--- ctakes/trunk/ctakes-gui/src/main/java/org/apache/ctakes/gui/pipeline/PiperRunnerPanel.java (original)
+++ ctakes/trunk/ctakes-gui/src/main/java/org/apache/ctakes/gui/pipeline/PiperRunnerPanel.java Fri Feb 25 19:39:34 2022
@@ -25,6 +25,8 @@ import javax.swing.text.DefaultStyledDoc
 import java.awt.*;
 import java.awt.event.ActionEvent;
 import java.awt.event.ActionListener;
+import java.awt.event.FocusAdapter;
+import java.awt.event.FocusEvent;
 import java.io.BufferedReader;
 import java.io.File;
 import java.io.IOException;
@@ -198,30 +200,56 @@ final public class PiperRunnerPanel exte
       _cliTable.getColumnModel()
                .getColumn( 0 )
                .setPreferredWidth( 200 );
-      _cliTable.getColumnModel().getColumn( 0 ).setMaxWidth( 200 );
-      _cliTable.getColumnModel().getColumn( 1 ).setMaxWidth( 100 );
-      _cliTable.getColumnModel().getColumn( 3 ).setMaxWidth( 25 );
+      _cliTable.getColumnModel()
+               .getColumn( 0 )
+               .setMaxWidth( 200 );
+      _cliTable.getColumnModel()
+               .getColumn( 1 )
+               .setMaxWidth( 100 );
+      _cliTable.getColumnModel()
+               .getColumn( 3 )
+               .setMaxWidth( 25 );
       _cliTable.setRowSelectionAllowed( true );
       _cliTable.setCellSelectionEnabled( true );
       _cliTable.setDefaultRenderer( ConfigurationParameter.class, new ParameterCellRenderer() );
       final FileTableCellEditor fileEditor = new FileTableCellEditor();
-      fileEditor.getFileChooser().setFileSelectionMode( JFileChooser.FILES_AND_DIRECTORIES );
+      fileEditor.getFileChooser()
+                .setFileSelectionMode( JFileChooser.FILES_AND_DIRECTORIES );
       _cliTable.setDefaultRenderer( File.class, fileEditor );
       _cliTable.setDefaultEditor( File.class, fileEditor );
+      _cliTable.setDefaultEditor( String.class, new FocusableCellEditor() );
       ListSelectionModel selectionModel = _cliTable.getSelectionModel();
       selectionModel.setSelectionMode( ListSelectionModel.SINGLE_SELECTION );
       return _cliTable;
    }
 
 
+   static private final class FocusableCellEditor extends DefaultCellEditor {
+
+      private FocusableCellEditor() {
+         super( new JTextField() );
+         getComponent().addFocusListener( new FocusAdapter() {
+            @Override
+            public void focusLost( final FocusEvent e ) {
+               fireEditingStopped();
+            }
+         } );
+      }
+
+   }
+
+
    // -i, -o
    private final class CliOptionModel implements TableModel {
+
       private final String[] COLUMN_NAMES = { "Parameter Name", "Option", "Value", "" };
       private final Class<?>[] COLUMN_CLASSES = { String.class, String.class, String.class, File.class };
       private final EventListenerList _listenerList = new EventListenerList();
+
       public int getRowCount() {
          return STANDARD_CHARS.length + _cliChars.size();
       }
+
       @Override
       public int getColumnCount() {
          return 4;