<?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/>
	    <yesbutton/>
	    <cancelbutton/>
	    <helpbutton/>
	    <nobutton xlabel="~Alternate"/>
	</dialogbuttonhbox>
	<fixedline text="GNOME"/>
	<dialogbuttonhbox border="5" spacing="5" ordering="gnome">
	    <flow/>
	    <yesbutton/>
	    <cancelbutton/>
	    <helpbutton/>
	    <nobutton xlabel="~Alternate"/>
	</dialogbuttonhbox>
	<fixedline text="KDE"/>
	<dialogbuttonhbox border="5" spacing="5" ordering="kde">
	    <flow/>
	    <yesbutton/>
	    <cancelbutton/>
	    <helpbutton/>
	    <nobutton xlabel="~Alternate"/>
	</dialogbuttonhbox>
	<fixedline text="MacOS"/>
	<dialogbuttonhbox border="5" spacing="5" ordering="macos">
	    <flow/>
	    <yesbutton/>
	    <cancelbutton/>
	    <helpbutton/>
	    <nobutton xlabel="~Alternate"/>
	</dialogbuttonhbox>
	<fixedline text="Windows"/>
	<dialogbuttonhbox border="5" spacing="5" ordering="windows">
	    <flow/>
	    <yesbutton/>
	    <cancelbutton/>
	    <helpbutton/>
	    <nobutton xlabel="~Alternate"/>
	</dialogbuttonhbox>
    </vbox>
</modaldialog>
