<?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.
 *
 ***********************************************************-->

<modaldialog xmlns="http://openoffice.org/2007/layout"
             xmlns:cnt="http://openoffice.org/2007/layout/container"
             id="dialog" title="Dialog Button Ordering" optimumsize="true"
             has_border="true" sizeable="true" moveable="true">
    <vbox border="5" spacing="5">
	<fixedline text="Platform default"/>
	<dialogbuttonhbox border="5" spacing="5">
	    <flow/>
	    <okbutton/>
	    <cancelbutton/>
	    <helpbutton/>
	    <nobutton label="~Alternate"/>
	    <resetbutton/>
	</dialogbuttonhbox>
	<fixedline text="GNOME"/>
	<dialogbuttonhbox border="5" spacing="5" ordering="gnome">
	    <flow/>
	    <okbutton/>
	    <cancelbutton/>
	    <helpbutton/>
	    <nobutton label="~Alternate"/>
	    <resetbutton/>
	</dialogbuttonhbox>
	<fixedline text="KDE"/>
	<dialogbuttonhbox border="5" spacing="5" ordering="kde">
	    <flow/>
	    <okbutton/>
	    <cancelbutton/>
	    <helpbutton/>
	    <nobutton label="~Alternate"/>
	    <resetbutton/>
	</dialogbuttonhbox>
	<fixedline text="MacOS"/>
	<dialogbuttonhbox border="5" spacing="5" ordering="macos">
	    <flow/>
	    <okbutton/>
	    <cancelbutton/>
	    <helpbutton/>
	    <nobutton label="~Alternate"/>
	    <resetbutton/>
	</dialogbuttonhbox>
	<fixedline text="Windows"/>
	<dialogbuttonhbox border="5" spacing="5" ordering="windows">
	    <flow/>
	    <okbutton/>
	    <cancelbutton/>
	    <helpbutton/>
	    <nobutton label="~Alternate"/>
	    <resetbutton/>
	</dialogbuttonhbox>
    </vbox>
</modaldialog>
