5 // Created by Lutz Mueller on 5/14/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/>.
30 public class LabelWidget
extends gsObject
{
34 @SuppressWarnings("unchecked")
35 public LabelWidget(StringTokenizer params
)
42 id
= params
.nextToken();
43 String align
= "center";
44 if(params
.hasMoreTokens())
45 label
.setText(Base64Coder
.decodeString(params
.nextToken()));
47 if(params
.hasMoreTokens())
48 align
= params
.nextToken();
50 if(align
.equals("left")) label
.setHorizontalAlignment(JLabel
.LEFT
);
51 else if(align
.equals("center")) label
.setHorizontalAlignment(JLabel
.CENTER
);
52 else if(align
.equals("right")) label
.setHorizontalAlignment(JLabel
.RIGHT
);
53 else if(align
.equals("leading")) label
.setHorizontalAlignment(JLabel
.LEADING
);
54 else if(align
.equals("trailing")) label
.setHorizontalAlignment(JLabel
.TRAILING
);
55 else if(align
.equals("bottom")) label
.setVerticalAlignment(JLabel
.BOTTOM
);
56 else if(align
.equals("top")) label
.setVerticalAlignment(JLabel
.TOP
);
58 if(params
.hasMoreTokens())
60 int width
= Integer
.parseInt(params
.nextToken());
61 int height
= Integer
.parseInt(params
.nextToken());
62 jcomponent
.setPreferredSize(new Dimension(width
, height
));
65 gsObject
.widgets
.put(id
, this);
70 public void setText(StringTokenizer tokens
)
72 String text
= Base64Coder
.decodeString(tokens
.nextToken());
76 public void getText(StringTokenizer params
)
78 String action
= params
.nextToken();
79 String text
= label
.getText();
80 if(text
.length() == 0)
81 guiserver
.out
.println("(" + action
+ " \"" + id
+ "\")");
83 guiserver
.out
.println("(" + action
+ " \"" + id
+ "\" [text]" + Base64Coder
.encodeString(text
) + "[/text])");
84 guiserver
.out
.flush();
87 public void appendText(StringTokenizer tokens
)
89 String text
= Base64Coder
.decodeString(tokens
.nextToken());
90 String oldtext
= label
.getText();
91 label
.setText(oldtext
+ text
);
94 public void clearText(StringTokenizer tokens
)
99 public void setIcon(StringTokenizer tokens
)
101 String path
= Base64Coder
.decodeString(tokens
.nextToken());
102 label
.setIcon(guiserver
.getIconFromPath(path
, this.getClass()));