Initial commit of newLISP.
[newlisp.git] / guiserver / java / ComboBoxWidget.java
blob4066c86648dcafdb4648e9d31cc5ba795580fd41
1 //
2 // ComboBoxWidget.java
3 // guiserver
4 //
5 // Created by Lutz Mueller on 5/13/07.
6 //
7 //
8 // Copyright (C) 2007 Lutz Mueller
9 //
10 // This program is free software: you can redistribute it and/or modify
11 // it under the terms of the GNU General Public License as published by
12 // the Free Software Foundation, either version 3 of the License, or
13 // (at your option) any later version.
15 // This program is distributed in the hope that it will be useful,
16 // but WITHOUT ANY WARRANTY; without even the implied warranty of
17 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18 // GNU General Public License for more details.
20 // You should have received a copy of the GNU General Public License
21 // along with this program. If not, see <http://www.gnu.org/licenses/>.
25 import java.awt.*;
26 import java.awt.event.*;
27 import javax.swing.*;
28 import java.util.*;
31 @SuppressWarnings("unchecked")
32 public class ComboBoxWidget extends gsObject implements ActionListener{
34 JComboBox combobox;
36 public ComboBoxWidget(StringTokenizer params)
38 combobox = new JComboBox();
39 jcomponent = combobox;
40 component = combobox;
41 container = combobox;
43 id = params.nextToken();
44 action = params.nextToken();
46 while(params.hasMoreTokens())
47 combobox.addItem(Base64Coder.decodeString(params.nextToken()));
49 gsObject.widgets.put(id, this);
51 combobox.addActionListener(this);
54 public void actionPerformed(ActionEvent e)
56 int index = combobox.getSelectedIndex();
57 String idx = Integer.toString(index);
58 String item = Base64Coder.encodeString(combobox.getSelectedItem().toString());
59 guiserver.out.println("(" + action + " \"" + id + "\" " + idx + " \"" + item + "\")");
60 guiserver.out.flush();
63 public void addListItem(StringTokenizer tokens)
65 while(tokens.hasMoreTokens())
66 combobox.addItem(Base64Coder.decodeString(tokens.nextToken()));
69 public void removeListItem(StringTokenizer tokens)
71 int index = 0;
73 while(tokens.hasMoreTokens())
75 index = Integer.parseInt(tokens.nextToken());
76 if(index > (combobox.getItemCount() - 1)) index = combobox.getItemCount() - 1;
77 if(index < 0) index = 0;
78 combobox.removeItemAt(index);
82 public void insertListItem(StringTokenizer tokens)
84 int index = 0;
85 String text;
87 while(tokens.hasMoreTokens())
89 text = Base64Coder.decodeString(tokens.nextToken());
90 index = Integer.parseInt(tokens.nextToken());
91 if(index > (combobox.getItemCount() - 1)) index = combobox.getItemCount() - 1;
92 if(index < 0) index = 0;
93 combobox.insertItemAt(text, index);
97 public void selectListItem(StringTokenizer tokens)
99 String item = Base64Coder.decodeString(tokens.nextToken());
100 combobox.setSelectedItem(item);
103 public void clearList(StringTokenizer tokens)
105 combobox.removeAllItems();
111 // eof //