KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > objectweb > jac > aspects > gui > web > Menu


1 /*
2   Copyright (C) 2002-2003 Laurent Martelli <laurent@aopsys.com>
3   
4   This program is free software; you can redistribute it and/or modify
5   it under the terms of the GNU Lesser General Public License as
6   published by the Free Software Foundation; either version 2 of the
7   License, or (at your option) any later version.
8
9   This program is distributed in the hope that it will be useful,
10   but WITHOUT ANY WARRANTY; without even the implied warranty of
11   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12   GNU Lesser General Public License for more details.
13
14   You should have received a copy of the GNU Lesser General Public License
15   along with this program; if not, write to the Free Software
16   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */

17
18 package org.objectweb.jac.aspects.gui.web;
19
20 import java.io.IOException JavaDoc;
21 import java.io.PrintWriter JavaDoc;
22 import java.net.URLEncoder JavaDoc;
23 import java.util.Iterator JavaDoc;
24 import org.objectweb.jac.aspects.gui.*;
25
26 public class Menu extends AbstractMenu
27     implements MenuView, HTMLViewer, MenuListener
28 {
29
30     public Menu(ViewFactory factory, DisplayContext context) {
31         super(factory,context);
32         logger.debug("new Menu "+this);
33     }
34    
35     // HTMLViewer interface
36
public void genHTML(PrintWriter JavaDoc out) throws IOException JavaDoc {
37         if (position.equals(org.objectweb.jac.aspects.gui.Menu.TOP)||
38             position.equals(org.objectweb.jac.aspects.gui.Menu.BOTTOM)) {
39             out.println("<div class=\"menuH\">");
40         } else if (position.equals(org.objectweb.jac.aspects.gui.Menu.LEFT)||
41                    position.equals(org.objectweb.jac.aspects.gui.Menu.RIGHT)) {
42             out.println("<div class=\"menuV\">");
43         }
44         Iterator JavaDoc i = keys.iterator();
45         while (i.hasNext()) {
46             String JavaDoc key = (String JavaDoc)i.next();
47             Object JavaDoc item = map.get(key);
48             if (item instanceof Menu) {
49                 out.println(key);
50                 ((HTMLViewer)item).genHTML(out);
51             } else if (item instanceof MenuItem) {
52                 out.print("<div><a HREF=\""+eventURL("onMenuClick")+
53                           "&amp;item="+URLEncoder.encode(key,GuiAC.getEncoding())+"\">");
54                 if (((MenuItem)item).icon!=null)
55                     out.print(iconElement(((MenuItem)item).icon,""));
56                 out.println(key+"</a></div>");
57             }
58         }
59         out.println("</div>");
60     }
61 }
62
Popular Tags