[Libreoffice-commits] core.git: framework/source include/framework odk/examples odk/Package_examples.mk officecfg/registry

Stephan Bergmann sbergman at redhat.com
Wed Jul 24 07:37:16 PDT 2013


 framework/source/fwe/classes/addonsoptions.cxx                                      |   75 --
 framework/source/layoutmanager/toolbarlayoutmanager.cxx                             |   15 
 include/framework/addonsoptions.hxx                                                 |    7 
 odk/Package_examples.mk                                                             |    2 
 odk/examples/DevelopersGuide/Components/Addons/ProtocolHandlerAddon_cpp/Addons.xcu  |   75 +-
 odk/examples/DevelopersGuide/Components/Addons/ProtocolHandlerAddon_java/Addons.xcu |   75 +-
 odk/examples/DevelopersGuide/Extensions/DialogWithHelp/Addons.xcu                   |  107 +--
 odk/examples/cpp/complextoolbarcontrols/Addons.xcu                                  |  295 ++++------
 odk/examples/cpp/complextoolbarcontrols/CalcWindowState.xcu                         |   38 +
 odk/examples/cpp/complextoolbarcontrols/Makefile                                    |    8 
 odk/examples/cpp/complextoolbarcontrols/WriterWindowState.xcu                       |   38 +
 odk/examples/java/Inspector/Addons.xcu                                              |   31 -
 officecfg/registry/schema/org/openoffice/Office/Addons.xcs                          |   16 
 13 files changed, 376 insertions(+), 406 deletions(-)

New commits:
commit 189bb791d248273758bd2b42e0ec216937fa22d9
Author: Stephan Bergmann <sbergman at redhat.com>
Date:   Wed Jul 24 16:35:33 2013 +0200

    fdo#66691: Revert fix for i#121577 Allow setting toolbar name in Addons.xcu
    
    ...which incompatibly changed Addons.xcs and breaks extensions (and LibreLogo,
    which adds to Addons.xcu even though it is not an extension).  See the mail
    thread starting at
    <http://lists.freedesktop.org/archives/libreoffice/2013-July/054612.html>
    "[Libreoffice-commits] core.git: #i121577# Allow setting toolbar name in
    Addons.xcu" for details.
    
    This reverts commit 85f072ef33ef47b5e3e0bcd51acb5c4179cde2c2
    "Resolves: #i121577# Allow setting toolbar name in Addons.xcu" plus follow-up
    af572d9fbb744c9691abe465815d7927a9d11510 "Related: #i121577# Allow setting
    toolbar name in Addons.xcu," f13f9b5cc5267a7a5606b1a89db91b6d7aef5f9c "various
    .xcus are gone now," and 37d9921797a3ad3be8257fbfee11326549fcd987
    "odk/examples/python/toolpanel/CalcWindowState.xcu is still in use," plus those
    parts of f97ca6f65182efc6542c53ac5e973b3ff398a5d1 "Resolves: #i116455# Make
    toolbar style settings persistent" that apparently belong to the fix for
    i#121577 rather than i#116455.
    
    Change-Id: Ib744566f3d8da7d9008d7dad8bec60f1bf32e743

diff --git a/framework/source/fwe/classes/addonsoptions.cxx b/framework/source/fwe/classes/addonsoptions.cxx
index 6bbb176..7141a72 100644
--- a/framework/source/fwe/classes/addonsoptions.cxx
+++ b/framework/source/fwe/classes/addonsoptions.cxx
@@ -50,10 +50,8 @@ using namespace ::com::sun::star::beans ;
 using namespace ::com::sun::star::lang  ;
 using namespace ::com::sun::star;
 
-#define STR_TOOLBARITEMS    "ToolBarItems"
 #define ROOTNODE_ADDONMENU                              OUString("Office.Addons" )
 #define PATHDELIMITER                                   OUString("/"             )
-#define TOOLBARITEMS                                    OUString(STR_TOOLBARITEMS)
 #define SEPARATOR_URL_STR                               "private:separator"
 #define SEPARATOR_URL                                   OUString( SEPARATOR_URL_STR )
 
@@ -65,7 +63,6 @@ using namespace ::com::sun::star;
 #define PROPERTYNAME_SUBMENU                            ADDONSMENUITEM_PROPERTYNAME_SUBMENU
 #define PROPERTYNAME_CONTROLTYPE                        ADDONSMENUITEM_PROPERTYNAME_CONTROLTYPE
 #define PROPERTYNAME_WIDTH                              ADDONSMENUITEM_PROPERTYNAME_WIDTH
-#define PROPERTYNAME_TOOLBARITEMS                       TOOLBARITEMS
 
 #define PROPERTYNAME_ALIGN                              STATUSBARITEM_PROPERTYNAME_ALIGN
 #define PROPERTYNAME_AUTOSIZE                           STATUSBARITEM_PROPERTYNAME_AUTOSIZE
@@ -96,7 +93,7 @@ using namespace ::com::sun::star;
 #define PROPERTYNAME_MERGETOOLBAR_MERGECOMMANDPARAMETER OUString("MergeCommandParameter" )
 #define PROPERTYNAME_MERGETOOLBAR_MERGEFALLBACK         OUString("MergeFallback" )
 #define PROPERTYNAME_MERGETOOLBAR_MERGECONTEXT          OUString("MergeContext" )
-#define PROPERTYNAME_MERGETOOLBAR_TOOLBARITEMS          OUString(STR_TOOLBARITEMS)
+#define PROPERTYNAME_MERGETOOLBAR_TOOLBARITEMS          OUString("ToolBarItems" )
 
 #define PROPERTYNAME_MERGESTATUSBAR_MERGEPOINT               ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("MergePoint" ))
 #define PROPERTYNAME_MERGESTATUSBAR_MERGECOMMAND             ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("MergeCommand" ))
@@ -117,8 +114,7 @@ using namespace ::com::sun::star;
 #define INDEX_ALIGN             8
 #define INDEX_AUTOSIZE          9
 #define INDEX_OWNERDRAW         10
-#define INDEX_TOOLBARITEMS      11
-#define PROPERTYCOUNT_INDEX     12
+#define PROPERTYCOUNT_INDEX     11
 
 // The following order is mandatory. Please add properties at the end!
 #define PROPERTYCOUNT_MENUITEM                          6
@@ -137,11 +133,6 @@ using namespace ::com::sun::star;
 #define OFFSET_POPUPMENU_URL                            3   // Used for property set
 
 // The following order is mandatory. Please add properties at the end!
-#define PROPERTYCOUNT_TOOLBAR                           2
-#define OFFSET_TOOLBAR_TITLE                            0
-#define OFFSET_TOOLBAR_TOOLBARITEMS                     1
-
-// The following order is mandatory. Please add properties at the end!
 #define PROPERTYCOUNT_TOOLBARITEM                       7
 #define OFFSET_TOOLBARITEM_URL                          0
 #define OFFSET_TOOLBARITEM_TITLE                        1
@@ -284,7 +275,6 @@ class AddonsOptions_Impl : public ConfigItem
         const Sequence< Sequence< PropertyValue > >&    GetAddonsMenuBarPart () const ;
         const Sequence< Sequence< PropertyValue > >&    GetAddonsToolBarPart ( sal_uInt32 nIndex ) const ;
         const OUString                           GetAddonsToolbarResourceName( sal_uInt32 nIndex ) const;
-        const OUString                           GetAddonsToolbarUIName( sal_uInt32 nIndex ) const;
         const Sequence< Sequence< PropertyValue > >&    GetAddonsHelpMenu    () const ;
         Image                                           GetImageFromURL( const OUString& aURL, sal_Bool bBig, sal_Bool bNoScale );
         const MergeMenuInstructionContainer&            GetMergeMenuInstructions() const;
@@ -337,9 +327,7 @@ class AddonsOptions_Impl : public ConfigItem
 
         sal_Bool             ReadAddonMenuSet( Sequence< Sequence< PropertyValue > >& aAddonMenuSeq );
         sal_Bool             ReadOfficeMenuBarSet( Sequence< Sequence< PropertyValue > >& aAddonOfficeMenuBarSeq );
-        sal_Bool             ReadOfficeToolBarSet( AddonToolBars& rAddonOfficeToolBars,
-                                                   std::vector< OUString >& rAddonOfficeToolBarResNames,
-                                                   std::vector< OUString >& rAddonOfficeToolBarUINames );
+        sal_Bool             ReadOfficeToolBarSet( AddonToolBars& rAddonOfficeToolBars, std::vector< OUString >& rAddonOfficeToolBarResNames );
         sal_Bool             ReadToolBarItemSet( const OUString rToolBarItemSetNodeName, Sequence< Sequence< PropertyValue > >& aAddonOfficeToolBarSeq );
         sal_Bool             ReadOfficeHelpSet( Sequence< Sequence< PropertyValue > >& aAddonOfficeHelpMenuSeq );
         void                 ReadImages( ImageManager& aImageManager );
@@ -368,7 +356,6 @@ class AddonsOptions_Impl : public ConfigItem
 
         Sequence< OUString > GetPropertyNamesMenuItem( const OUString& aPropertyRootNode ) const;
         Sequence< OUString > GetPropertyNamesPopupMenu( const OUString& aPropertyRootNode ) const;
-        Sequence< OUString > GetPropertyNamesToolBar( const OUString& aPropertyRootNode ) const;
         Sequence< OUString > GetPropertyNamesToolBarItem( const OUString& aPropertyRootNode ) const;
         Sequence< OUString > GetPropertyNamesStatusbarItem( const ::rtl::OUString& aPropertyRootNode ) const;
         Sequence< OUString > GetPropertyNamesImages( const OUString& aPropertyRootNode ) const;
@@ -396,7 +383,6 @@ class AddonsOptions_Impl : public ConfigItem
         Sequence< Sequence< PropertyValue > >             m_aCachedMenuBarPartProperties;
         AddonToolBars                                     m_aCachedToolBarPartProperties;
         std::vector< OUString >                      m_aCachedToolBarPartResourceNames;
-        std::vector< OUString >                      m_aCachedToolBarPartUINames;
         Sequence< Sequence< PropertyValue > >             m_aCachedHelpMenuProperties;
         Reference< util::XMacroExpander >                 m_xMacroExpander;
         ImageManager                                      m_aImageManager;
@@ -438,7 +424,6 @@ AddonsOptions_Impl::AddonsOptions_Impl()
     m_aPropNames[ INDEX_ALIGN           ] = PROPERTYNAME_ALIGN;
     m_aPropNames[ INDEX_AUTOSIZE        ] = PROPERTYNAME_AUTOSIZE;
     m_aPropNames[ INDEX_OWNERDRAW       ] = PROPERTYNAME_OWNERDRAW;
-    m_aPropNames[ INDEX_TOOLBARITEMS    ] = PROPERTYNAME_TOOLBARITEMS;
 
     // initialize array with fixed images property names
     m_aPropImagesNames[ OFFSET_IMAGES_SMALL         ] = PROPERTYNAME_IMAGESMALL;
@@ -506,14 +491,11 @@ void AddonsOptions_Impl::ReadConfigurationData()
     m_aCachedToolBarPartProperties = AddonToolBars();
     m_aCachedHelpMenuProperties = Sequence< Sequence< PropertyValue > >();
     m_aCachedToolBarPartResourceNames.clear();
-    m_aCachedToolBarPartUINames.clear();
     m_aImageManager = ImageManager();
 
     ReadAddonMenuSet( m_aCachedMenuProperties );
     ReadOfficeMenuBarSet( m_aCachedMenuBarPartProperties );
-    ReadOfficeToolBarSet( m_aCachedToolBarPartProperties,
-                          m_aCachedToolBarPartResourceNames,
-                          m_aCachedToolBarPartUINames );
+    ReadOfficeToolBarSet( m_aCachedToolBarPartProperties, m_aCachedToolBarPartResourceNames );
 
     ReadOfficeHelpSet( m_aCachedHelpMenuProperties );
     ReadImages( m_aImageManager );
@@ -597,15 +579,6 @@ const OUString AddonsOptions_Impl::GetAddonsToolbarResourceName( sal_uInt32 nInd
         return OUString();
 }
 
-
-const ::rtl::OUString AddonsOptions_Impl::GetAddonsToolbarUIName( sal_uInt32 nIndex ) const
-{
-    if ( nIndex < m_aCachedToolBarPartUINames.size() )
-        return m_aCachedToolBarPartUINames[nIndex];
-    else
-        return rtl::OUString();
-}
-
 //*****************************************************************************************************************
 //  public method
 //*****************************************************************************************************************
@@ -843,10 +816,7 @@ sal_Bool AddonsOptions_Impl::ReadOfficeMenuBarSet( Sequence< Sequence< PropertyV
 //*****************************************************************************************************************
 //  private method
 //*****************************************************************************************************************
-sal_Bool AddonsOptions_Impl::ReadOfficeToolBarSet(
-    AddonToolBars& rAddonOfficeToolBars,
-    std::vector< OUString >& rAddonOfficeToolBarResNames,
-    std::vector< OUString >& rAddonOfficeToolBarUINames )
+sal_Bool AddonsOptions_Impl::ReadOfficeToolBarSet( AddonToolBars& rAddonOfficeToolBars, std::vector< OUString >& rAddonOfficeToolBarResNames )
 {
     // Read the OfficeToolBar set and fill property sequences
     OUString             aAddonToolBarNodeName( "AddonUI/OfficeToolBar" );
@@ -857,24 +827,10 @@ sal_Bool AddonsOptions_Impl::ReadOfficeToolBarSet(
 
     for ( sal_uInt32 n = 0; n < nCount; n++ )
     {
-        OUString aToolBarNode( aAddonToolBarNode + aAddonToolBarNodeSeq[n] + m_aPathDelimiter );
+        OUString aToolBarItemNode( aAddonToolBarNode + aAddonToolBarNodeSeq[n] );
         rAddonOfficeToolBarResNames.push_back( aAddonToolBarNodeSeq[n] );
         rAddonOfficeToolBars.push_back( m_aEmptyAddonToolBar );
-
-        Sequence< Any > aToolBarNodeValues = GetProperties( GetPropertyNamesToolBar( aToolBarNode ) );
-
-        rtl::OUString aUIName;
-        aToolBarNodeValues[OFFSET_TOOLBAR_TITLE] >>= aUIName;
-        rAddonOfficeToolBarUINames.push_back( aUIName );
-
-        Reference < XInterface > xToolbarItems;
-        if ( ( aToolBarNodeValues[OFFSET_TOOLBAR_TOOLBARITEMS] >>= xToolbarItems ) && xToolbarItems.is() )
-        {
-            ::rtl::OUStringBuffer aBuffer;
-            aBuffer.append( aToolBarNode );
-            aBuffer.appendAscii( RTL_CONSTASCII_STRINGPARAM( STR_TOOLBARITEMS ) );
-            ReadToolBarItemSet( aBuffer.makeStringAndClear(), rAddonOfficeToolBars[n] );
-        }
+        ReadToolBarItemSet( aToolBarItemNode, rAddonOfficeToolBars[n] );
     }
 
     return ( !rAddonOfficeToolBars.empty() );
@@ -1750,17 +1706,6 @@ Sequence< OUString > AddonsOptions_Impl::GetPropertyNamesPopupMenu( const OUStri
 //*****************************************************************************************************************
 //  private method
 //*****************************************************************************************************************
-Sequence< OUString > AddonsOptions_Impl::GetPropertyNamesToolBar( const OUString& aPropertyRootNode ) const
-{
-    Sequence< ::rtl::OUString > lResult( PROPERTYCOUNT_TOOLBAR );
-
-    // Create property names dependent from the root node name
-    lResult[OFFSET_TOOLBAR_TITLE]        = ::rtl::OUString( aPropertyRootNode + m_aPropNames[ INDEX_TITLE ] );
-    lResult[OFFSET_TOOLBAR_TOOLBARITEMS] = ::rtl::OUString( aPropertyRootNode + m_aPropNames[ INDEX_TOOLBARITEMS ] );
-
-    return lResult;
-}
-
 Sequence< OUString > AddonsOptions_Impl::GetPropertyNamesToolBarItem( const OUString& aPropertyRootNode ) const
 {
     Sequence< OUString > lResult( PROPERTYCOUNT_TOOLBARITEM );
@@ -1910,12 +1855,6 @@ const OUString AddonsOptions::GetAddonsToolbarResourceName( sal_uInt32 nIndex )
     return m_pDataContainer->GetAddonsToolbarResourceName( nIndex );
 }
 
-const ::rtl::OUString AddonsOptions::GetAddonsToolbarUIName( sal_uInt32 nIndex ) const
-{
-    MutexGuard aGuard( GetOwnStaticMutex() );
-    return m_pDataContainer->GetAddonsToolbarUIName( nIndex );
-}
-
 //*****************************************************************************************************************
 //  public method
 //*****************************************************************************************************************
diff --git a/framework/source/layoutmanager/toolbarlayoutmanager.cxx b/framework/source/layoutmanager/toolbarlayoutmanager.cxx
index 4abdbc9..13dfb80 100644
--- a/framework/source/layoutmanager/toolbarlayoutmanager.cxx
+++ b/framework/source/layoutmanager/toolbarlayoutmanager.cxx
@@ -1040,10 +1040,7 @@ void ToolbarLayoutManager::implts_createAddonsToolBars()
                     }
                 }
 
-                OUString aAddonUIName = m_pAddonOptions->GetAddonsToolbarUIName( i );
-                const bool bAddonUIName = aAddonUIName.getLength();
-                OUString aAddonTitle = bAddonUIName ?
-                    aAddonUIName : implts_generateGenericAddonToolbarTitle( i+1 );
+                OUString aGenericAddonTitle = implts_generateGenericAddonToolbarTitle( i+1 );
 
                 if ( !aElement.m_aName.isEmpty() )
                 {
@@ -1051,9 +1048,9 @@ void ToolbarLayoutManager::implts_createAddonsToolBars()
                     // UI changes for this document.
                     implts_setElementData( aElement, xDockWindow );
                     aElement.m_xUIElement = xUIElement;
-                    if ( aElement.m_aUIName.isEmpty() && !bAddonUIName)
+                    if ( aElement.m_aUIName.isEmpty() )
                     {
-                        aElement.m_aUIName = aAddonTitle;
+                        aElement.m_aUIName = aGenericAddonTitle;
                         implts_writeWindowStateData( aElement );
                     }
                 }
@@ -1064,9 +1061,9 @@ void ToolbarLayoutManager::implts_createAddonsToolBars()
                     aNewToolbar.m_bFloating = true;
                     implts_readWindowStateData( aAddonToolBarName, aNewToolbar );
                     implts_setElementData( aNewToolbar, xDockWindow );
-                    if ( aNewToolbar.m_aUIName.isEmpty() && !bAddonUIName)
+                    if ( aNewToolbar.m_aUIName.isEmpty() )
                     {
-                        aNewToolbar.m_aUIName = aAddonTitle;
+                        aNewToolbar.m_aUIName = aGenericAddonTitle;
                         implts_writeWindowStateData( aNewToolbar );
                     }
                     implts_insertToolbar( aNewToolbar );
@@ -1079,7 +1076,7 @@ void ToolbarLayoutManager::implts_createAddonsToolBars()
                     SolarMutexGuard aGuard;
                     Window* pWindow = VCLUnoHelper::GetWindow( xWindow );
                     if ( pWindow->GetText().isEmpty() )
-                        pWindow->SetText( aAddonTitle );
+                        pWindow->SetText( aGenericAddonTitle );
                     if ( pWindow->GetType() == WINDOW_TOOLBOX )
                     {
                         ToolBox* pToolbar = (ToolBox *)pWindow;
diff --git a/include/framework/addonsoptions.hxx b/include/framework/addonsoptions.hxx
index b441aea..0a926b8 100644
--- a/include/framework/addonsoptions.hxx
+++ b/include/framework/addonsoptions.hxx
@@ -282,13 +282,6 @@ class FWE_DLLPUBLIC AddonsOptions
         *//*-*****************************************************************************************************/
         bool GetMergeToolbarInstructions( const OUString& rToolbarName, MergeToolbarInstructionContainer& rToolbar ) const;
 
-        /**
-         *  @short      Gets the UI name of a single addon toolbar
-         *  @return     The UI name of the toolbar as specified in the Addons.xcu configuration
-         *  @onerror    Returns an empty string
-         */
-        const ::rtl::OUString GetAddonsToolbarUIName( sal_uInt32 nIndex ) const;
-
         /*-****************************************************************************************************//**
             @short      Gets the Add-On help menu part of all addon components registered
             @descr      -
diff --git a/odk/Package_examples.mk b/odk/Package_examples.mk
index 90c2dd7..0c8a705 100644
--- a/odk/Package_examples.mk
+++ b/odk/Package_examples.mk
@@ -397,6 +397,7 @@ $(eval $(call gb_Package_add_files_with_dir,odk_examples,$(gb_Package_SDKDIRNAME
     cpp/DocumentLoader/test.odt \
     cpp/complextoolbarcontrols/Addons.xcu \
     cpp/complextoolbarcontrols/CalcListener.cxx \
+    cpp/complextoolbarcontrols/CalcWindowState.xcu \
     cpp/complextoolbarcontrols/Jobs.xcu \
     cpp/complextoolbarcontrols/ListenerHelper.cxx \
     cpp/complextoolbarcontrols/ListenerHelper.h \
@@ -409,6 +410,7 @@ $(eval $(call gb_Package_add_files_with_dir,odk_examples,$(gb_Package_SDKDIRNAME
     cpp/complextoolbarcontrols/MyProtocolHandler.h \
     cpp/complextoolbarcontrols/ProtocolHandler.xcu \
     cpp/complextoolbarcontrols/WriterListener.cxx \
+    cpp/complextoolbarcontrols/WriterWindowState.xcu \
     cpp/complextoolbarcontrols/exports.cxx \
     cpp/complextoolbarcontrols/logo_big.png \
     cpp/complextoolbarcontrols/logo_small.png \
diff --git a/odk/examples/DevelopersGuide/Components/Addons/ProtocolHandlerAddon_cpp/Addons.xcu b/odk/examples/DevelopersGuide/Components/Addons/ProtocolHandlerAddon_cpp/Addons.xcu
index f8cf12b..a6a1985 100644
--- a/odk/examples/DevelopersGuide/Components/Addons/ProtocolHandlerAddon_cpp/Addons.xcu
+++ b/odk/examples/DevelopersGuide/Components/Addons/ProtocolHandlerAddon_cpp/Addons.xcu
@@ -136,46 +136,41 @@
         </node>
         <node oor:name="OfficeToolBar">
             <node oor:name="org.openoffice.Office.addon.example" oor:op="replace">
-                <prop oor:name="Title" oor:type="xs:string">
-                    <value xml:lang="en-US">Cpp Addon Example</value>
-                </prop>
-                <node oor:name="ToolBarItems">
-                    <node oor:name="m1" oor:op="replace">
-                        <prop oor:name="URL" oor:type="xs:string">
-                            <value>org.openoffice.Office.addon.example:Function1</value>
-                        </prop>
-                        <prop oor:name="ImageIdentifier" oor:type="xs:string">
-                            <value/>
-                        </prop>
-                        <prop oor:name="Title" oor:type="xs:string">
-                            <value/>
-                            <value xml:lang="en-US">Function 1</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</value>
-                        </prop>
-                    </node>
-                    <node oor:name="m2" oor:op="replace">
-                        <prop oor:name="URL" oor:type="xs:string">
-                            <value>org.openoffice.Office.addon.example:Function2</value>
-                        </prop>
-                        <prop oor:name="ImageIdentifier" oor:type="xs:string">
-                            <value/>
-                        </prop>
-                        <prop oor:name="Title" oor:type="xs:string">
-                            <value/>
-                            <value xml:lang="en-US">Function 2</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</value>
-                        </prop>
-                    </node>
+                <node oor:name="m1" oor:op="replace">
+                    <prop oor:name="URL" oor:type="xs:string">
+                        <value>org.openoffice.Office.addon.example:Function1</value>
+                    </prop>
+                    <prop oor:name="ImageIdentifier" oor:type="xs:string">
+                        <value/>
+                    </prop>
+                    <prop oor:name="Title" oor:type="xs:string">
+                        <value/>
+                        <value xml:lang="en-US">Function 1</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</value>
+                    </prop>
+                </node>
+                <node oor:name="m2" oor:op="replace">
+                    <prop oor:name="URL" oor:type="xs:string">
+                        <value>org.openoffice.Office.addon.example:Function2</value>
+                    </prop>
+                    <prop oor:name="ImageIdentifier" oor:type="xs:string">
+                        <value/>
+                    </prop>
+                    <prop oor:name="Title" oor:type="xs:string">
+                        <value/>
+                        <value xml:lang="en-US">Function 2</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</value>
+                    </prop>
                 </node>
             </node>
         </node>
diff --git a/odk/examples/DevelopersGuide/Components/Addons/ProtocolHandlerAddon_java/Addons.xcu b/odk/examples/DevelopersGuide/Components/Addons/ProtocolHandlerAddon_java/Addons.xcu
index 32ec0f0..5eefadb 100644
--- a/odk/examples/DevelopersGuide/Components/Addons/ProtocolHandlerAddon_java/Addons.xcu
+++ b/odk/examples/DevelopersGuide/Components/Addons/ProtocolHandlerAddon_java/Addons.xcu
@@ -136,46 +136,41 @@
         </node>
         <node oor:name="OfficeToolBar">
             <node oor:name="org.openoffice.Office.addon.example" oor:op="replace">
-                <prop oor:name="Title" oor:type="xs:string">
-                    <value xml:lang="en-US">Java Addon Example</value>
-                </prop>
-                <node oor:name="ToolBarItems">
-                    <node oor:name="m1" oor:op="replace">
-                        <prop oor:name="URL" oor:type="xs:string">
-                            <value>org.openoffice.Office.addon.example:Function1</value>
-                        </prop>
-                        <prop oor:name="ImageIdentifier" oor:type="xs:string">
-                            <value/>
-                        </prop>
-                        <prop oor:name="Title" oor:type="xs:string">
-                            <value/>
-                            <value xml:lang="en-US">Function 1</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</value>
-                        </prop>
-                    </node>
-                    <node oor:name="m2" oor:op="replace">
-                        <prop oor:name="URL" oor:type="xs:string">
-                            <value>org.openoffice.Office.addon.example:Function2</value>
-                        </prop>
-                        <prop oor:name="ImageIdentifier" oor:type="xs:string">
-                            <value/>
-                        </prop>
-                        <prop oor:name="Title" oor:type="xs:string">
-                            <value/>
-                            <value xml:lang="en-US">Function 2</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</value>
-                        </prop>
-                    </node>
+                <node oor:name="m1" oor:op="replace">
+                    <prop oor:name="URL" oor:type="xs:string">
+                        <value>org.openoffice.Office.addon.example:Function1</value>
+                    </prop>
+                    <prop oor:name="ImageIdentifier" oor:type="xs:string">
+                        <value/>
+                    </prop>
+                    <prop oor:name="Title" oor:type="xs:string">
+                        <value/>
+                        <value xml:lang="en-US">Function 1</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</value>
+                    </prop>
+                </node>
+                <node oor:name="m2" oor:op="replace">
+                    <prop oor:name="URL" oor:type="xs:string">
+                        <value>org.openoffice.Office.addon.example:Function2</value>
+                    </prop>
+                    <prop oor:name="ImageIdentifier" oor:type="xs:string">
+                        <value/>
+                    </prop>
+                    <prop oor:name="Title" oor:type="xs:string">
+                        <value/>
+                        <value xml:lang="en-US">Function 2</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</value>
+                    </prop>
                 </node>
             </node>
         </node>
diff --git a/odk/examples/DevelopersGuide/Extensions/DialogWithHelp/Addons.xcu b/odk/examples/DevelopersGuide/Extensions/DialogWithHelp/Addons.xcu
index a31753d..89136e9 100644
--- a/odk/examples/DevelopersGuide/Extensions/DialogWithHelp/Addons.xcu
+++ b/odk/examples/DevelopersGuide/Extensions/DialogWithHelp/Addons.xcu
@@ -17,63 +17,58 @@
  *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
 -->
 <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="OfficeMenuBar">
-            <node oor:name="com.foocorp.foo-ext:Menu" oor:op="replace">
-                <prop oor:name="Title" oor:type="xs:string">
-                    <value/>
-                    <value xml:lang="en">Foo E~xtension</value>
-                </prop>
-                <prop oor:name="Target" oor:type="xs:string">
-                    <value>_self</value>
-                </prop>
-                <prop oor:name="ImageIdentifier" oor:type="xs:string">
-                    <value/>
-                </prop>
-                <node oor:name="Submenu">
-                    <node oor:name="m1" oor:op="replace">
-                        <prop oor:name="URL" oor:type="xs:string">
-                            <value>vnd.sun.star.script:DialogWithHelp.Module1.main?language=Basic&location=application</value>
-                        </prop>
-                        <prop oor:name="ImageIdentifier" oor:type="xs:string">
-                            <value/>
-                        </prop>
-                        <prop oor:name="Target" oor:type="xs:string">
-                            <value>_self</value>
-                        </prop>
-                        <prop oor:name="Title" oor:type="xs:string">
-                            <value/>
-                            <value xml:lang="en">Start Foo Dialog...</value>
-                        </prop>
-                    </node>
-                    <node oor:name="m3" oor:op="replace">
-                    </node>
-                </node>
-            </node>
+  <node oor:name="AddonUI">
+    <node oor:name="OfficeMenuBar">
+      <node oor:name="com.foocorp.foo-ext:Menu" oor:op="replace">
+        <prop oor:name="Title" oor:type="xs:string">
+          <value/>
+          <value xml:lang="en">Foo E~xtension</value>
+        </prop>
+        <prop oor:name="Target" oor:type="xs:string">
+          <value>_self</value>
+        </prop>
+        <prop oor:name="ImageIdentifier" oor:type="xs:string">
+          <value/>
+        </prop>
+        <node oor:name="Submenu">
+          <node oor:name="m1" oor:op="replace">
+            <prop oor:name="URL" oor:type="xs:string">
+              <value>vnd.sun.star.script:DialogWithHelp.Module1.main?language=Basic&location=application</value>
+            </prop>
+            <prop oor:name="ImageIdentifier" oor:type="xs:string">
+              <value/>
+            </prop>
+            <prop oor:name="Target" oor:type="xs:string">
+              <value>_self</value>
+            </prop>
+            <prop oor:name="Title" oor:type="xs:string">
+              <value/>
+              <value xml:lang="en">Start Foo Dialog...</value>
+            </prop>
+          </node>
+          <node oor:name="m3" oor:op="replace">
+          </node>
         </node>
-        <node oor:name="OfficeToolBar">
-            <node oor:name="com.foocorp.foo-ext:ToolbarItem1" oor:op="replace">
-                <prop oor:name="Title" oor:type="xs:string">
-                    <value xml:lang="en-US">Foo Toolbar</value>
-                </prop>
-                <node oor:name="ToolBarItems">
-                    <node oor:name="m1" oor:op="replace">
-                        <prop oor:name="URL">
-                            <value>vnd.sun.star.script:DialogWithHelp.Module1.main?language=Basic&location=application</value>
-                        </prop>
-                        <prop oor:name="Title">
-                            <value xml:lang="en-US">Foo Toolbar Item</value>
-                            <value xml:lang="de">Foo Toolbar Eintrag</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</value>
-                        </prop>
-                    </node>
-                </node>
-            </node>
+      </node>
+    </node>
+    <node oor:name="OfficeToolBar">
+      <node oor:name="com.foocorp.foo-ext:ToolbarItem1" oor:op="replace">
+        <node oor:name="m1" oor:op="replace">
+          <prop oor:name="URL">
+            <value>vnd.sun.star.script:DialogWithHelp.Module1.main?language=Basic&location=application</value>
+          </prop>
+          <prop oor:name="Title">
+            <value xml:lang="en-US">Foo Toolbar Item</value>
+            <value xml:lang="de">Foo Toolbar Eintrag</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</value>
+          </prop>
         </node>
+      </node>
     </node>
+  </node>
 </oor:component-data>
diff --git a/odk/examples/cpp/complextoolbarcontrols/Addons.xcu b/odk/examples/cpp/complextoolbarcontrols/Addons.xcu
index e4edf15..ce9aa26 100644
--- a/odk/examples/cpp/complextoolbarcontrols/Addons.xcu
+++ b/odk/examples/cpp/complextoolbarcontrols/Addons.xcu
@@ -20,156 +20,151 @@
     <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 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>
diff --git a/odk/examples/cpp/complextoolbarcontrols/CalcWindowState.xcu b/odk/examples/cpp/complextoolbarcontrols/CalcWindowState.xcu
new file mode 100644
index 0000000..4d9f71c
--- /dev/null
+++ b/odk/examples/cpp/complextoolbarcontrols/CalcWindowState.xcu
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ *   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 .
+-->
+<oor:component-data xmlns:oor="http://openoffice.org/2001/registry" xmlns:xs="http://www.w3.org/2001/XMLSchema" oor:name="CalcWindowState" oor:package="org.openoffice.Office.UI">
+ <node oor:name="UIElements">
+  <node oor:name="States">
+   <node oor:name="private:resource/toolbar/addon_com.sun.star.comp.framework.addon.complextoolbarcontrols" oor:op="replace">
+    <prop oor:name="ContextSensitive" oor:type="xs:boolean">
+     <value>false</value>
+    </prop>
+    <prop oor:name="UIName" oor:type="xs:string">
+     <value xml:lang="en-US">Complex Toolbar Controls</value>
+    </prop>
+    <prop oor:name="Visible" oor:type="xs:boolean">
+     <value>true</value>
+    </prop>
+    <prop oor:name="Docked" oor:type="xs:boolean">
+     <value>false</value>
+    </prop>
+   </node>
+  </node>
+ </node>
+</oor:component-data>
\ No newline at end of file
diff --git a/odk/examples/cpp/complextoolbarcontrols/Makefile b/odk/examples/cpp/complextoolbarcontrols/Makefile
index 0cc9f51..a8f1a18 100644
--- a/odk/examples/cpp/complextoolbarcontrols/Makefile
+++ b/odk/examples/cpp/complextoolbarcontrols/Makefile
@@ -104,6 +104,10 @@ $(OUT_COMP_GEN)/%/manifest.xml :
 	@echo $(SQM)  $(SQM)$(OSEP)manifest:file-entry manifest:media-type="$(QM)application/vnd.sun.star.configuration-data$(QM)" >> $@
 	@echo $(SQM)                       $(SQM)manifest:full-path="$(QM)Addons.xcu$(QM)"/$(CSEP) >> $@
 	@echo $(SQM)  $(SQM)$(OSEP)manifest:file-entry manifest:media-type="$(QM)application/vnd.sun.star.configuration-data$(QM)" >> $@
+	@echo $(SQM)                       $(SQM)manifest:full-path="$(QM)WriterWindowState.xcu$(QM)"/$(CSEP) >> $@
+	@echo $(SQM)  $(SQM)$(OSEP)manifest:file-entry manifest:meda-type="$(QM)application/vnd.sun.star.configuration-data$(QM)" >> $@
+	@echo $(SQM)                       $(SQM)manifest:full-path="$(QM)CalcWindowState.xcu$(QM)"/$(CSEP) >> $@
+	@echo $(SQM)  $(SQM)$(OSEP)manifest:file-entry manifest:media-type="$(QM)application/vnd.sun.star.configuration-data$(QM)" >> $@
 	@echo $(SQM)                       $(SQM)manifest:full-path="$(QM)ProtocolHandler.xcu$(QM)"/$(CSEP) >> $@
 	@echo $(SQM)  $(SQM)$(OSEP)manifest:file-entry manifest:media-type="$(QM)application/vnd.sun.star.uno-components;platform=$(UNOPKG_PLATFORM)$(QM)">> $@
 	@echo $(SQM)                       $(SQM)manifest:full-path="$(QM)$(COMP_NAME).components$(QM)"/$(CSEP)>> $@
@@ -127,13 +131,13 @@ $(COMP_COMPONENTS) :
 	@echo $(OSEP)/components$(CSEP) >> $@
 
 # rule for component package file
-$(COMP_PACKAGE) : $(SHAREDLIB_OUT)/$(COMP_IMPL_NAME) Addons.xcu ProtocolHandler.xcu $(COMP_UNOPKG_MANIFEST) $(COMP_COMPONENTS)
+$(COMP_PACKAGE) : $(SHAREDLIB_OUT)/$(COMP_IMPL_NAME) Addons.xcu ProtocolHandler.xcu WriterWindowState.xcu CalcWindowState.xcu $(COMP_UNOPKG_MANIFEST) $(COMP_COMPONENTS)
 	-$(MKDIR) $(subst /,$(PS),$(@D)) && $(DEL) $(subst \\,\,$(subst /,$(PS),$@))
 	-$(MKDIR) $(subst /,$(PS),$(OUT_COMP_GEN)/$(UNOPKG_PLATFORM))
 	$(COPY) $(subst /,$(PS),$<) $(subst /,$(PS),$(OUT_COMP_GEN)/$(UNOPKG_PLATFORM))
 	cd $(subst /,$(PS),$(OUT_COMP_GEN)) && $(SDK_ZIP) -u ../../bin/$(@F) $(COMP_NAME).components
 	cd $(subst /,$(PS),$(OUT_COMP_GEN)) && $(SDK_ZIP) -u ../../bin/$(@F) $(UNOPKG_PLATFORM)/$(<F)
-	$(SDK_ZIP) -u $@ Addons.xcu ProtocolHandler.xcu logo_small.png logo_big.png
+	$(SDK_ZIP) -u $@ Addons.xcu ProtocolHandler.xcu WriterWindowState.xcu CalcWindowState.xcu logo_small.png logo_big.png
 	cd $(subst /,$(PS),$(OUT_COMP_GEN)/$(subst .$(UNOOXT_EXT),,$(@F))) && $(SDK_ZIP) -u ../../../bin/$(@F) META-INF/manifest.xml
 
 $(COMP_REGISTERFLAG) : $(COMP_PACKAGE)
diff --git a/odk/examples/cpp/complextoolbarcontrols/WriterWindowState.xcu b/odk/examples/cpp/complextoolbarcontrols/WriterWindowState.xcu
new file mode 100644
index 0000000..e590f65
--- /dev/null
+++ b/odk/examples/cpp/complextoolbarcontrols/WriterWindowState.xcu
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ *   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 .
+-->
+<oor:component-data xmlns:oor="http://openoffice.org/2001/registry" xmlns:xs="http://www.w3.org/2001/XMLSchema" oor:name="WriterWindowState" oor:package="org.openoffice.Office.UI">
+ <node oor:name="UIElements">
+  <node oor:name="States">
+   <node oor:name="private:resource/toolbar/addon_com.sun.star.comp.framework.addon.complextoolbarcontrols" oor:op="replace">
+    <prop oor:name="ContextSensitive" oor:type="xs:boolean">
+     <value>false</value>
+    </prop>
+    <prop oor:name="UIName" oor:type="xs:string">
+     <value xml:lang="en-US">Complex Toolbar Controls</value>
+    </prop>
+    <prop oor:name="Visible" oor:type="xs:boolean">
+     <value>true</value>
+    </prop>
+    <prop oor:name="Docked" oor:type="xs:boolean">
+     <value>false</value>
+    </prop>
+   </node>
+  </node>
+ </node>
+</oor:component-data>
\ No newline at end of file
diff --git a/odk/examples/java/Inspector/Addons.xcu b/odk/examples/java/Inspector/Addons.xcu
index d35cc0e..2ea6abd 100644
--- a/odk/examples/java/Inspector/Addons.xcu
+++ b/odk/examples/java/Inspector/Addons.xcu
@@ -20,24 +20,19 @@
     <node oor:name="AddonUI">
         <node oor:name="OfficeToolBar">
             <node oor:name="org.openoffice.Office.addon.Inspector" oor:op="replace">
-                <prop oor:name="Title" oor:type="xs:string">
-                    <value xml:lang="en-US">Object Inspector</value>
-                </prop>
-                <node oor:name="ToolBarItems">
-                    <node oor:name="toolBar_Inspector" oor:op="replace">
-                        <prop oor:name="URL" oor:type="xs:string">
-                            <value>org.openoffice.Office.addon.Inspector:inspect</value>
-                        </prop>
-                        <prop oor:name="Title" oor:type="xs:string">
-                            <value xml:lang="en-US">Object Inspector</value>
-                        </prop>
-                        <prop oor:name="Target" oor:type="xs:string">
-                            <value>_self</value>
-                        </prop>
-                        <prop oor:name="Context" oor:type="xs:string">
-                            <value></value>
-                        </prop>
-                    </node>
+                <node oor:name="toolBar_Inspector" oor:op="replace">
+                    <prop oor:name="URL" oor:type="xs:string">
+                        <value>org.openoffice.Office.addon.Inspector:inspect</value>
+                    </prop>
+                    <prop oor:name="Title" oor:type="xs:string">
+                        <value xml:lang="en-US">Object Inspector</value>
+                    </prop>
+                    <prop oor:name="Target" oor:type="xs:string">
+                        <value>_self</value>
+                    </prop>
+                    <prop oor:name="Context" oor:type="xs:string">
+                          <value></value>
+                    </prop>
                 </node>
             </node>
         </node>
diff --git a/officecfg/registry/schema/org/openoffice/Office/Addons.xcs b/officecfg/registry/schema/org/openoffice/Office/Addons.xcs
index 90d33d4..ee78884 100644
--- a/officecfg/registry/schema/org/openoffice/Office/Addons.xcs
+++ b/officecfg/registry/schema/org/openoffice/Office/Addons.xcs
@@ -152,22 +152,6 @@
         </info>
       </set>
     </group>
-    <group oor:name="ToolBar">
-      <info>
-        <desc>Contains the structure of a toolbar.</desc>
-      </info>
-      <prop oor:name="Title" oor:type="xs:string" oor:localized="true">
-        <info>
-          <desc>A localized string used as the toolbar title.</desc>
-        </info>
-        <value></value>
-      </prop>
-      <set oor:name="ToolBarItems" oor:node-type="ToolBarItem">
-        <info>
-          <desc>Contains a list of sets of toolbar items that are part of add-on toolbars.</desc>
-        </info>
-      </set>
-    </group>
     <group oor:name="ToolBarItem">
       <info>
         <desc>Describes a toolbar item representing a function of of an external component. The name must be unique and should be written using a package-scheme like org.openoffice.external.applicationexecuter to minimize name clashes.</desc>


More information about the Libreoffice-commits mailing list