/*
* Angkor Web Framework
*
* Distributable under LGPL license.
* See terms of license at gnu.org.
*/
package com.tirsen.angkor.widget;
import com.tirsen.angkor.RenderContext;
import com.tirsen.angkor.Component;
import java.io.IOException;
/**
* @author $Author: tirsen $
* @version $Revision: 1.5 $
* <BR>
* $Id: CheckboxInput.java,v 1.5 2002/10/13 19:59:23 tirsen Exp $
public class CheckboxInput extends Component
{
private ValueModel model;
private TextLabel prompt;
public CheckboxInput(String id)
super(id);
}
public CheckboxInput()
public CheckboxInput(String prompt, ValueModel model)
setPrompt(prompt);
this.model = model;
* @param model a ValueModel that return values of type Boolean.
public void setModel(ValueModel model)
public void setPrompt(TextLabel prompt)
this.prompt = prompt;
public void setPrompt(String promptText)
prompt = new TextLabel();
prompt.setLabel(promptText);
public void setVisible(boolean visible)
super.setVisible(visible);
prompt.setVisible(visible);
public boolean isParsing()
return true;
public void parse(RenderContext context)
super.parse(context);
if (isVisible() && model != null && !model.isReadOnly())
boolean value = "on".equals(context.getRequestParameter(getId()));
model.setValue(new Boolean(value));
public void render(RenderContext context) throws IOException
if (isVisible())
String checked = "";
if (model != null && ((Boolean) model.getValue()).booleanValue())
checked = " checked ";
context.startTag("INPUT type=\"checkbox\" name=\"" + uniqueId(context) + "\"" + checked);
if (prompt != null) prompt.render(context);
context.registerParsingComponent(this);