Xcos GUI: without a carriage return, the last context line was ignored 49/17249/3
Paul Bignier [Thu, 24 Sep 2015 08:54:51 +0000 (10:54 +0200)]
 * When entering a multiple-line context, if the user didn't add a carriage return at the end, the last line was ignored

Change-Id: I23540ee0660e200bc9fb970099e65d4b525c0f48

scilab/modules/xcos/src/java/org/scilab/modules/xcos/actions/dialog/SetContextDialog.java

index b9572c9..f754830 100644 (file)
@@ -100,7 +100,7 @@ public class SetContextDialog extends JDialog {
          * Construct a text from a String array context
          */
         VectorOfString v = parameters.getContext(new JavaController());
-        final int len = (int) v.size();
+        final int len = v.size();
         for (int i = 0; i < len; i++) {
             contextArea.append(v.get(i) + SHARED_NEW_LINE);
         }
@@ -180,9 +180,13 @@ public class SetContextDialog extends JDialog {
             @Override
             public void actionPerformed(ActionEvent e) {
                 try {
-                    final String context = contextArea.getText();
+                    String context = contextArea.getText();
                     final VectorOfString v = new VectorOfString();
 
+                    // Force a carriage return if needed so the last line is not ignored
+                    if (context.length() > 0 && !context.endsWith("\n")) {
+                        context += '\n';
+                    }
                     int off = 0;
                     int next = 0;
                     while ((next = context.indexOf('\n', off)) != -1) {