001    /*
002      Copyright (C) 2001-2003 Laurent Martelli <laurent@aopsys.com>
003      
004      This program is free software; you can redistribute it and/or modify
005      it under the terms of the GNU Lesser General Public License as
006      published by the Free Software Foundation; either version 2 of the
007      License, or (at your option) any later version.
008    
009      This program is distributed in the hope that it will be useful,
010      but WITHOUT ANY WARRANTY; without even the implied warranty of
011      MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
012      GNU Lesser General Public License for more details.
013    
014      You should have received a copy of the GNU Lesser General Public License
015      along with this program; if not, write to the Free Software
016      Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA */
017    
018    package org.objectweb.jac.aspects.gui.web;
019    
020    import org.objectweb.jac.aspects.gui.*;
021    import org.objectweb.jac.core.rtti.CollectionItem;
022    import java.io.PrintWriter;
023    
024    public class List extends AbstractCollection
025       implements HTMLViewer, CollectionListener
026    {
027       public List(ViewFactory factory, DisplayContext context,
028                   CollectionItem collection, Object substance,
029                   CollectionModel model, org.objectweb.jac.aspects.gui.CollectionItemView itemView) {
030          super(factory,context,collection,substance,model,itemView);
031       }
032    
033       public void sort() {
034       }
035    
036       // HTMLViewer interface
037    
038       public void genHTML(PrintWriter out) {
039          sort();
040    
041          genHeader(out);
042          out.println("<table class=\"list\">");
043          out.println("  <tbody>");
044    
045          for (int index=startIndex; 
046               (!split || index<startIndex+rowsPerPage) && index<model.getRowCount(); 
047               index++) 
048          {
049             String row = (String)((ListModel)model).getElementAt(index);
050             out.println("    <tr"+(selected==index?" class=\"selected\"":"")+">");
051             out.println("      <td><a href=\""+
052                         eventURL("onView")+
053                         "&index="+index+"\">"+row+"</a></td>");
054             if (GuiAC.isRemovable(collection) && isEditor)
055                out.println("      <td>"+removeLink(index)+"</td>");
056             out.println("    </tr>");
057          }
058          out.println("  </tbody>");
059    
060          out.println("</table>");
061       }
062    }