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);