<?xml version="1.0" encoding="UTF-8"?>
<!--
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.
-->

<screens xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xmlns="http://ofbiz.apache.org/Widget-Screen" xsi:schemaLocation="http://ofbiz.apache.org/Widget-Screen http://ofbiz.apache.org/dtds/widget-screen.xsd">
    
    <screen name="OpenTerminal">
        <section>
            <actions>
                <set field="titleProperty" value="WebPosPageTitleOpenTerminal"/>
                <set field="headerItem" value="Manager"/>
            </actions>
            <widgets>
                <container>
                    <platform-specific><html><html-template location="component://webpos/template/manager/OpenTerminal.ftl"/></html></platform-specific>
                </container>
            </widgets>
        </section>
    </screen>
    
    <screen name="CloseTerminal">
        <section>
            <actions>
                <set field="titleProperty" value="WebPosPageTitleCloseTerminal"/>
                <set field="headerItem" value="Manager"/>
            </actions>
            <widgets>
                <container>
                    <platform-specific><html><html-template location="component://webpos/template/manager/CloseTerminal.ftl"/></html></platform-specific>
                </container>
            </widgets>
        </section>
    </screen>
    
    <screen name="PaidOutAndIn">
        <section>
            <actions>
                <set field="titleProperty" value="WebPosPageTitlePaidOutAndIn"/>
                <set field="headerItem" value="PaidOutAndIn"/>
                <script location="component://webpos/groovyScripts/manager/PaidOutAndIn.groovy"/>
            </actions>
            <widgets>
                <container>
                    <platform-specific><html><html-template location="component://webpos/template/manager/PaidOutAndIn.ftl"/></html></platform-specific>
                </container>
            </widgets>
        </section>
    </screen>
    
    <screen name="VoidOrder">
        <section>
            <actions>
                <set field="titleProperty" value="WebPosPageTitleVoidOrder"/>
                <set field="headerItem" value="VoidOrder"/>
            </actions>
            <widgets>
                <container>
                    <platform-specific><html><html-template location="component://webpos/template/manager/VoidOrder.ftl"/></html></platform-specific>
                </container>
            </widgets>
        </section>
    </screen>
</screens>
