<?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.contrib.table.components.TableColumns" 
	allow-body="yes" allow-informal-parameters="yes">
	
	<description>
        A low level Table component that renders the column headers in the table. 
        This component must be wrapped by TableView. 
	</description>
  
	<parameter name="column" 
		type="org.apache.tapestry.contrib.table.model.ITableColumn" 
		required="no"
		direction="custom">
        <description>The column currently being rendered [out]</description>
    </parameter>

	<parameter name="element" 
		type="java.lang.String" 
		required="no"
		direction="auto"
    	default-value="'th'">
        <description>The tag to use to wrap the column headers.</description>
    </parameter>

	<parameter name="arrowUpAsset" 
		type="org.apache.tapestry.IAsset" 
		required="no"
		direction="in">
        <description>The image to use to describe a column sorted in an ascending order.</description>
    </parameter>

	<parameter name="arrowDownAsset" 
		type="org.apache.tapestry.IAsset" 
		required="no"
		direction="in">
        <description>The image to use to describe a column sorted in a descending order.</description>
    </parameter>

    <parameter name="class"
        type="java.lang.String"
        required="no"
        direction="custom">
        <description>The CSS class of the table columns</description>
    </parameter>
    
	<component id="iterColumns" type="Foreach">
		<binding name="source" expression="tableColumnIterator"/>
		<binding name="value" expression="tableColumn"/>
	</component>
  
	<component id="informal" type="Any" inherit-informal-parameters="yes">
		<binding name="element" expression="element"/>
        <binding name="class" expression="columnClass"/>
	</component>
  
	<component id="insertColumnRenderer" type="Delegator">
		<binding name="delegate" expression="tableColumnRenderer"/>
	</component>

</component-specification>
