<?xml version="1.0" encoding="iso-8859-1" standalone="yes" ?>
<!--
    Licensed to the Apache Software Foundation (ASF) under one
    or more contributor license agreements.  See the NOTICE file
    distributed with this work for additional information
    regarding copyright ownership.  The ASF licenses this file
    to you 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.
	   
-->
<jsp:root xmlns:jsp="http://java.sun.com/JSP/Page" version="2.0"
          xmlns:f="http://java.sun.com/jsf/core"
          xmlns:tr="http://myfaces.apache.org/trinidad" >
  <jsp:directive.page contentType="text/html;charset=utf-8"/>
  <f:view>
    <tr:document 
      title="Explicit AddFacetChange/RemoveFacetChange Persistence Feature Demo">
        <tr:form>

          <tr:panelPage id="pp1" >
            <f:facet name="navigation1">
              <tr:navigationPane hint="tabs">
                <tr:commandNavigationItem text="tab 1"/>
                <tr:commandNavigationItem text="tab 2" selected="true" />
                <tr:commandNavigationItem text="tab 3"/>
                <tr:commandNavigationItem text="tab 4"/>
                <tr:commandNavigationItem text="tab 5"/>
                <tr:commandNavigationItem text="tab 6" disabled="true" />
              </tr:navigationPane>
            </f:facet>
            <f:facet name="navigation2">
              <tr:navigationPane hint="bar">
                <tr:commandNavigationItem text="item 1" selected="true" />
                <tr:commandNavigationItem text="item 2" disabled="true" />
                <tr:commandNavigationItem text="item 3"/>
                <tr:commandNavigationItem text="item 4"/>
              </tr:navigationPane>
            </f:facet>
            <f:facet name="navigation3">
              <tr:navigationPane hint="list">
                <tr:commandNavigationItem text="item 1" selected="true" />
                <tr:commandNavigationItem text="item 2" disabled="true" />
                <tr:commandNavigationItem text="item 3"/>
                <tr:commandNavigationItem text="item 4"/>
              </tr:navigationPane>
            </f:facet>
            <f:facet name="navigationGlobal">
              <tr:navigationPane hint="buttons">
                <tr:commandNavigationItem 
                  text="Return to Change Persistence demo index page"
                  immediate="true"
                  action="demos.changePersistence"/>
                <tr:commandNavigationItem 
                  text="help"
                  icon="/components/images/globalhelp.gif"/>
                <tr:commandNavigationItem 
                  text="help more"
                  icon="/components/images/globalhelp.gif"/>
              </tr:navigationPane>
            </f:facet>
            <f:facet name="location">
              <tr:breadCrumbs>
                <tr:commandNavigationItem text="item 1"/>
                <tr:commandNavigationItem text="item 2"/>
                <tr:commandNavigationItem text="item 3"/>
                <tr:commandNavigationItem text="item 4"/>
              </tr:breadCrumbs>
            </f:facet>
            <f:facet name="appCopyright">
              <tr:outputText value="copyright facet"/>
            </f:facet>
            <f:facet name="appPrivacy">
              <tr:commandLink text="privacy facet"/>
            </f:facet>
            <f:facet name="appAbout">
              <tr:commandLink text="about facet"/>
            </f:facet>
          <tr:panelHeader
            text="Explicit AddFacetChange/RemoveFacetChange Persistence Feature Demo">
            <tr:panelGroupLayout layout="vertical">
              <f:facet name="separator">
                <tr:separator/>
              </f:facet>
              <tr:commandButton 
                text="navigation1: Remove facet for menu tabs" 
                actionListener="#{change.removeFacets}"/>
              <tr:commandButton 
                text="navigation2: Remove facet for menu bar" 
                actionListener="#{change.removeFacets}"/>
              <tr:commandButton 
                text="navigation3: Remove facet for menu list" 
                actionListener="#{change.removeFacets}"/>
              <tr:commandButton 
                text="location: Remove facet for menu path" 
                actionListener="#{change.removeFacets}"/>
              <tr:commandButton 
                text="appCopyright_appPrivacy_appAbout: Remove facets for 'copyright', 'privacy', 'about' information" 
                actionListener="#{change.removeFacets}"/>
              <tr:commandButton 
                text="Add facet for application branding" 
                actionListener="#{change.addFacet}"/>
            </tr:panelGroupLayout>
           </tr:panelHeader>
          </tr:panelPage>

       </tr:form>
    </tr:document>
  </f:view>
</jsp:root>
