<?xml version="1.0" encoding="UTF-8"?>
<!--
   Copyright 2004 The Apache Software Foundation
  
   Licensed under the Apache License, Version 2.0 (the "License");
   you may not use this file except in compliance with the License.
   You may obtain a copy of the License at
  
       http://www.apache.org/licenses/LICENSE-2.0
  
   Unless required by applicable law or agreed to in writing, software
   distributed under the License is distributed on an "AS IS" BASIS,
   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   See the License for the specific language governing permissions and
   limitations under the License.
-->
<!-- $Id$ -->
<!DOCTYPE component-specification PUBLIC
  "-//Apache Software Foundation//Tapestry Specification 3.0//EN" 
  "http://jakarta.apache.org/tapestry/dtd/Tapestry_3_0.dtd">
	
<component-specification class="org.apache.tapestry.form.Checkbox" allow-body="no">

  <description>
  Implements a checkbox within a Form.
  </description>
  
  <parameter name="selected" 
  	type="boolean"
  	required="yes" 
  	direction="form">
    <description>
    The property read and updated by the Checkbox.
    </description>
  </parameter>
  
  <parameter name="disabled" type="boolean" direction="in">
    <description>
    If true, then the checkbox will be disabled and any input from the checkbox
    will be ignored.
    </description>
  </parameter>
  
  <reserved-parameter name="type"/>
  <reserved-parameter name="checked"/>
  <reserved-parameter name="name"/>
  
  <property-specification name="name" type="java.lang.String"/>
  <property-specification name="form" type="org.apache.tapestry.IForm"/>
  
</component-specification>
