Initial commit of newLISP.
[newlisp.git] / guiserver / java / PopupMenuWidget.java
blob0dc2053a6dbb54d09650edbc59de469550f4dec1
1 //
2 // PopupMenuWidget.java
3 // guiserver
4 //
5 // Created by Lutz Mueller on 7/4/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 javax.swing.event.*;
29 import java.util.*;
31 public class PopupMenuWidget extends gsObject {
33 JPopupMenu jpopup;
35 @SuppressWarnings("unchecked")
36 public PopupMenuWidget(StringTokenizer params)
38 id = params.nextToken();
39 jpopup = new JPopupMenu(Base64Coder.decodeString(params.nextToken()));
40 //jpopup.setLightWeightPopupEnabled(false); only if canvas extends Canvas
41 container = jpopup;
42 jcomponent = jpopup;
43 component = jpopup;
45 gsObject.widgets.put(id, this);
48 public void addSeparator(StringTokenizer tokens)
50 jpopup.addSeparator();
53 public void showPopup(StringTokenizer tokens)
55 gsObject gsobject = (gsObject)gsObject.widgets.get(tokens.nextToken());
57 int x = Integer.parseInt(tokens.nextToken());
58 int y = Integer.parseInt(tokens.nextToken());
60 if(gsobject.jcomponent == null)
61 jpopup.show(gsobject.component, x, y);
62 else
63 jpopup.show(gsobject.jcomponent, x, y);
65 jpopup.repaint();
71 // eof //