<?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.tree.components.table.TreeTable"
    allow-body="yes" allow-informal-parameters="yes">

    <parameter name="sessionStateManager"
        type="org.apache.tapestry.contrib.tree.model.ITreeSessionStateManager"
        direction="custom" required="no"/>

    <parameter name="sessionStoreManager"
        type="org.apache.tapestry.contrib.tree.model.ISessionStoreManager"
        direction="custom" required="no"/>

    <parameter name="treeModel"
        type="org.apache.tapestry.contrib.tree.model.ITreeModel"
        direction="custom" required="yes">
    </parameter>

    <parameter name="treeStateListener"
        type="org.apache.tapestry.contrib.tree.model.ITreeStateListener"
        direction="custom" required="no">
    </parameter>

	<parameter name="entriesPerTablePage" 
		type="int" 
		required="no"
		direction="custom"/>

    <parameter name="nodeViewComponentAddress"
               type="org.apache.tapestry.util.ComponentAddress"
               required="no" direction="custom"/>

    <parameter name="tableColunms"
               type="java.util.ArrayList"
               required="no" direction="custom"/>

    <component id="treeView" type="TreeView">
        <inherited-binding name="sessionStateManager" parameter-name="sessionStateManager"/>
        <inherited-binding name="sessionStoreManager" parameter-name="sessionStoreManager"/>
        <inherited-binding name="treeModel" parameter-name="treeModel"/>
        <inherited-binding name="treeStateListener" parameter-name="treeStateListener"/>
    </component>

    <component id="treeTableDataView" type="TreeTableDataView">
        <binding name="treeView" expression='components.treeView'/>
        <inherited-binding name="nodeViewComponentAddress" parameter-name="nodeViewComponentAddress"/>
        <inherited-binding name="entriesPerTablePage" parameter-name="entriesPerTablePage"/>
        <inherited-binding name="tableColunms" parameter-name="tableColunms"/>
    </component>

</component-specification>