package com.rectang.xsm.widget;
import com.rectang.xsm.doc.DocWidget;
import java.io.Serializable;
import java.util.List;
import org.jdom.Element;
import org.apache.wicket.markup.html.WebMarkupContainer;
import org.apache.wicket.markup.html.form.TextField;
import org.apache.wicket.markup.html.form.DropDownChoice;
import org.apache.wicket.markup.html.basic.Label;
import org.apache.wicket.markup.html.panel.Panel;
import org.apache.wicket.model.PropertyModel;
/**
* A combobox item that lists a set of strings for the user to choose from.
*
* @author Andrew Williams
* @version $Id: ComboBox.java 786 2009-04-02 22:25:55Z andy $
* @since 1.2
*/
public class ComboBox
extends DocWidget
implements Serializable
{
private List items;
public ComboBox( java.lang.String name, List items )
{
super( name );
this.items = items;
}
public void view( Element node, StringBuffer s )
{
s.append( node.getValue() );
}
public void publish( Element node, StringBuffer s )
{
s.append( node.getValue() );
}
public WebMarkupContainer edit( java.lang.String wicketId, Element node, java.lang.String path )
{
return new ComboBoxPanel( wicketId, node );
}
public void create( Element node )
{
node.setText( "" );
}
class ComboBoxPanel
extends Panel
{
public ComboBoxPanel( java.lang.String id, Element node )
{
super( id );
add( new Label( "label", name ) );
add( new DropDownChoice( "value", new PropertyModel( node, "text" ), items ) );
}
}
}