<?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.
 *
 ***********************************************************-->
<oor:component-data xmlns:oor="http://openoffice.org/2001/registry" xmlns:xs="http://www.w3.org/2001/XMLSchema" oor:name="Addons" oor:package="org.openoffice.Office">
    <node oor:name="AddonUI">
        <node oor:name="OfficeToolBar">
            <node oor:name="com.sun.star.comp.framework.addon.complextoolbarcontrols" oor:op="replace">
                <prop oor:name="Title" oor:type="xs:string">
                    <value xml:lang="en-US">Complex Toolbar Controls</value>
                </prop>
                <node oor:name="ToolBarItems">
                    <node oor:name="m1" oor:op="replace">
                        <prop oor:name="URL" oor:type="xs:string">
                            <value>vnd.demo.complextoolbarcontrols.demoaddon:ImageButtonCmd</value>
                        </prop>
                        <prop oor:name="Title" oor:type="xs:string">
                            <value xml:lang="en-US">Image Button</value>
                        </prop>
                        <prop oor:name="Target" oor:type="xs:string">
                            <value>_self</value>
                        </prop>
                        <prop oor:name="Context" oor:type="xs:string">
                            <value>com.sun.star.text.TextDocument,com.sun.star.sheet.SpreadsheetDocument</value>
                        </prop>
                        <prop oor:name="ControlType" oor:type="xs:string">
                            <value>ImageButton</value>
                        </prop>
                    </node>
                    <node oor:name="m2" oor:op="replace">
                        <prop oor:name="URL" oor:type="xs:string">
                            <value>vnd.demo.complextoolbarcontrols.demoaddon:ComboboxCmd</value>
                        </prop>
                        <prop oor:name="Title" oor:type="xs:string">
                            <value xml:lang="en-US">ComboBox</value>
                        </prop>
                        <prop oor:name="Target" oor:type="xs:string">
                            <value>_self</value>
                        </prop>
                        <prop oor:name="Context" oor:type="xs:string">
                            <value>com.sun.star.text.TextDocument,com.sun.star.sheet.SpreadsheetDocument</value>
                        </prop>
                        <prop oor:name="ControlType" oor:type="xs:string">
                            <value>Combobox</value>
                        </prop>
                        <prop oor:name="Width" oor:type="xs:long">
                            <value>200</value>
                        </prop>
                    </node>
                    <node oor:name="m3" oor:op="replace">
                        <prop oor:name="URL" oor:type="xs:string">
                            <value>private:separator</value>
                        </prop>
                    </node>
                    <node oor:name="m4" oor:op="replace">
                        <prop oor:name="URL" oor:type="xs:string">
                            <value>vnd.demo.complextoolbarcontrols.demoaddon:SpinfieldCmd</value>
                        </prop>
                        <prop oor:name="Title" oor:type="xs:string">
                            <value xml:lang="en-US">Spinfield</value>
                        </prop>
                        <prop oor:name="Target" oor:type="xs:string">
                            <value>_self</value>
                        </prop>
                        <prop oor:name="Context" oor:type="xs:string">
                            <value>com.sun.star.text.TextDocument,com.sun.star.sheet.SpreadsheetDocument</value>
                        </prop>
                        <prop oor:name="ControlType" oor:type="xs:string">
                            <value>Spinfield</value>
                        </prop>
                        <prop oor:name="Width" oor:type="xs:long">
                            <value>70</value>
                        </prop>
                    </node>
                    <node oor:name="m5" oor:op="replace">
                        <prop oor:name="URL" oor:type="xs:string">
                            <value>private:separator</value>
                        </prop>
                    </node>
                    <node oor:name="m6" oor:op="replace">
                        <prop oor:name="URL" oor:type="xs:string">
                            <value>vnd.demo.complextoolbarcontrols.demoaddon:EditfieldCmd</value>
                        </prop>
                        <prop oor:name="Title" oor:type="xs:string">
                            <value xml:lang="en-US">Editfield</value>
                        </prop>
                        <prop oor:name="Target" oor:type="xs:string">
                            <value>_self</value>
                        </prop>
                        <prop oor:name="Context" oor:type="xs:string">
                            <value>com.sun.star.text.TextDocument,com.sun.star.sheet.SpreadsheetDocument</value>
                        </prop>
                        <prop oor:name="ControlType" oor:type="xs:string">
                            <value>Editfield</value>
                        </prop>
                        <prop oor:name="Width" oor:type="xs:long">
                            <value>130</value>
                        </prop>
                    </node>
                    <node oor:name="m7" oor:op="replace">
                        <prop oor:name="URL" oor:type="xs:string">
                            <value>private:separator</value>
                        </prop>
                    </node>
                    <node oor:name="m8" oor:op="replace">
                        <prop oor:name="URL" oor:type="xs:string">
                            <value>vnd.demo.complextoolbarcontrols.demoaddon:DropdownboxCmd</value>
                        </prop>
                        <prop oor:name="Title" oor:type="xs:string">
                            <value xml:lang="en-US">Dropdownbox</value>
                        </prop>
                        <prop oor:name="Target" oor:type="xs:string">
                            <value>_self</value>
                        </prop>
                        <prop oor:name="Context" oor:type="xs:string">
                            <value>com.sun.star.text.TextDocument,com.sun.star.sheet.SpreadsheetDocument</value>
                        </prop>
                        <prop oor:name="ControlType" oor:type="xs:string">
                            <value>Dropdownbox</value>
                        </prop>
                        <prop oor:name="Width" oor:type="xs:long">
                            <value>80</value>
                        </prop>
                    </node>
                    <node oor:name="m9" oor:op="replace">
                        <prop oor:name="URL" oor:type="xs:string">
                            <value>vnd.demo.complextoolbarcontrols.demoaddon:ToggleDropdownButtonCmd</value>
                        </prop>
                        <prop oor:name="Title" oor:type="xs:string">
                            <value xml:lang="en-US">Toggle Dropdown Button</value>
                        </prop>
                        <prop oor:name="Target" oor:type="xs:string">
                            <value>_self</value>
                        </prop>
                        <prop oor:name="Context" oor:type="xs:string">
                            <value>com.sun.star.text.TextDocument,com.sun.star.sheet.SpreadsheetDocument</value>
                        </prop>
                        <prop oor:name="ControlType" oor:type="xs:string">
                            <value>ToggleDropdownButton</value>
                        </prop>
                    </node>
                    <node oor:name="m10" oor:op="replace">
                        <prop oor:name="URL" oor:type="xs:string">
                            <value>vnd.demo.complextoolbarcontrols.demoaddon:DropdownButtonCmd</value>
                        </prop>
                        <prop oor:name="Title" oor:type="xs:string">
                            <value xml:lang="en-US">Dropdown Button</value>
                        </prop>
                        <prop oor:name="Target" oor:type="xs:string">
                            <value>_self</value>
                        </prop>
                        <prop oor:name="Context" oor:type="xs:string">
                            <value>com.sun.star.text.TextDocument,com.sun.star.sheet.SpreadsheetDocument</value>
                        </prop>
                        <prop oor:name="ControlType" oor:type="xs:string">
                            <value>DropdownButton</value>
                        </prop>
                    </node>
                </node>
            </node>
        </node>
        <node oor:name="Images">
            <node oor:name="vnd.demo.complextoolbarcontrols.image1" oor:op="replace">
                <prop oor:name="URL">
                    <value>vnd.demo.complextoolbarcontrols.demoaddon:ImageButtonCmd</value>
                </prop>
                <node oor:name="UserDefinedImages">
                    <prop oor:name="ImageSmallURL" oor:type="xs:string">
                        <value>%origin%/logo_small.png</value>
                    </prop>
                    <prop oor:name="ImageBigURL" oor:type="xs:string">
                        <value>%origin%/logo_big.png</value>
                    </prop>
                </node>
            </node>
        </node>
    </node>
</oor:component-data>
