<section role="NotInToc" id="rich_listShuttle">
   <title>
				&lt;
				rich:listShuttle
				&gt;
				<emphasis role="since">
         <superscript> available since <emphasis role="version">3.1.3</emphasis>
         </superscript>
      </emphasis>
   </title>
   <section>
        <title>Description</title>
        <para>The <emphasis role="bold">
            <property>&lt;rich:listShuttle&gt;</property>
        </emphasis> component is used for moving chosen items
        from one list into another with their optional reordering there.</para>
        <figure>
            <title>
            <emphasis role="bold">
               <property>&lt;rich:ListShuttle&gt;</property>
            </emphasis> component</title>
        <mediaobject>
            <imageobject>
                <imagedata fileref="images/listShuttle_init.png"/>
            </imageobject>
        </mediaobject>
        </figure>
        
    </section>
   <section>
        <title>Key Features</title>    
        <itemizedlist>
            <listitem>
            <para>Highly customizable look and feel</para>
         </listitem>
            <listitem>
            <para>Reordering possibility for lists items</para>
         </listitem>
            <listitem>
            <para>Multiple selection of lists items</para>
         </listitem>
            <listitem>
            <para>Keyboard support</para>
         </listitem>
            <!--listitem> Built-In Drag-and-Drop support</listitem-->           
        </itemizedlist>
    </section>
   <section>
        <title>Details of Usage</title>
        <para>The <emphasis role="bold">
                <property>&lt;rich:listShuttle&gt;</property>
            </emphasis> component consists of the following parts: <itemizedlist>
                <listitem>
               <para>two <property>item lists</property> (source and target). List consists of
                items. Each item has three different representations: common, selected, active</para>
            </listitem>
                <listitem>
               <para>optional <property>caption</property> element</para>
            </listitem>
                <listitem>
               <para>
                  <property>optional ordering controls set</property> is a set of controls
                that performs reordering</para>
            </listitem>
                <listitem>
               <para>
                  <property>move controls set</property> is a set of controls, which
                    performs moving items between lists</para>
            </listitem>
            </itemizedlist>
        </para>
        <note>
            <title>Note:</title>
            <para>Now the listener can not be called from the column facet. This is a temporary limitation. The additional information can be found in <ulink url="http://jira.jboss.org/jira/browse/RF-5327">RichFaces Jira</ulink>.</para>
        </note>
        <para> The <emphasis>
            <property>"sourceValue" </property>
        </emphasis> attribute defines a List or Array of items to be shown in the source list.</para>
        <para>The <emphasis>
            <property>"targetValue" </property>
        </emphasis> attribute defines a List or Array of items to be shown in the target list.</para>
        <para> The <emphasis>
            <property>"var" </property>
        </emphasis> attribute could be shared between both Lists or Arrays to define lists on the page.</para>
        
        <para>
            The <emphasis>
            <property>"sourceRequired"</property>
         </emphasis> and
            <emphasis>
            <property>"targetRequired"</property>
         </emphasis> attributes define the case when
            source and target values are being validated. If the value of both attributes is "true"
            there should be at least one item in source and target lists. Otherwise validation fails.  
        </para>
        <para>
            <emphasis role="bold">Example:</emphasis>
        </para>
        <programlisting role="XML"><![CDATA[...
<h:form id="myForm">
        <rich:messages>
                <f:facet name="errorMarker">
                        <h:graphicImage value="/images/ajax/error.gif" />   
                </f:facet>
        </rich:messages>
        <rich:listShuttle id="myListShuttle" sourceValue="#{toolBar.freeItems}" targetValue="#{toolBar.items}"  
                                sourceRequired = "true" targetRequired = "true" var="items" converter="listShuttleconverter"
                                sourceCaptionLabel="Source List" targetCaptionLabel="Target List">
                <rich:column>
                        <h:graphicImage value="#{items.iconURI}" />
                </rich:column>
                <rich:column>
                        <h:outputText value="#{items.label}" />
                </rich:column>
        </rich:listShuttle>
        <a4j:commandButton value="Submit" />
</h:form>
...]]></programlisting>
        <para>
            In the example above the source list is empty. If you submit the form validation fails and error message appears on a page. 
        </para>
        <para>
            This is the result:
        </para>
        <figure>
            <title>Style classes</title>
        <mediaobject>
            <imageobject>
                <imagedata fileref="images/listShuttle2.png"/>
            </imageobject>
        </mediaobject>
        </figure>
        <para>
            The <emphasis>
                <property>"converter" </property>
            </emphasis> attribute is used to convert component data to a particular component's value.
            For example, when you select items in a list, a converter is used to format a set of objects to a strings to be displayed.  
        </para>
        <note id="conv">
           
        </note>
        <para>
            The <emphasis>
                <property>"sourceSelection" </property>
            </emphasis> attribute stores the collection of items selected by you in the source list. 
            The <emphasis>
                <property>"targetSelection" </property>
            </emphasis> attribute stores the collection of items selected by you in the target list. 
        </para>
        <para>Captions could be added to a list only after it was defined as a <emphasis>
                <property>"sourceCaption"</property>
            </emphasis> and <emphasis>
                <property>"targetCaption"</property>
            </emphasis> named facets inside the component or defined with the <emphasis>
                <property>"sourceCaptionLabel"</property>
            </emphasis> and <emphasis>
                <property>"targetCaptionLabel"</property>
            </emphasis> attribute.
        </para>
        <programlisting role="XML"><![CDATA[...
<rich:listShuttle var="item" sourceValue="#{bean.source}" targetValue="#{bean.target}" sourceSelection="#{bean.sourceSelection}" 
                        targetSelection="#{bean.targetSelection}" converter="listShuttleconverter">
        <f:facet name="sourceCaption">
                <h:outputText value="Cars Store #1" />
        </f:facet>
        <f:facet name="targetCaption">
                <h:outputText value="Cars Store #2" />
        </f:facet>
        <rich:column>
                <h:outputText value="#{items.name}" />
        </rich:column>
</rich:listShuttle>
...]]></programlisting>
        <!-- ordering control set-->
        <para>The <emphasis role="bold">
                <property>&lt;rich:listShuttle&gt;</property>
            </emphasis> component provides the possibility to use <property>ordering controls
            set</property>, which performs reordering in the target item list. Every control has
            possibility to be disabled. </para>
        <para>An <property>ordering controls set</property> could be defined with 
            <emphasis>
            <property>"topControlLabel"</property>
         </emphasis>, <emphasis>
            <property>"bottomControlLabel"</property>
         </emphasis>,
            <emphasis>
            <property>"upControlLabel"</property>
         </emphasis>, <emphasis>
            <property>"downControlLabel"</property>
         </emphasis>attributes.
        </para>
        <para>It is also possible to use
            <emphasis>
                <property> "topControl" </property>
            </emphasis>, <emphasis>
                <property>"topControlDisabled"</property>
            </emphasis>, <emphasis>
                <property> "bottomControl"</property>
            </emphasis>, <emphasis>
                <property> "bottomControlDisabled" </property>
            </emphasis>, <emphasis>
                <property> "upControl" </property>
            </emphasis>, <emphasis>
                <property> "upControlDisabled" </property>
            </emphasis>, <emphasis>
                <property> "downControl"</property>
            </emphasis>, <emphasis>
                <property> "downControlDisabled" </property>
            </emphasis> facets in order to replace the default controls with facets content.
        </para>
        <para>
            <emphasis role="bold">Example:</emphasis>
        </para>
        <programlisting role="XML"><![CDATA[...
<rich:listShuttle var="item" sourceValue="#{bean.source}" targetValue="#{bean.target}" converter="listShuttleconverter">
		...			         
       	<f:facet name="topControl">
       			<h:outputText value="Move to top" />
       	</f:facet>
       	<f:facet name="upControl">
       			<h:outputText value="Move up" />
       	</f:facet>
       	<f:facet name="downControl">
       			<h:outputText value="Move down" />
       	</f:facet>
       	<f:facet name="bottomControl">
       			<h:outputText value="Move to bottom" />
   		</f:facet>
</rich:listShuttle>
...
]]></programlisting>
       
        <!-- copy/move control set -->
        
        <para>The <emphasis role="bold">
            <property>&lt;rich:listShuttle&gt;</property>
        </emphasis>component also provides 4 predefined controls in <property>move
            controls set</property> for moving items between source and target lists.
            Every control has possibility to be disabled. </para>
        <para>A <property>move controls set</property> could be defined with 
            <emphasis>
            <property>"copyControlLabel"</property>
         </emphasis>, <emphasis>
            <property>"removeControlLabel"</property>
         </emphasis>,
            <emphasis>
            <property>"copyAllControlLabel"</property>
         </emphasis>, <emphasis>
            <property>"removeAllControlLabel"</property>
         </emphasis>attributes.
        </para>
        <para>It is also possible to use
            <emphasis>
                <property>"copyControl" </property>
            </emphasis>, 
            <emphasis>
                <property>"removeControl" </property>
            </emphasis>, 
            <emphasis>
                <property>"copyAllControl" </property>
            </emphasis>, 
            <emphasis>
                <property>"removeAllControl" </property>
            </emphasis> 
          facets in order to replace the default controls with facets content.
        </para>
        <programlisting role="XML"><![CDATA[...
<rich:listShuttle var="item" sourceValue="#{bean.source}" targetValue="#{bean.target}" converter="listShuttleconverter"
                        copyControlLabel="Copy" removeControlLabel="Remove"
                        copyAllControlLabel="Copy all" removeAllControlLabel="Remove all">
        <h:column>
                <f:facet name="header">
                        <h:outputText value="Cars" />
                </f:facet>
                <h:outputText value="#{item.name}" />
        </h:column>
</rich:listShuttle>
...
]]></programlisting>                                                                                                                                                                                                                                                                    
      <!-- The following facets currently do not work-->
        <!--<emphasis>
            <property>&quot;copy_disabled&quot; </property>
            </emphasis>, -->
        <!--<emphasis>
            <property>&quot;remove_disabled&quot; </property>
            </emphasis>, -->
        <!--<emphasis>
            <property>&quot;copyAll_disabled&quot; </property>
            </emphasis>, -->
        <!--<emphasis>
            <property>&quot;removeAll_disabled&quot; </property>
            </emphasis>-->
        
        <para>Controls rendering is based on the <emphasis>
                <property>"controlsType" </property>
            </emphasis> attribute. Possible types are <property>button</property> and
            <property>none</property>.</para>
        <note>
            <para>
                Currently the button controls type is based on <emphasis role="bold">
               <property>&lt;div&gt;</property>
            </emphasis> element.     
            </para>
        </note>
        <para>
            The <emphasis role="bold">
            <property>&lt;rich:listShuttle&gt;</property>
         </emphasis> component allows to use internationalization method 
            to redefine and localize the labels. You could use application resource bundle and define 
            <code>RICH_SHUTTLES_TOP_LABEL</code>,
            <code>RICH_SHUTTLES_BOTTOM_LABEL</code>,
            <code>RICH_SHUTTLES_UP_LABEL</code>,
            <code>RICH_SHUTTLES_DOWN_LABEL</code>                                                                                                                                                                                                                                                                        
         <code>RICH_LIST_SHUTTLE_COPY_ALL_LABEL</code>,
            <code>RICH_LIST_SHUTTLE_COPY_LABEL</code>,
            <code>RICH_LIST_SHUTTLE_REMOVE_ALL_LABEL</code>,
            <code>RICH_LIST_SHUTTLE_REMOVE_LABEL</code>  there.
        </para>
        <para>
            You could also pack <code>org.richfaces.renderkit.listShuttle</code> resource bundle with your JARs defining the same properties.
        </para>
        <!-- template wiil be done in 3.2.0 -->
        <!--para>The <emphasis role="bold">
                <property>&lt;rich:listShuttle&gt;</property>
            </emphasis> component provides the possibility to be customized using templating. The
            customization could be performed by layout definition nested to component.</para>
        <para>10 elements could be provided to be defined inside template (all standard controls
            should also possible to use inside): {sourceList}, {targetList}, {CopyControl},
            {removeCotrol}, {copyAllControl}, {removeAllControl}, {topcontrol}, {bottomControl},
            {downCotrol}, {upControl}.</para>
        <para>The markup defined in the initial picture could be defined as in the following
            example.</para>
        <para>
            <emphasis role="bold">Example:</emphasis>
        </para>
        <programlisting role="XML"><![CDATA[<![CDATA[...
<rich:listShuttle>
...
		<h:panelGrid columns="4">
			<h:outputText value="{sourceList}"/>
			<h:panelGroup>
				<h:outputText value="{copyAllControl}"/>
				<h:outputText value="{copyControl}"/>
				<h:outputText value="{removeControl}"/>
				<h:outputText value="{removeAllControl}"/>
			</h:panelGroup>
			<h:outputText value="targetList"/>
			<h:panelGroup>
				<h:outputText value="{topControl}"/>
				<h:outputText value="{upControl}"/>
				<h:outputText value="{downControl}"/>
				<h:outputText value="{bottomControl}"/>
			</h:panelGroup>
		</h:panelGrid>
	</rich:listShuttle>
...
]]></programlisting-->
        <table>
            <title>Keyboard usage for elements selection</title>
            <tgroup cols="2">
                <thead>
                    <row>
                        <entry>Keys and combinations </entry>
                        <entry>Description</entry>
                    </row>
                </thead>
                <tbody>
                    <!--Sorting API -->
                    <row>
                        <entry>CTRL+click</entry>
                        <entry>Inverts selection for an item</entry>
                    </row>
                    <row>
                        <entry>SHIFT+click</entry>
                        <entry>Selects all rows from active one to a clicked row if they differ,
                            else select the actve row. All other selections are cleared</entry>
                    </row>
                    <row>
                        <entry>CTRL+A</entry>
                        <entry>Selects all elements inside the list if some active element is
                            already present in a list</entry>
                    </row>
                    <row>
                        <entry>Up, Down arrows</entry>
                        <entry>Changes the active element to the next or previous in a list and make
                            it the only selected. Scroll follows the selection to keep it
                            visible</entry>
                    </row>
                </tbody>
            </tgroup>
        </table>
        <table>
            <title>Keyboard usage for elements reordering</title>
            <tgroup cols="2">
                <thead>
                    <row>
                        <entry>Keys and combinations </entry>
                        <entry>Description</entry>
                    </row>
                </thead>
                <tbody>
                    <!--Sorting API -->
                    <row>
                        <entry>Home</entry>
                        <entry>Moves selected set to the top of a list (for target list only)</entry>
                    </row>
                    <row>
                        <entry>End</entry>
                        <entry>Moves selected set to the bottom of a list (for target list only)</entry>
                    </row>
                    <row>
                        <entry>CTRL+Up arrow</entry>
                        <entry>Moves selected item to one position upper</entry>
                    </row>
                    <row>
                        <entry>CTRL+Down arrow</entry>
                        <entry>Moves selected item to one position lower</entry>
                    </row>
                </tbody>
            </tgroup>
        </table>
    </section>
   <section>
      <title>Reference Data</title>
      <para>
         <ulink url="&tlddoc;rich/listShuttle.html">Table of 
							&lt;rich:listShuttle&gt; 
							 attributes</ulink>.
						</para>
      <table>
			      <title>Component Identification Parameters</title>
			      <tgroup cols="2">
				        <thead>
					          <row>
						            <entry>Name</entry>
						            <entry>Value</entry>
					          </row>
				        </thead>
				        <tbody>
					          <row>
						            <entry>component-type</entry>
						            <entry>org.richfaces.ListShuttle</entry>
					          </row>
					          <row>
						            <entry>component-class</entry>
						            <entry>org.richfaces.component.html.HtmlListShuttle</entry>
					          </row>
					          <row>
						            <entry>component-family</entry>
						            <entry>org.richfaces.ListShuttle</entry>
					          </row>
					          <row>
						            <entry>renderer-type</entry>
						            <entry>org.richfaces.ListShuttleRenderer</entry>
					          </row>
					          <row>
						            <entry>tag-class</entry>
						            <entry>org.richfaces.taglib.ListShuttleTag</entry>
					          </row>
				        </tbody>
			      </tgroup>
		    </table>
      <table>
            <title>JavaScript API</title>
            <tgroup cols="2">
                <thead>
                    <row>
                        <entry>Function</entry>
                        <entry>Description</entry>
                    </row>
                </thead>
                <tbody>
                    <!--Sorting API -->
                    <!--
                    <row>
                        <entry>SortAscending()</entry>
                        <entry>Sorts items in the list ascending</entry>
                    </row>
                    <row>
                        <entry>SortDescending()</entry>
                        <entry>Sorts items in the list descending</entry>
                    </row>
                    <row>
                        <entry>Sort()</entry>
                        <entry>Inverts current sorting</entry>
                    </row>
                    -->
                    <!--Controls common API -->
                    <!--row>
                        <entry role="tbi">hide()</entry>
                        <entry role="tbi">Hides ordering control (to be implemented)</entry>
                    </row>
                    <row>
                        <entry role="tbi">show()</entry>
                        <entry role="tbi">Shows ordering control (to be implemented)</entry>
                    </row>
                    <row>
                        <entry role="tbi">isShown()</entry>
                        <entry role="tbi">Checks if current control is shown (to be implemented)</entry>
                    </row-->
                    <row>
                        <entry role="tbi">enable()</entry>
                        <entry role="tbi">Enables ordering control (to be implemented)</entry>
                    </row>
                    <row>
                        <entry role="tbi">disable()</entry>
                        <entry role="tbi">Disables ordering control (to be implemented)</entry>
                    </row>
                    <row>
                        <entry role="tbi">isEnabled()</entry>
                        <entry role="tbi">Checks if current control is enabled (to be implemented)</entry>
                    </row>
                    <!--List managing API -->
                    <row>
                        <entry>up()</entry>
                        <entry>Moves up selected item in the list</entry>
                    </row>
                    <row>
                        <entry>down()</entry>
                        <entry>Moves down selected item in the list</entry>
                    </row>
                    <row>
                        <entry>top()</entry>
                        <entry>Moves top selected item in the list</entry>
                    </row>
                    <row>
                        <entry>bottom()</entry>
                        <entry>Moves bottom selected item in the list</entry>
                    </row>
                    <row>
                        <entry>copy()</entry>
                        <entry>Copies selected item from the source list to the target list</entry>
                    </row>
                    <row>
                        <entry>remove()</entry>
                        <entry>Removes selected item from the target list to the source list</entry>
                    </row>
                    <row>
                        <entry>copyAll()</entry>
                        <entry>Copies all items from the source list to the target list</entry>
                    </row>
                    <row>
                        <entry>removeAll()</entry>
                        <entry>Removes all items from the target list to the source list </entry>
                    </row>
                    <row>
                        <entry role="tbi">getSelection()</entry>
                        <entry role="tbi">Returns currently selected item (to be implemented)</entry>
                    </row>
                    <row>
                        <entry role="tbi">getItems()</entry>
                        <entry role="tbi">Returns the collection of all items (to be implemented)</entry>
                    </row>
                </tbody>
            </tgroup>
        </table>
      <table>
            <title>Facets</title>
            <tgroup cols="2">
                <thead>
                    <row>
                        <entry>Facet</entry>
                        <entry>Description</entry>
                    </row>
                </thead>                
                <tbody>
                    <row>
                        <entry>copyAllControl</entry>
                        <entry>Redefines the label content for the "copyAll" control. Related attribute is "copyAllControlLabel"</entry>
                    </row>
                    <row>
                        <entry>removeAllControl</entry>
                        <entry>Redefines the label content for the "removeAll" control. Related attribute is "removeAllControlLabel"</entry>
                    </row>
                    <row>
                        <entry>copyControl</entry>
                        <entry>Redefines the label content for the "copy" control. Related attribute is "copyControlLabel"</entry>
                    </row>
                    <row>
                        <entry>removeControl</entry>
                        <entry>Redefines the label content for the "remove" control. Related attribute is "removeControlLabel"</entry>
                    </row>
                    <row>
                        <entry>copyAllControlDisabled</entry>
                        <entry>Redefines the disabled label content for the "copyAll" control</entry>
                    </row>
                    <row>
                        <entry>removeAllControlDisabled</entry>
                        <entry>Redefines the disabled label content for the "removeAll" control</entry>
                    </row>
                    <row>
                        <entry>caption</entry>
                        <entry>Redefines the caption control</entry>
                    </row>
					          <row>
						            <entry>sourceCaption</entry>
						            <entry>Defines source list caption representation text. Related attribute is "sourceCaptionLabel"</entry>
					          </row>
					          <row>
						            <entry>targetCaption</entry>
						            <entry>Defines source list target representation text. Related attribute is "targetCaptionLabel"</entry>
					          </row>
                </tbody>
            </tgroup>
        </table>
      <table id="CN">
            <title>Classes names that define a list representation</title>
            <tgroup cols="2">
                <thead>
                    <row>
                        <entry>Class name</entry>
                        <entry>Description</entry>
                    </row>
                </thead>
                <tbody>
                    <row>
                        <entry>rich-list-shuttle</entry>
                        <entry>Defines styles for a wrapper table element of a listShuttle</entry>
                    </row>
                    <row>
                        <entry>rich-list-shuttle-caption</entry>
                        <entry>Defines styles for a list caption</entry>
                    </row>
                    <row>
                        <entry>rich-shuttle-body</entry>
                        <entry>Defines styles for a list body</entry>
                    </row>
                    <row>
                        <entry>rich-shuttle-list-content</entry>
                        <entry>Defines styles for a list content</entry>
                    </row>
                    <row>
                        <entry>rich-shuttle-source-items</entry>
                        <entry>Defines styles for a wrapper &lt;div&gt; element for source list</entry>
                    </row>
                    <row>
                        <entry>rich-shuttle-target-items</entry>
                        <entry>Defines styles for a wrapper &lt;div&gt; element for target list</entry>
                    </row>
                    <row>
                        <entry>rich-shuttle-list-header</entry>
                        <entry>Defines styles for a lists header</entry>
                    </row>
                    <row>
                        <entry>rich-shuttle-header-tab-cell</entry>
                        <entry>Defines styles for a header cell</entry>
                    </row>
                </tbody>
            </tgroup>
        </table>
      <table>
            <title>Classes names that define a caption representations in a source and target lists</title>
            <tgroup cols="2">
                <thead>
                    <row>
                        <entry>Class name</entry>
                        <entry>Description</entry>
                    </row>
                </thead>
                <tbody>
                    <row>
                        <entry>rich-shuttle-source-caption</entry>
                        <entry>Defines styles for a caption in a source list</entry>
                    </row>
                    <row>
                        <entry>rich-shuttle-target-caption</entry>
                        <entry>Defines styles for a caption in a target list</entry>
                    </row>
                </tbody>
            </tgroup>
        </table>
      <table>
            <title>Classes names that define a rows representations in a source list</title>
            <tgroup cols="2">
                <thead>
                    <row>
                        <entry>Class name</entry>
                        <entry>Description</entry>
                    </row>
                </thead>
                <tbody>
                    <row>
                        <entry>rich-shuttle-source-row</entry>
                        <entry>Defines styles for a row in a source list</entry>
                    </row>
                    <row>
                        <entry>rich-shuttle-source-row-selected</entry>
                        <entry>Defines styles for a selected row in a source list</entry>
                    </row>
                    <row>
                        <entry>rich-shuttle-source-row-active</entry>
                        <entry>Defines styles for an active row in a source list</entry>
                    </row>
                </tbody>
            </tgroup>
        </table>
      <table>
            <title>Classes names that define a rows representations in a target list</title>
            <tgroup cols="2">
                <thead>
                    <row>
                        <entry>Class name</entry>
                        <entry>Description</entry>
                    </row>
                </thead>
                <tbody>
                    <row>
                        <entry>rich-shuttle-target-row</entry>
                        <entry>Defines styles for a row in a target list</entry>
                    </row>
                    <row>
                        <entry>rich-shuttle-target-row-selected</entry>
                        <entry>Defines styles for a selected row in a target list</entry>
                    </row>
                    <row>
                        <entry>rich-shuttle-target-row-active</entry>
                        <entry>Defines styles for an active row in a target list</entry>
                    </row>
                </tbody>
            </tgroup>
        </table>
      <table>
            <title>Classes names that define a cells representations in a source list</title>
            <tgroup cols="2">
                <thead>
                    <row>
                        <entry>Class name</entry>
                        <entry>Description</entry>
                    </row>
                </thead>
                <tbody>
                    <row>
                        <entry>rich-shuttle-source-cell</entry>
                        <entry>Defines styles for a cell in a source list</entry>
                    </row>
                    <row>
                        <entry>rich-shuttle-source-cell-selected</entry>
                        <entry>Defines styles for a selected cell in a source list</entry>
                    </row>
                    <row>
                        <entry>rich-shuttle-source-cell-active</entry>
                        <entry>Defines styles for an active cell in a source list</entry>
                    </row>
                </tbody>
            </tgroup>
        </table>
      <table>
            <title>Classes names that define a cells representations in a target list</title>
            <tgroup cols="2">
                <thead>
                    <row>
                        <entry>Class name</entry>
                        <entry>Description</entry>
                    </row>
                </thead>
                <tbody>
                    <row>
                        <entry>rich-shuttle-target-cell</entry>
                        <entry>Defines styles for a cell in a target list</entry>
                    </row>
                    <row>
                        <entry>rich-shuttle-target-cell-selected</entry>
                        <entry>Defines styles for a selected cell in a target list</entry>
                    </row>
                    <row>
                        <entry>rich-shuttle-target-cell-active</entry>
                        <entry>Defines styles for an active cell in a target list</entry>
                    </row>
                </tbody>
            </tgroup>
        </table>
      <table>
            <title>Classes names that define controls representations</title>
            <tgroup cols="2">
                <thead>
                    <row>
                        <entry>Class name</entry>
                        <entry>Description</entry>
                    </row>
                </thead>
                <tbody>
                    <row>
                        <entry>rich-shuttle-controls</entry>
                        <entry>Defines styles for a controls group</entry>
                    </row>
                    <row>
                        <entry>rich-shuttle-top</entry>
                        <entry>Defines styles for a "Top" control</entry>
                    </row>
                    <row>
                        <entry>rich-shuttle-bottom</entry>
                        <entry>Defines styles for a "Bottom" control</entry>
                    </row>
                    <row>
                        <entry>rich-shuttle-up</entry>
                        <entry>Defines styles for a "Up" control</entry>
                    </row>
                    <row>
                        <entry>rich-shuttle-down</entry>
                        <entry>Defines styles for a "Down" control</entry>
                    </row>

                    <row>
                        <entry>rich-shuttle-copy</entry>
                        <entry>Defines styles for a "Copy" control</entry>
                    </row>

                    <row>
                        <entry>rich-shuttle-remove</entry>
                        <entry>Defines styles for a "Remove" control</entry>
                    </row>

                    <row>
                        <entry>rich-shuttle-copyAll</entry>
                        <entry>Defines styles for a "copyAll" control</entry>
                    </row>
                    <row>
                        <entry>rich-shuttle-removeAll</entry>
                        <entry>Defines styles for a "removeAll" control</entry>
                    </row>
                    <row>
                        <entry>rich-shuttle-control-disabled</entry>
                        <entry>Defines styles for a control in a disabled state</entry>
                    </row>
                </tbody>
            </tgroup>
        </table>
      <table>
            <title>Classes names that define a button representation</title>
            <tgroup cols="2">
                <thead>
                    <row>
                        <entry>Class name</entry>
                        <entry>Description</entry>
                    </row>
                </thead>
                <tbody>
                    <row>
                        <entry>rich-list-shuttle-button</entry>
                        <entry>Defines styles for a button</entry>
                    </row>
                    <row>
                        <entry>rich-list-shuttle-button-disabled</entry>
                        <entry>Defines styles for a disabled button</entry>
                    </row>
                    <row>
                        <entry>rich-list-shuttle-button-light</entry>
                        <entry>Defines styles for a button highlight</entry>
                    </row>
                    <row>
                        <entry>rich-list-shuttle-button-press</entry>
                        <entry>Defines styles for a pressed button</entry>
                    </row>
                    <row>
                        <entry>rich-list-shuttle-button-content</entry>
                        <entry>Defines styles for a button content</entry>
                    </row>
                    <row>
                        <entry>rich-list-shuttle-button-selection</entry>
                        <entry>Defines styles for a button selection</entry>
                    </row>
                </tbody>
            </tgroup>
        </table>
							You can find all necessary information about style classes redefinition in 
						<link linkend="customstyles">Definition of Custom Style Classes</link> 
							section.
						</section>
   <section>
        <title>Relevant Resources Links</title>
        <para>
         <ulink url="http://livedemo.exadel.com/richfaces-demo/richfaces/listShuttle.jsf?c=listShuttle">On RichFaces LiveDemo page </ulink> you can see an example of <emphasis role="bold">
                <property>&lt;rich:listShuttle&gt;</property>
            </emphasis> usage and sources for the given example. </para>
    </section>
</section>