Author: af
Date: Mon Dec 10 09:35:08 2012
New Revision: 1419288

URL: http://svn.apache.org/viewvc?rev=1419288&view=rev
Log:
i121420: Added UNO interface and service descriptions.
         Added configuration schems.
         Added initial implementation of EventMultiplexer.


Added:
    openoffice/branches/sidebar/main/framework/inc/services/EventMultiplexer.hxx
    
openoffice/branches/sidebar/main/framework/source/services/EventMultiplexer.cxx
    
openoffice/branches/sidebar/main/offapi/com/sun/star/ui/ContextChangeEventMultiplexer.idl
    
openoffice/branches/sidebar/main/offapi/com/sun/star/ui/ContextChangeEventObject.idl
    
openoffice/branches/sidebar/main/offapi/com/sun/star/ui/XVerticalStackLayoutElement.idl
    
openoffice/branches/sidebar/main/offapi/com/sun/star/util/EventMultiplexer.idl
    openoffice/branches/sidebar/main/offapi/com/sun/star/util/XEventListener.idl
    
openoffice/branches/sidebar/main/offapi/com/sun/star/util/XEventMultiplexer.idl
    
openoffice/branches/sidebar/main/officecfg/registry/schema/org/openoffice/Office/UI/Sidebar.xcs
Modified:
    openoffice/branches/sidebar/main/framework/Library_fwk.mk
    openoffice/branches/sidebar/main/framework/inc/macros/registration.hxx
    
openoffice/branches/sidebar/main/framework/source/register/registerservices.cxx
    openoffice/branches/sidebar/main/framework/util/fwk.component
    openoffice/branches/sidebar/main/offapi/com/sun/star/ui/makefile.mk
    openoffice/branches/sidebar/main/offapi/com/sun/star/util/makefile.mk
    
openoffice/branches/sidebar/main/officecfg/registry/schema/org/openoffice/Office/UI/makefile.mk
    openoffice/branches/sidebar/main/sd/source/ui/func/futext.cxx

Modified: openoffice/branches/sidebar/main/framework/Library_fwk.mk
URL: 
http://svn.apache.org/viewvc/openoffice/branches/sidebar/main/framework/Library_fwk.mk?rev=1419288&r1=1419287&r2=1419288&view=diff
==============================================================================
--- openoffice/branches/sidebar/main/framework/Library_fwk.mk (original)
+++ openoffice/branches/sidebar/main/framework/Library_fwk.mk Mon Dec 10 
09:35:08 2012
@@ -116,6 +116,7 @@ $(eval $(call gb_Library_add_exception_o
        framework/source/services/backingcomp \
        framework/source/services/backingwindow \
        framework/source/services/desktop \
+       framework/source/services/EventMultiplexer \
        framework/source/services/frame \
        framework/source/services/modelwinservice \
        framework/source/services/modulemanager \

Modified: openoffice/branches/sidebar/main/framework/inc/macros/registration.hxx
URL: 
http://svn.apache.org/viewvc/openoffice/branches/sidebar/main/framework/inc/macros/registration.hxx?rev=1419288&r1=1419287&r2=1419288&view=diff
==============================================================================
--- openoffice/branches/sidebar/main/framework/inc/macros/registration.hxx 
(original)
+++ openoffice/branches/sidebar/main/framework/inc/macros/registration.hxx Mon 
Dec 10 09:35:08 2012
@@ -102,7 +102,7 @@ ________________________________________
                {                                                               
                                                                                
                                                                                
                                \
                        LOG_REGISTRATION_GETFACTORY( "\t\tpImplementationName 
and pServiceManager are valid ...\n" )                                          
                  \
                        /* Define variables which are used in following macros. 
*/                                                                              
                                                        \
-                       ::com::sun::star::uno::Reference< 
::com::sun::star::lang::XSingleServiceFactory >       xFactory                  
      ;                                       \
+                       ::com::sun::star::uno::Reference< 
::com::sun::star::uno::XInterface >   xFactory                        ;         
                              \
                        ::com::sun::star::uno::Reference< 
::com::sun::star::lang::XMultiServiceFactory >        xServiceManager         ; 
                                      \
                        xServiceManager = reinterpret_cast< 
::com::sun::star::lang::XMultiServiceFactory* >( pServiceManager )  ;           
                            \
                        /* These parameter will expand to      */               
                                                                                
                                                                        \

Added: 
openoffice/branches/sidebar/main/framework/inc/services/EventMultiplexer.hxx
URL: 
http://svn.apache.org/viewvc/openoffice/branches/sidebar/main/framework/inc/services/EventMultiplexer.hxx?rev=1419288&view=auto
==============================================================================
--- 
openoffice/branches/sidebar/main/framework/inc/services/EventMultiplexer.hxx 
(added)
+++ 
openoffice/branches/sidebar/main/framework/inc/services/EventMultiplexer.hxx 
Mon Dec 10 09:35:08 2012
@@ -0,0 +1,122 @@
+/**************************************************************
+ * 
+ * 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.
+ * 
+ *************************************************************/
+
+
+
+#ifndef __FRAMEWORK_SERVICES_EVENT_MULTIPLEXER_HXX_
+#define __FRAMEWORK_SERVICES_EVENT_MULTIPLEXER_HXX_
+
+#include <com/sun/star/util/XEventMultiplexer.hpp>
+
+#include <cppuhelper/compbase3.hxx>
+#include <cppuhelper/basemutex.hxx>
+
+#include "macros/xserviceinfo.hxx"
+
+namespace
+{
+    typedef ::cppu::WeakComponentImplHelper3 <
+        css::util::XEventMultiplexer,
+        css::lang::XSingleComponentFactory,
+        css::lang::XServiceInfo
+        > EventMultiplexerInterfaceBase;
+}
+
+
+namespace css = ::com::sun::star;
+namespace cssu = ::com::sun::star::uno;
+namespace cssl = ::com::sun::star::lang;
+
+namespace framework {
+
+class EventMultiplexer
+    : private ::boost::noncopyable,
+      private ::cppu::BaseMutex,
+      public EventMultiplexerInterfaceBase
+{
+public:
+    EventMultiplexer(const cssu::Reference<css::uno::XComponentContext>& 
rxContext);
+    virtual ~EventMultiplexer (void);
+    
+    // XEventMultiplexer
+    virtual void SAL_CALL addEventListener (
+        const cssu::Reference<css::util::XEventListener>& rxListener,
+        const cssu::Reference<cssu::XInterface>& rxEventFocus)
+        throw(cssu::RuntimeException, cssl::IllegalArgumentException);
+    virtual void SAL_CALL removeEventListener (
+        const cssu::Reference<css::util::XEventListener>& rxListener,
+        const cssu::Reference<cssu::XInterface>& rxEventFocus)
+        throw(cssu::RuntimeException, cssl::IllegalArgumentException);
+    virtual void SAL_CALL removeAllEventListeners (
+        const cssu::Reference<css::util::XEventListener>& rxListener)
+        throw(cssu::RuntimeException, cssl::IllegalArgumentException);
+    virtual void SAL_CALL broadcastEvent (
+        const cssl::EventObject& rEventObject,
+        const cssu::Reference<cssu::XInterface>& rxEventFocus)
+        throw(cssu::RuntimeException);
+
+    // XSingleComponentFactory
+    virtual cssu::Reference<cssu::XInterface> SAL_CALL 
createInstanceWithContext (
+        const cssu::Reference<cssu::XComponentContext>& rxContext)
+        throw (cssu::Exception, cssu::RuntimeException);
+    virtual cssu::Reference<cssu::XInterface > SAL_CALL 
createInstanceWithArgumentsAndContext (
+        const cssu::Sequence<cssu::Any>& rArguments,
+        const cssu::Reference<cssu::XComponentContext>& rxContext)
+        throw (cssu::Exception, cssu::RuntimeException);
+
+    // XServiceInfo
+    virtual ::rtl::OUString SAL_CALL getImplementationName (void)
+        throw (cssu::RuntimeException);
+    virtual sal_Bool SAL_CALL supportsService  (
+        const ::rtl::OUString& rsServiceName)
+        throw (cssu::RuntimeException);
+    virtual cssu::Sequence< ::rtl::OUString> SAL_CALL getSupportedServiceNames 
(void)
+        throw (cssu::RuntimeException);
+
+    static ::rtl::OUString SAL_CALL impl_getStaticImplementationName (void);
+    static cssu::Reference<cssu::XInterface> SAL_CALL impl_createFactory (
+        const cssu::Reference<cssl::XMultiServiceFactory>& xServiceManager);
+
+private:
+    typedef ::std::vector<cssu::Reference<css::util::XEventListener> > 
ListenerContainer;
+    typedef ::std::map<cssu::Reference<cssu::XInterface>, ListenerContainer> 
ListenerMap;
+    ListenerMap maListeners;
+
+    /** Notify all listeners in the container that is associated with
+        the given event focus.
+
+        Typically called twice from broadcastEvent(), once for the
+        given event focus and onece for NULL.
+    */
+    void BroadcastEventToSingleContainer (
+        const cssl::EventObject& rEventObject,
+        const cssu::Reference<cssu::XInterface>& rxEventFocus);
+
+    static cssu::Sequence< ::rtl::OUString > SAL_CALL 
static_GetSupportedServiceNames (void);
+    static cssu::Reference<cssu::XInterface> SAL_CALL static_CreateInstance (
+        const cssu::Reference<cssu::XComponentContext>& rxComponentContext)
+        throw (cssu::Exception);
+};
+
+} // end of namespace framework
+
+#endif
+

Modified: 
openoffice/branches/sidebar/main/framework/source/register/registerservices.cxx
URL: 
http://svn.apache.org/viewvc/openoffice/branches/sidebar/main/framework/source/register/registerservices.cxx?rev=1419288&r1=1419287&r2=1419288&view=diff
==============================================================================
--- 
openoffice/branches/sidebar/main/framework/source/register/registerservices.cxx 
(original)
+++ 
openoffice/branches/sidebar/main/framework/source/register/registerservices.cxx 
Mon Dec 10 09:35:08 2012
@@ -53,26 +53,14 @@
 #include <services/tabwindowservice.hxx>
 #include <services/frame.hxx>
 #include <services/modulemanager.hxx>
-//#include <dispatch/oxt_handler.hxx>
 #include <jobs/jobexecutor.hxx>
-//#include <recording/dispatchrecordersupplier.hxx>
-//#include <recording/dispatchrecorder.hxx>
-//#include <dispatch/mailtodispatcher.hxx>
-//#include <dispatch/servicehandler.hxx>
 #include <jobs/jobdispatch.hxx>
 #include <services/backingcomp.hxx>
-//#include <services/dispatchhelper.hxx>
 #include <services/layoutmanager.hxx>
-//#include <services/license.hxx>
 #include <uifactory/uielementfactorymanager.hxx>
 #include <uifactory/popupmenucontrollerfactory.hxx>
-//#include <uielement/fontmenucontroller.hxx>
-//#include <uielement/fontsizemenucontroller.hxx>
 #include <uielement/objectmenucontroller.hxx>
-//#include <uielement/headermenucontroller.hxx>
-//#include <uielement/footermenucontroller.hxx>
 #include <uielement/controlmenucontroller.hxx>
-//#include <uielement/macrosmenucontroller.hxx>
 #include <uielement/uicommanddescription.hxx>
 #include <uiconfiguration/uiconfigurationmanager.hxx>
 #include <uiconfiguration/moduleuicfgsupplier.hxx>
@@ -84,7 +72,6 @@
 #include <uifactory/toolboxfactory.hxx>
 #include <uifactory/addonstoolboxfactory.hxx>
 #include "uiconfiguration/windowstateconfiguration.hxx"
-//#include <uielement/toolbarsmenucontroller.hxx>
 #include "uifactory/toolbarcontrollerfactory.hxx"
 #include "uifactory/statusbarcontrollerfactory.hxx"
 #include <services/autorecovery.hxx>
@@ -93,45 +80,27 @@
 #include <uifactory/statusbarfactory.hxx>
 #include <uiconfiguration/uicategorydescription.hxx>
 #include <services/sessionlistener.hxx>
-//#include <uielement/logoimagestatusbarcontroller.hxx>
-//#include <uielement/logotextstatusbarcontroller.hxx>
-//#include <uielement/newmenucontroller.hxx>
 #include <services/taskcreatorsrv.hxx>
-//#include <uielement/simpletextstatusbarcontroller.hxx>
-//#include <services/uriabbreviation.hxx>
-
 #include <uielement/langselectionstatusbarcontroller.hxx>
-//#include <uielement/langselectionmenucontroller.hxx>
 #include <uiconfiguration/imagemanager.hxx>
 #include <uifactory/windowcontentfactorymanager.hxx>
 #include <services/substitutepathvars.hxx>
 #include <services/pathsettings.hxx>
+#include <services/EventMultiplexer.hxx>
 
 COMPONENTGETIMPLEMENTATIONENVIRONMENT
 
 COMPONENTGETFACTORY    (       IFFACTORY( ::framework::URLTransformer          
                                )       else
                                                IFFACTORY( ::framework::Desktop 
                                                        )       else
                         IFFACTORY( ::framework::Frame                          
         )   else
-                        //IFFACTORY( ::framework::Oxt_Handler                  
           )   else
                         IFFACTORY( ::framework::JobExecutor                    
         )   else
-                        //IFFACTORY( ::framework::DispatchRecorderSupplier     
           )   else
-                        //IFFACTORY( ::framework::DispatchRecorder             
           )   else
-                        //IFFACTORY( ::framework::MailToDispatcher             
           )   else
-                        //IFFACTORY( ::framework::ServiceHandler               
           )   else
                         IFFACTORY( ::framework::JobDispatch                    
         )   else
                         IFFACTORY( ::framework::BackingComp                    
         )      else
-                        //IFFACTORY( ::framework::DispatchHelper               
           )   else
                                                IFFACTORY( 
::framework::LayoutManager                           )   else
-                        //IFFACTORY( ::framework::License                      
           )   else
                         IFFACTORY( ::framework::UIElementFactoryManager        
         )   else
                                                IFFACTORY( 
::framework::PopupMenuControllerFactory              )   else
-                        //IFFACTORY( ::framework::FontMenuController           
           )   else
-                        //IFFACTORY( ::framework::FontSizeMenuController       
           )   else
                         IFFACTORY( ::framework::ObjectMenuController           
         )   else
-                        //IFFACTORY( ::framework::HeaderMenuController         
           )   else
-                        //IFFACTORY( ::framework::FooterMenuController         
           )   else
                         IFFACTORY( ::framework::ControlMenuController          
         )   else
-                        //IFFACTORY( ::framework::MacrosMenuController         
           )   else
                         IFFACTORY( ::framework::UICommandDescription           
         )   else
                         IFFACTORY( ::framework::ModuleManager                  
         )   else
                         IFFACTORY( ::framework::UIConfigurationManager         
         )   else
@@ -145,7 +114,6 @@ COMPONENTGETFACTORY (       IFFACTORY( ::frame
                         IFFACTORY( ::framework::AddonsToolBoxFactory           
         )   else
                         IFFACTORY( ::framework::WindowStateConfiguration       
         )   else
                         IFFACTORY( ::framework::ToolbarControllerFactory       
         )   else
-                        //IFFACTORY( ::framework::ToolbarsMenuController       
           )    else
                         IFFACTORY( ::framework::AutoRecovery                   
         )   else
                         IFFACTORY( ::framework::StatusIndicatorFactory         
         )      else
                         IFFACTORY( ::framework::RecentFilesMenuController      
         )   else
@@ -154,19 +122,13 @@ COMPONENTGETFACTORY       (       IFFACTORY( ::frame
                         IFFACTORY( ::framework::SessionListener                
         )      else
                                                IFFACTORY( 
::framework::StatusbarControllerFactory              )   else
                         IFFACTORY( ::framework::SessionListener                
         )   else
-                        //IFFACTORY( ::framework::LogoImageStatusbarController 
           )   else
-                        //IFFACTORY( ::framework::LogoTextStatusbarController  
           )    else
                         IFFACTORY( ::framework::TaskCreatorService             
            )   else
-                                               //IFFACTORY( 
::framework::NewMenuController                       )   else
-                        //IFFACTORY( 
::framework::SimpleTextStatusbarController           )   else
-                        //IFFACTORY( ::framework::UriAbbreviation              
           )   else
-                        //IFFACTORY( ::framework::PopupMenuDispatcher          
           )   else
                         IFFACTORY( ::framework::ImageManager                   
         )   else
                         IFFACTORY( 
::framework::LangSelectionStatusbarController        )   else
-                        //IFFACTORY( 
::framework::LanguageSelectionMenuController         )   else
                         IFFACTORY( ::framework::WindowContentFactoryManager    
         )   else
                         IFFACTORY( ::framework::TabWindowService               
         )   else
                         IFFACTORY( ::framework::SubstitutePathVariables        
                        )       else
-                                               IFFACTORY( 
::framework::PathSettings                                            )
+                                               IFFACTORY( 
::framework::PathSettings                                            )   else
+                                               IFFACTORY( 
::framework::EventMultiplexer                                        )
                        )
 

Added: 
openoffice/branches/sidebar/main/framework/source/services/EventMultiplexer.cxx
URL: 
http://svn.apache.org/viewvc/openoffice/branches/sidebar/main/framework/source/services/EventMultiplexer.cxx?rev=1419288&view=auto
==============================================================================
--- 
openoffice/branches/sidebar/main/framework/source/services/EventMultiplexer.cxx 
(added)
+++ 
openoffice/branches/sidebar/main/framework/source/services/EventMultiplexer.cxx 
Mon Dec 10 09:35:08 2012
@@ -0,0 +1,270 @@
+/**************************************************************
+ * 
+ * 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.
+ * 
+ *************************************************************/
+
+#include "precompiled_framework.hxx"
+
+#include "services/EventMultiplexer.hxx"
+#include "services.h"
+
+using ::rtl::OUString;
+
+#define A2S(s) ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(s))
+
+namespace framework {
+
+#define IMPLEMENTATION_NAME 
"org.apache.openoffice.comp.framework.EventMultiplexer"
+#define SERVICE_NAME "com.sun.star.ui.ContextChangeEventMultiplexer"
+#define SINGLETON_NAME "org.apache.openoffice.comp.framework.EventMultiplexer"
+
+
+EventMultiplexer::EventMultiplexer (const 
cssu::Reference<css::uno::XComponentContext>& rxContext)
+    : EventMultiplexerInterfaceBase(m_aMutex),
+      maListeners()
+{
+    (void)rxContext;
+}
+
+
+
+
+EventMultiplexer::~EventMultiplexer (void)
+{
+    maListeners.clear();
+}
+
+
+
+
+// XEventMultiplexer
+
+void SAL_CALL EventMultiplexer::addEventListener (
+    const cssu::Reference<css::util::XEventListener>& rxListener,
+    const cssu::Reference<cssu::XInterface>& rxEventFocus)
+    throw(cssu::RuntimeException,cssl::IllegalArgumentException)
+{
+    if ( ! rxListener.is())
+        throw css::lang::IllegalArgumentException(A2S("can not add an empty 
reference"), static_cast<XWeak*>(this), 0);
+
+    ListenerMap::iterator iListenerContainer (maListeners.find(rxEventFocus));
+    if (iListenerContainer == maListeners.end())
+    {
+        // Create a new listener container for the event focus.
+        iListenerContainer = maListeners.insert(
+            ListenerMap::value_type(
+                rxEventFocus,
+                ListenerContainer())).first;
+    }
+    if (iListenerContainer != maListeners.end())
+    {
+        ListenerContainer& rContainer (iListenerContainer->second);
+        if (::std::find(rContainer.begin(), rContainer.end(), rxListener) == 
rContainer.end())
+            rContainer.push_back(rxListener);
+        else
+        {
+            // The listener was added for the same event focus
+            // previously.  That is an error.
+            throw cssl::IllegalArgumentException(A2S("listener added twice"), 
static_cast<XWeak*>(this), 0);
+        }
+    }
+}
+
+
+
+
+void SAL_CALL EventMultiplexer::removeEventListener (
+    const cssu::Reference<css::util::XEventListener>& rxListener,
+    const cssu::Reference<cssu::XInterface>& rxEventFocus)
+    throw(cssu::RuntimeException,cssl::IllegalArgumentException)
+{
+    if ( ! rxListener.is())
+        throw cssl::IllegalArgumentException(A2S("can not remove an empty 
reference"), static_cast<XWeak*>(this), 0);
+
+    ListenerMap::iterator iListenerContainer (maListeners.find(rxEventFocus));
+    if (iListenerContainer != maListeners.end())
+    {
+        ListenerContainer& rContainer (iListenerContainer->second);
+        const ListenerContainer::iterator iListener 
(::std::find(rContainer.begin(), rContainer.end(), rxListener));
+        if (iListener != rContainer.end())
+            rContainer.erase(iListener);
+    }
+ 
+}
+
+
+
+
+void SAL_CALL EventMultiplexer::removeAllEventListeners (
+    const cssu::Reference<css::util::XEventListener>& rxListener)
+    throw(cssu::RuntimeException,cssl::IllegalArgumentException)
+{
+    if ( ! rxListener.is())
+        throw cssl::IllegalArgumentException(A2S("can not remove an empty 
reference"), static_cast<XWeak*>(this), 0);
+
+    for (ListenerMap::iterator
+             iContainer(maListeners.begin()),
+             iEnd(maListeners.end());
+         iContainer!=iEnd;
+         ++iContainer)
+    {
+        const ListenerContainer::iterator iListener 
(::std::find(iContainer->second.begin(), iContainer->second.end(), rxListener));
+        if (iListener != iContainer->second.end())
+            iContainer->second.erase(iListener);
+    }
+}
+
+
+
+
+
+void SAL_CALL EventMultiplexer::broadcastEvent (
+    const cssl::EventObject& rEventObject,
+    const cssu::Reference<cssu::XInterface>& rxEventFocus)
+    throw(cssu::RuntimeException)
+{
+    BroadcastEventToSingleContainer(rEventObject, rxEventFocus);
+    if (rxEventFocus.is())
+        BroadcastEventToSingleContainer(rEventObject, NULL);
+}
+
+
+
+
+void EventMultiplexer::BroadcastEventToSingleContainer (
+    const cssl::EventObject& rEventObject,
+    const cssu::Reference<cssu::XInterface>& rxEventFocus)
+{
+    ListenerMap::iterator iListenerContainer (maListeners.find(rxEventFocus));
+    if (iListenerContainer != maListeners.end())
+    {
+        // Create a copy of the listener container to avoid problems
+        // when one of the called listeners calls add... or remove...
+        ListenerContainer aContainer (iListenerContainer->second);
+        for (ListenerContainer::const_iterator
+                 iListener(aContainer.begin()),
+                 iEnd(aContainer.end());
+             iListener!=iEnd;
+             ++iListener)
+        {
+            (*iListener)->notifyEvent(rEventObject);
+        }
+    }
+}
+
+
+
+
+// XSingleComponentFactory
+cssu::Reference<cssu::XInterface> SAL_CALL 
EventMultiplexer::createInstanceWithContext (
+    const cssu::Reference<cssu::XComponentContext>& rxContext)
+    throw (cssu::Exception, cssu::RuntimeException)
+{
+    return cssu::Reference<cssu::XInterface>();
+}
+
+
+
+
+cssu::Reference<cssu::XInterface > SAL_CALL 
EventMultiplexer::createInstanceWithArgumentsAndContext (
+    const cssu::Sequence<cssu::Any>& rArguments,
+    const cssu::Reference<cssu::XComponentContext>& rxContext)
+    throw (cssu::Exception, cssu::RuntimeException)
+{
+    return cssu::Reference<cssu::XInterface>();
+}
+
+
+
+
+// XServiceInfo
+
+::rtl::OUString SAL_CALL EventMultiplexer::getImplementationName (void)
+    throw(cssu::RuntimeException)
+{
+    return impl_getStaticImplementationName();
+}
+
+
+
+
+
+sal_Bool SAL_CALL EventMultiplexer::supportsService (
+    const ::rtl::OUString& rsServiceName)
+    throw (cssu::RuntimeException)
+{
+    return ::comphelper::findValue(static_GetSupportedServiceNames(), 
rsServiceName, sal_True).getLength() != 0;
+}
+
+
+
+
+cssu::Sequence<OUString> SAL_CALL EventMultiplexer::getSupportedServiceNames 
(void)
+    throw (cssu::RuntimeException)
+{
+    return static_GetSupportedServiceNames();
+}
+
+
+
+
+// Local and static methods.
+
+OUString SAL_CALL EventMultiplexer::impl_getStaticImplementationName (void)
+{
+    return A2S(IMPLEMENTATION_NAME);
+}
+
+
+
+
+cssu::Sequence<OUString> SAL_CALL 
EventMultiplexer::static_GetSupportedServiceNames (void)
+{
+    cssu::Sequence<OUString> aServiceNames (2);
+    aServiceNames[0] = A2S(SERVICE_NAME);
+    aServiceNames[1] = A2S(SINGLETON_NAME);
+    return aServiceNames;
+}
+
+
+
+
+cssu::Reference<cssu::XInterface> EventMultiplexer::impl_createFactory (
+    const cssu::Reference<cssl::XMultiServiceFactory>& rxServiceManager)
+{
+    return cppu::createSingleComponentFactory(
+        EventMultiplexer::static_CreateInstance,
+        EventMultiplexer::impl_getStaticImplementationName(),
+        EventMultiplexer::static_GetSupportedServiceNames()
+        );
+}
+
+
+
+
+cssu::Reference<cssu::XInterface> SAL_CALL 
EventMultiplexer::static_CreateInstance (
+    const cssu::Reference<cssu::XComponentContext>& rxComponentContext)
+    throw (cssu::Exception)
+{
+    EventMultiplexer* pObject = new EventMultiplexer(rxComponentContext);
+    cssu::Reference<cssu::XInterface> xService (static_cast<XWeak*>(pObject), 
cssu::UNO_QUERY);
+    return xService;
+}
+
+}  // end of namespace framework

Modified: openoffice/branches/sidebar/main/framework/util/fwk.component
URL: 
http://svn.apache.org/viewvc/openoffice/branches/sidebar/main/framework/util/fwk.component?rev=1419288&r1=1419287&r2=1419288&view=diff
==============================================================================
--- openoffice/branches/sidebar/main/framework/util/fwk.component (original)
+++ openoffice/branches/sidebar/main/framework/util/fwk.component Mon Dec 10 
09:35:08 2012
@@ -45,6 +45,10 @@
   <implementation 
name="com.sun.star.comp.framework.DocumentAcceleratorConfiguration">
     <service name="com.sun.star.ui.DocumentAcceleratorConfiguration"/>
   </implementation>
+  <implementation name="org.apache.openoffice.comp.framework.EventMultiplexer">
+    <service name="com.sun.star.util.EventMultiplexer"/>
+    <singleton name="com.sun.star.ui.ContextChangeEventMultiplexer"/>
+  </implementation>
   <implementation name="com.sun.star.comp.framework.Frame">
     <service name="com.sun.star.frame.Frame"/>
   </implementation>

Added: 
openoffice/branches/sidebar/main/offapi/com/sun/star/ui/ContextChangeEventMultiplexer.idl
URL: 
http://svn.apache.org/viewvc/openoffice/branches/sidebar/main/offapi/com/sun/star/ui/ContextChangeEventMultiplexer.idl?rev=1419288&view=auto
==============================================================================
--- 
openoffice/branches/sidebar/main/offapi/com/sun/star/ui/ContextChangeEventMultiplexer.idl
 (added)
+++ 
openoffice/branches/sidebar/main/offapi/com/sun/star/ui/ContextChangeEventMultiplexer.idl
 Mon Dec 10 09:35:08 2012
@@ -0,0 +1,40 @@
+/**************************************************************
+ * 
+ * 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.
+ * 
+ *************************************************************/
+
+
+#ifndef __com_sun_star_ui_ContextChangeEventMultiplexer_idl__
+#define __com_sun_star_ui_ContextChangeEventMultiplexer_idl__
+
+#ifndef __com_sun_star_util_XEventMultiplexer_idl__
+#include <com/sun/star/util/XEventMultiplexer.idl>
+#endif
+
+module com {  module sun {  module star {  module ui {
+
+/** Multiplex events for context changes.
+
+    A typical listener for context changes is the sidebar.
+*/
+singleton ContextChangeEventMultiplexer : 
com::sun::star::util::XEventMultiplexer;
+
+}; }; }; }; // com.sun.star.ui
+
+#endif

Added: 
openoffice/branches/sidebar/main/offapi/com/sun/star/ui/ContextChangeEventObject.idl
URL: 
http://svn.apache.org/viewvc/openoffice/branches/sidebar/main/offapi/com/sun/star/ui/ContextChangeEventObject.idl?rev=1419288&view=auto
==============================================================================
--- 
openoffice/branches/sidebar/main/offapi/com/sun/star/ui/ContextChangeEventObject.idl
 (added)
+++ 
openoffice/branches/sidebar/main/offapi/com/sun/star/ui/ContextChangeEventObject.idl
 Mon Dec 10 09:35:08 2012
@@ -0,0 +1,54 @@
+/**************************************************************
+ * 
+ * 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.
+ * 
+ *************************************************************/
+
+
+
+#ifndef __com_sun_star_ui_ContextChangeEventObject_idl__
+#define __com_sun_star_ui_ContextChangeEventObject_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_lang_EventObject_idl__
+#include <com/sun/star/lang/EventObject.idl>
+#endif
+
+
+module com { module sun { module star { module ui {
+
+struct ContextChangeEventObject : com::sun::star::lang::EventObject
+{
+    /** Return the name of the application.
+        Known names are: writer, calc, impress, draw, base.
+    */
+    string ApplicationName;
+    
+    /** Return the application specific context name.
+    */
+    string ContextName;
+};
+
+}; }; }; };
+
+//=============================================================================
+
+#endif

Added: 
openoffice/branches/sidebar/main/offapi/com/sun/star/ui/XVerticalStackLayoutElement.idl
URL: 
http://svn.apache.org/viewvc/openoffice/branches/sidebar/main/offapi/com/sun/star/ui/XVerticalStackLayoutElement.idl?rev=1419288&view=auto
==============================================================================
--- 
openoffice/branches/sidebar/main/offapi/com/sun/star/ui/XVerticalStackLayoutElement.idl
 (added)
+++ 
openoffice/branches/sidebar/main/offapi/com/sun/star/ui/XVerticalStackLayoutElement.idl
 Mon Dec 10 09:35:08 2012
@@ -0,0 +1,52 @@
+/**************************************************************
+ * 
+ * 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.
+ * 
+ *************************************************************/
+
+
+#ifndef __com_sun_star_ui_XVerticalStackLayoutElement_idl__
+#define __com_sun_star_ui_XVerticalStackLayoutElement_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+
+module com { module sun { module star { module ui {
+
+/** Used by a layouter that stacks ui elements one above the other.</p>
+
+*/
+
+interface XVerticalStackLayoutElement : com::sun::star::uno::XInterface
+{
+    /** For a given width of the container the layouter asks every ui element 
for its
+        optimal height.
+
+        The height to which a ui element is set may differ from the returned 
value.
+
+        The height is set via the XWindow interface.
+    */
+    long getHeightForWidth ( [in] long nWidth);
+};
+
+}; }; }; };
+
+
+#endif

Modified: openoffice/branches/sidebar/main/offapi/com/sun/star/ui/makefile.mk
URL: 
http://svn.apache.org/viewvc/openoffice/branches/sidebar/main/offapi/com/sun/star/ui/makefile.mk?rev=1419288&r1=1419287&r2=1419288&view=diff
==============================================================================
--- openoffice/branches/sidebar/main/offapi/com/sun/star/ui/makefile.mk 
(original)
+++ openoffice/branches/sidebar/main/offapi/com/sun/star/ui/makefile.mk Mon Dec 
10 09:35:08 2012
@@ -40,6 +40,8 @@ IDLFILES=\
     ActionTriggerSeparatorType.idl              \
     ConfigurableUIElement.idl                   \
     ConfigurationEvent.idl                      \
+       ContextChangeEventMultiplexer.idl                       \
+       ContextChangeEventObject.idl                            \
     ContextMenuExecuteEvent.idl                 \
     ContextMenuInterceptorAction.idl            \
     DockingArea.idl                             \
@@ -81,6 +83,7 @@ IDLFILES=\
     XUIElementFactoryRegistration.idl           \
     XUIElementSettings.idl                      \
     XUIFunctionListener.idl                     \
+    XVerticalStackLayoutElement.idl             \
     XToolPanel.idl
 
 # ------------------------------------------------------------------

Added: 
openoffice/branches/sidebar/main/offapi/com/sun/star/util/EventMultiplexer.idl
URL: 
http://svn.apache.org/viewvc/openoffice/branches/sidebar/main/offapi/com/sun/star/util/EventMultiplexer.idl?rev=1419288&view=auto
==============================================================================
--- 
openoffice/branches/sidebar/main/offapi/com/sun/star/util/EventMultiplexer.idl 
(added)
+++ 
openoffice/branches/sidebar/main/offapi/com/sun/star/util/EventMultiplexer.idl 
Mon Dec 10 09:35:08 2012
@@ -0,0 +1,40 @@
+/**************************************************************
+ * 
+ * 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.
+ * 
+ *************************************************************/
+
+
+#ifndef __com_sun_star_util_EventMultiplexer_idl__
+#define __com_sun_star_util_EventMultiplexer_idl__
+
+#ifndef __com_sun_star_util_XEventMultiplexer_idl__
+#include <com/sun/star/util/XEventMultiplexer.idl>
+#endif
+
+module com {  module sun {  module star {  module util {
+
+/** Multiplex generic events.
+*/
+service EventMultiplexer : com::sun::star::util::XEventMultiplexer 
+{
+};
+
+}; }; }; }; // com.sun.star.util
+
+#endif

Added: 
openoffice/branches/sidebar/main/offapi/com/sun/star/util/XEventListener.idl
URL: 
http://svn.apache.org/viewvc/openoffice/branches/sidebar/main/offapi/com/sun/star/util/XEventListener.idl?rev=1419288&view=auto
==============================================================================
--- 
openoffice/branches/sidebar/main/offapi/com/sun/star/util/XEventListener.idl 
(added)
+++ 
openoffice/branches/sidebar/main/offapi/com/sun/star/util/XEventListener.idl 
Mon Dec 10 09:35:08 2012
@@ -0,0 +1,51 @@
+/**************************************************************
+ * 
+ * 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.
+ * 
+ *************************************************************/
+
+
+
+#ifndef __com_sun_star_util_XEventListener_idl__
+#define __com_sun_star_util_XEventListener_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_lang_XEventListener_idl__
+#include <com/sun/star/lang/XEventListener.idl>
+#endif
+
+#ifndef __com_sun_star_lang_EventObject_idl__
+#include <com/sun/star/lang/EventObject.idl>
+#endif
+
+module com { module sun { module star { module util {
+
+/** Generic event listener.
+*/
+interface XEventListener : ::com::sun::star::lang::XEventListener 
+{
+    [oneway] void notifyEvent (
+        [in] com::sun::star::lang::EventObject event);
+} ;
+
+} ; } ; } ; } ;
+
+#endif

Added: 
openoffice/branches/sidebar/main/offapi/com/sun/star/util/XEventMultiplexer.idl
URL: 
http://svn.apache.org/viewvc/openoffice/branches/sidebar/main/offapi/com/sun/star/util/XEventMultiplexer.idl?rev=1419288&view=auto
==============================================================================
--- 
openoffice/branches/sidebar/main/offapi/com/sun/star/util/XEventMultiplexer.idl 
(added)
+++ 
openoffice/branches/sidebar/main/offapi/com/sun/star/util/XEventMultiplexer.idl 
Mon Dec 10 09:35:08 2012
@@ -0,0 +1,131 @@
+/**************************************************************
+ * 
+ * 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.
+ * 
+ *************************************************************/
+
+
+
+#ifndef __com_sun_star_util_XEventMultiplexer_idl__
+#define __com_sun_star_util_XEventMultiplexer_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_util_XEventListener_idl__
+#include <com/sun/star/util/XEventListener.idl>
+#endif
+
+#ifndef __com_sun_star_lang_EventObject_idl__
+#include <com/sun/star/lang/EventObject.idl>
+#endif
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+
+module com { module sun { module star { module util {
+
+/** Provide a central access point for a group of events.
+
+    Listeners can be added with a simple restriction on the event source.
+    They are only called for events that originate at the specified source.
+
+    Event providers can broadcast an event to all interested listeners.
+
+    The XEventMultiplexer interface is typically implemented as a singleton
+*/
+interface XEventMultiplexer : ::com::sun::star::uno::XInterface 
+{
+    /** Add an event listener that is called only when events are broadcast 
for the specified
+        event focus.
+
+        @param xListener
+            An empty reference results in an InvalidArgumentException.
+
+            One listener may be added more than once for different
+            event foci.  Adding a listener a second time for the same
+            event focus results in an InvalidArgumentException.
+            
+        @param xEventFocus
+            An empty reference is a valid value.  In this case the
+            registered listener will be called for every event
+            broadcast, regardless of its event focus.
+
+            The event focus may or may not be the source of the event.
+              
+            A typical example for an event focus is the XController of
+            a view.  Using an XController restricts events passed to
+            a listener to events that belong to one view.
+
+        @throws com::sun::star::lang::IllegalArgumentException
+            
+    */
+    void addEventListener (
+        [in] com::sun::star::util::XEventListener xListener,
+        [in] com::sun::star::uno::XInterface xEventFocus)
+        raises (com::sun::star::lang::IllegalArgumentException);
+
+    /** Remove an event listener for the specified event focus.
+
+        When the same listener was added for other event foci then
+        these associations remain unmodified.
+
+        @param xListener
+            An empty reference results in an InvalidArgumentException.
+
+            When the listener is not registered for the given event
+            focus then an InvalidArgumentException is thrown.
+            
+        @param xEventFocus
+            The listener is only removed for this event focus.
+            An empty reference is a valid value.
+
+        @throws com::sun::star::lang::IllegalArgumentException
+    */
+    void removeEventListener (
+        [in] com::sun::star::util::XEventListener xListener,
+        [in] com::sun::star::uno::XInterface xEventFocus)
+        raises (com::sun::star::lang::IllegalArgumentException);
+
+    /** Remove an event listener for all event foci.
+
+        @param xListener
+            An empty reference results in an InvalidArgumentException.
+
+            It is not an error when the listener is not registered for any 
event focus.
+
+        @throws com::sun::star::lang::IllegalArgumentException
+    */
+    void removeAllEventListeners (
+        [in] com::sun::star::util::XEventListener xListener)
+        raises (com::sun::star::lang::IllegalArgumentException);
+
+
+    /** Call all event listeners that where added for the specified event 
focus.
+    */
+    [oneway] void broadcastEvent (
+        [in] com::sun::star::lang::EventObject aEvent,
+        [in] com::sun::star::uno::XInterface xEventFocus);    
+} ;
+
+} ; } ; } ; } ;
+
+#endif

Modified: openoffice/branches/sidebar/main/offapi/com/sun/star/util/makefile.mk
URL: 
http://svn.apache.org/viewvc/openoffice/branches/sidebar/main/offapi/com/sun/star/util/makefile.mk?rev=1419288&r1=1419287&r2=1419288&view=diff
==============================================================================
--- openoffice/branches/sidebar/main/offapi/com/sun/star/util/makefile.mk 
(original)
+++ openoffice/branches/sidebar/main/offapi/com/sun/star/util/makefile.mk Mon 
Dec 10 09:35:08 2012
@@ -48,6 +48,7 @@ IDLFILES=\
        Duration.idl\
        ElementChange.idl \
        Endianness.idl \
+       EventMultiplexer.idl \
        FileIOException.idl\
        InvalidStateException.idl\
        Language.idl\
@@ -82,6 +83,8 @@ IDLFILES=\
        XCloseable.idl\
        XCloseBroadcaster.idl\
        XCloseListener.idl\
+       XEventListener.idl\
+       XEventMultiplexer.idl\
        XFlushable.idl\
        XFlushListener.idl\
        XImportable.idl\

Added: 
openoffice/branches/sidebar/main/officecfg/registry/schema/org/openoffice/Office/UI/Sidebar.xcs
URL: 
http://svn.apache.org/viewvc/openoffice/branches/sidebar/main/officecfg/registry/schema/org/openoffice/Office/UI/Sidebar.xcs?rev=1419288&view=auto
==============================================================================
--- 
openoffice/branches/sidebar/main/officecfg/registry/schema/org/openoffice/Office/UI/Sidebar.xcs
 (added)
+++ 
openoffice/branches/sidebar/main/officecfg/registry/schema/org/openoffice/Office/UI/Sidebar.xcs
 Mon Dec 10 09:35:08 2012
@@ -0,0 +1,159 @@
+<?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.
+ * 
+ ***********************************************************-->
+
+
+<!DOCTYPE oor:component-schema SYSTEM "../../../../../component-schema.dtd">
+<oor:component-schema
+    xmlns:oor="http://openoffice.org/2001/registry";
+    xmlns:xs="http://www.w3.org/2001/XMLSchema";
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
+    oor:name="Sidebar"
+    oor:package="org.openoffice.Office.UI"
+    xml:lang="en-US">
+  <info>
+    <author>Andre Fischer</author>
+    <desc>Specification of decks and content panels of the sidebar.</desc>
+  </info>
+  <templates>
+    <group oor:name="Context">
+      <info>
+        <desc>A context specifies the combination of application and 
application
+        context (curor in table, selection active, text editing active).</desc>
+      </info>
+      <prop oor:name="Application" oor:type="xs:string" oor:localized="false">
+        <info>
+          <desc>Name of the application.  Known values are:
+          writer, calc, impress, draw, base</desc>
+        </info>
+        <value></value>
+      </prop>
+      <prop oor:name="ApplicationContext" oor:type="xs:string" 
oor:localized="false">
+        <info>
+          <desc>Name of an application specific context.</desc>
+        </info>
+        <value></value>
+      </prop>
+    </group>
+    <group oor:name="Deck">
+      <info>
+        <desc>Specification of a sidebar deck which is a container of content 
panels.</desc>
+      </info>
+      <prop oor:name="Title" oor:type="xs:string" oor:localized="true">
+        <info>
+          <desc>The deck title is displayed above the content panels.</desc>
+        </info>
+        <value></value>
+      </prop>
+      <prop oor:name="Id" oor:type="xs:string" oor:localized="false">
+        <info>
+          <desc>Internally used to identify the deck.  Not displayed in the 
UI.</desc>
+        </info>
+        <value></value>
+      </prop>
+      <prop oor:name="IconURL" oor:type="xs:string">
+        <info>
+          <desc>This icon is displayed in the sidebar tab bar.
+          Any URL scheme supported by the com.sun.star.graphic.GraphicProvider 
service is suitable here.</desc>
+        </info>
+        <value></value>
+      </prop>
+      <prop oor:name="HelpURL" oor:type="xs:string">
+        <info>
+          <desc>Help about the sidebar deck.</desc>
+        </info>
+        <value></value>
+      </prop>
+      <set oor:name="ContextList" oor:node-type="Context">
+        <info>
+          <desc>List of contexts for which to show the deck.</desc>
+        </info>
+      </set>
+    </group>
+    <group oor:name="Panel">
+      <info>
+        <desc>Specification of a sidebar content panel.</desc>
+      </info>
+      <prop oor:name="Title" oor:type="xs:string" oor:localized="true">
+        <info>
+          <desc>The panel title is displayed above the content panel.</desc>
+        </info>
+        <value></value>
+      </prop>
+      <prop oor:name="Id" oor:type="xs:string" oor:localized="false">
+        <info>
+          <desc>Internally used to identify the panel.</desc>
+        </info>
+        <value></value>
+      </prop>
+      <prop oor:name="DeckId" oor:type="xs:string" oor:localized="false">
+        <info>
+          <desc>Id of the deck to which the panel belongs.</desc>
+        </info>
+        <value></value>
+      </prop>
+      <prop oor:name="HelpURL" oor:type="xs:string">
+        <info>
+          <desc>Help about the sidebar content panel.</desc>
+        </info>
+        <value></value>
+      </prop>
+      <set oor:name="ContextList" oor:node-type="Context">
+        <info>
+          <desc>List of contexts for which to show the panel.</desc>
+        </info>
+      </set>
+      <prop oor:name="Layout" oor:type="xs:string">
+        <info>
+          <desc>Name of the layout to use to calculate the height of the panel.
+          Known values are:
+          full              Use as much of the visible area as possible.
+                            When more than one panel use "full" then the 
available space is
+                                distributed equally.
+                            This is the fallback when the panel does not 
support the layout
+                                interface required by other layout names.
+          vertical-stack    Panel has to implement 
com::sun::star::ui::XVerticalStackLayoutElement.
+                            Use this layout if possible.
+          </desc>
+        </info>
+        <value></value>
+      </prop>
+      <prop oor:name="ImplementationURL" oor:type="xs:string">
+        <info>
+          <desc>URL by which the implementation of the panel is known by its 
factory.</desc>
+        </info>
+        <value></value>
+      </prop>
+    </group>
+  </templates>
+  <component>
+    <set oor:name="DeckList" oor:node-type="Deck">
+      <info>
+        <desc>Contains all registered sidebar decks.</desc>
+      </info>
+    </set>
+    <set oor:name="PanelList" oor:node-type="Panel">
+      <info>
+        <desc>Contains all registered sidebar content panels.</desc>
+      </info>
+    </set>
+  </component>
+</oor:component-schema>

Modified: 
openoffice/branches/sidebar/main/officecfg/registry/schema/org/openoffice/Office/UI/makefile.mk
URL: 
http://svn.apache.org/viewvc/openoffice/branches/sidebar/main/officecfg/registry/schema/org/openoffice/Office/UI/makefile.mk?rev=1419288&r1=1419287&r2=1419288&view=diff
==============================================================================
--- 
openoffice/branches/sidebar/main/officecfg/registry/schema/org/openoffice/Office/UI/makefile.mk
 (original)
+++ 
openoffice/branches/sidebar/main/officecfg/registry/schema/org/openoffice/Office/UI/makefile.mk
 Mon Dec 10 09:35:08 2012
@@ -70,7 +70,8 @@ XCSFILES= \
     Category.xcs \
     GenericCategories.xcs \
     GlobalSettings.xcs \
-    WindowContentFactories.xcs
+    WindowContentFactories.xcs \
+    Sidebar.xcs
 
 .INCLUDE :  target.mk
 

Modified: openoffice/branches/sidebar/main/sd/source/ui/func/futext.cxx
URL: 
http://svn.apache.org/viewvc/openoffice/branches/sidebar/main/sd/source/ui/func/futext.cxx?rev=1419288&r1=1419287&r2=1419288&view=diff
==============================================================================
--- openoffice/branches/sidebar/main/sd/source/ui/func/futext.cxx (original)
+++ openoffice/branches/sidebar/main/sd/source/ui/func/futext.cxx Mon Dec 10 
09:35:08 2012
@@ -37,6 +37,7 @@
 #include <svl/intitem.hxx>
 #include <svx/svdotext.hxx>
 #include <svx/svdogrp.hxx>
+#include <svx/sidebar/ContextChangeEventMultiplexer.hxx>
 #include <editeng/flditem.hxx>
 #include <svl/style.hxx>
 #include <svx/svdpagv.hxx>
@@ -187,6 +188,10 @@ void FuText::DoExecute( SfxRequest& )
        mpViewShell->GetViewShellBase().GetToolBarManager()->SetToolBarShell(
         ToolBarManager::TBG_FUNCTION,
         RID_DRAW_TEXT_TOOLBOX);
+    ContextChangeEventMultiplexer::NotifyContextChange(
+        mpViewShell->GetViewShellBase().GetController(),
+        ContextChangeEventMultiplexer::Application_Impress,
+        ContextChangeEventMultiplexer::Context_TextEdit);
 
        mpView->SetCurrentObj(OBJ_TEXT);
        mpView->SetEditMode(SDREDITMODE_EDIT);


Reply via email to