<?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.ImageSubmit" allow-body="no">

  <description>
  Creates a clickable image within a form.
  </description>

  <parameter name="image" 
  	type="org.apache.tapestry.IAsset" 
  	required="yes"
  	direction="in">
  	<description>
  	Image used for the button.
  	</description>
  </parameter>
  	
  <parameter name="name" 
    property-name="nameOverride"
  	type="java.lang.String"
  	direction="in"/>
  	
  <parameter name="disabledImage" 
  	type="org.apache.tapestry.IAsset"
  	direction="in">
  	<description>
  	Image used for the button, if disabled.
  	</description>
  </parameter>
  	
  <parameter name="disabled"
  	type="boolean"
  	direction="in"/>
  	
  <parameter name="point" type="java.awt.Point"/>
  
  <parameter name="selected"
  	type="java.lang.Object">
  	<description>
  	Property updated when the button is clicked.
  	</description>
  </parameter>
  
  <parameter name="tag" 
  	type="java.lang.Object" 
  	direction="in">
  	<description>
  	Value used when updating the selected parameter.
  	</description>
  </parameter>
  
  <parameter name="listener" 
  	type="org.apache.tapestry.IActionListener"
  	direction="in">
  	<description>
  	Notified when the button is clicked.
  	</description>
  </parameter>
  
  <reserved-parameter name="type"/>
  <reserved-parameter name="src"/>
  <reserved-parameter name="border"/>

  <property-specification name="name" type="java.lang.String"/>
  <property-specification name="form" type="org.apache.tapestry.IForm"/>
 
</component-specification>
