5 // Created by Lutz Mueller on 5/13/07.
8 // Copyright (C) 2007 Lutz Mueller
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/>.
26 import java
.awt
.event
.*;
31 @SuppressWarnings("unchecked")
32 public class ComboBoxWidget
extends gsObject
implements ActionListener
{
36 public ComboBoxWidget(StringTokenizer params
)
38 combobox
= new JComboBox();
39 jcomponent
= 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
)
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
)
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();