summaryrefslogtreecommitdiff
path: root/java/src/IceGridGUI/Application/ListTextField.java
diff options
context:
space:
mode:
authorJoe George <joe@zeroc.com>2015-03-03 17:30:50 -0500
committerJoe George <joe@zeroc.com>2015-05-12 11:41:55 -0400
commitd35bb9f5c19e34aee31f83d445695a8186ef675e (patch)
treed5324eaf44f5f9776495537c51653f50a66a7237 /java/src/IceGridGUI/Application/ListTextField.java
downloadice-d35bb9f5c19e34aee31f83d445695a8186ef675e.tar.bz2
ice-d35bb9f5c19e34aee31f83d445695a8186ef675e.tar.xz
ice-d35bb9f5c19e34aee31f83d445695a8186ef675e.zip
Ice 3.4.2 Source Distributionv3.4.2
Diffstat (limited to 'java/src/IceGridGUI/Application/ListTextField.java')
-rw-r--r--java/src/IceGridGUI/Application/ListTextField.java80
1 files changed, 80 insertions, 0 deletions
diff --git a/java/src/IceGridGUI/Application/ListTextField.java b/java/src/IceGridGUI/Application/ListTextField.java
new file mode 100644
index 00000000000..aa0ba0b6250
--- /dev/null
+++ b/java/src/IceGridGUI/Application/ListTextField.java
@@ -0,0 +1,80 @@
+// **********************************************************************
+//
+// Copyright (c) 2003-2011 ZeroC, Inc. All rights reserved.
+//
+// This copy of Ice is licensed to you under the terms described in the
+// ICE_LICENSE file included in this distribution.
+//
+// **********************************************************************
+
+package IceGridGUI.Application;
+
+import IceGrid.*;
+import IceGridGUI.*;
+
+import javax.swing.JTextField;
+
+//
+// A special field used to show/edit a list of strings separated
+// by whitespace
+//
+
+public class ListTextField extends JTextField
+{
+ public ListTextField(int columns)
+ {
+ super(columns);
+ }
+
+ public void setList(java.util.List<String> list, final Utils.Resolver resolver)
+ {
+ Utils.Stringifier stringifier = new Utils.Stringifier()
+ {
+ public String toString(Object obj)
+ {
+ return Utils.substitute((String)obj, resolver);
+ }
+ };
+
+ setText(Utils.stringify(list, stringifier, " ", null));
+ }
+
+ public java.util.LinkedList<String> getList()
+ {
+ String text = getText().trim();
+ java.util.LinkedList<String> result = new java.util.LinkedList<String>();
+
+ while(text.length() > 0)
+ {
+ if(text.startsWith("\""))
+ {
+ int last = text.indexOf("\"", 1);
+ if(last == -1)
+ {
+ result.add(text.substring(1));
+ text = "";
+ }
+ else
+ {
+ result.add(text.substring(1, last));
+ text = text.substring(last + 1).trim();
+ }
+ }
+ else
+ {
+ String[] strings = text.split("\\s", 2);
+ if(strings.length == 1)
+ {
+ result.add(strings[0]);
+ text = "";
+ }
+ else
+ {
+ result.add(strings[0]);
+ text = strings[1].trim();
+ }
+ }
+ }
+ return result;
+ }
+}