summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatúš Kukan <matus.kukan@collabora.com>2014-01-09 16:38:11 +0100
committerMatúš Kukan <matus.kukan@collabora.com>2014-01-10 16:29:01 +0100
commita2317de0c3ef6094f67a6684ab395382f34b0f80 (patch)
tree70e528294267f266c22b0ea68f5f8e4cbe41d7c5
parent08940a0d21db8be76342e426c378b9f5c66ff624 (diff)
fwk: Use constructor feature for WindowStateConfiguration.
Change-Id: I0537d7a30b6c6807bf746a52dbd2c7fc66607ae2
-rw-r--r--framework/inc/services/layoutmanager.hxx1
-rw-r--r--framework/inc/uiconfiguration/windowstateconfiguration.hxx112
-rw-r--r--framework/inc/uiconfiguration/windowstateproperties.hxx42
-rw-r--r--framework/source/layoutmanager/layoutmanager.cxx2
-rw-r--r--framework/source/layoutmanager/toolbarlayoutmanager.cxx2
-rw-r--r--framework/source/layoutmanager/toolbarlayoutmanager.hxx1
-rw-r--r--framework/source/register/registerservices.cxx2
-rw-r--r--framework/source/uiconfiguration/windowstateconfiguration.cxx139
-rw-r--r--framework/source/uielement/toolbarsmenucontroller.cxx2
-rw-r--r--framework/util/fwk.component3
10 files changed, 134 insertions, 172 deletions
diff --git a/framework/inc/services/layoutmanager.hxx b/framework/inc/services/layoutmanager.hxx
index 853e4495a134..691fc9b8b37c 100644
--- a/framework/inc/services/layoutmanager.hxx
+++ b/framework/inc/services/layoutmanager.hxx
@@ -36,7 +36,6 @@
#include <properties.h>
#include <stdtypes.h>
#include <uielement/menubarmanager.hxx>
-#include <uiconfiguration/windowstateconfiguration.hxx>
#include <framework/addonsoptions.hxx>
#include <uielement/uielement.hxx>
#include <helper/ilayoutnotifications.hxx>
diff --git a/framework/inc/uiconfiguration/windowstateconfiguration.hxx b/framework/inc/uiconfiguration/windowstateconfiguration.hxx
deleted file mode 100644
index 092d7a5368f1..000000000000
--- a/framework/inc/uiconfiguration/windowstateconfiguration.hxx
+++ /dev/null
@@ -1,112 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*
- * This file is part of the LibreOffice project.
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/.
- *
- * This file incorporates work covered by the following license notice:
- *
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed
- * with this work for additional information regarding copyright
- * ownership. The ASF licenses this file to you under the Apache
- * License, Version 2.0 (the "License"); you may not use this file
- * except in compliance with the License. You may obtain a copy of
- * the License at http://www.apache.org/licenses/LICENSE-2.0 .
- */
-
-#ifndef INCLUDED_FRAMEWORK_INC_UICONFIGURATION_WINDOWSTATECONFIGURATION_HXX
-#define INCLUDED_FRAMEWORK_INC_UICONFIGURATION_WINDOWSTATECONFIGURATION_HXX
-
-/** Attention: stl headers must(!) be included at first. Otherwise it can make trouble
- with solaris headers ...
-*/
-#include <vector>
-#include <list>
-#include <boost/unordered_map.hpp>
-
-#include <threadhelp/threadhelpbase.hxx>
-#include <macros/generic.hxx>
-#include <macros/xinterface.hxx>
-#include <macros/xtypeprovider.hxx>
-#include <macros/xserviceinfo.hxx>
-#include <stdtypes.h>
-
-#include <com/sun/star/lang/XServiceInfo.hpp>
-#include <com/sun/star/lang/XTypeProvider.hpp>
-#include <com/sun/star/container/XNameAccess.hpp>
-#include <com/sun/star/frame/XModuleManager2.hpp>
-
-#include <cppuhelper/implbase2.hxx>
-#include <rtl/ustring.hxx>
-
-namespace framework
-{
-
-#define WINDOWSTATE_PROPERTY_LOCKED "Locked"
-#define WINDOWSTATE_PROPERTY_DOCKED "Docked"
-#define WINDOWSTATE_PROPERTY_VISIBLE "Visible"
-#define WINDOWSTATE_PROPERTY_DOCKINGAREA "DockingArea"
-#define WINDOWSTATE_PROPERTY_DOCKPOS "DockPos"
-#define WINDOWSTATE_PROPERTY_DOCKSIZE "DockSize"
-#define WINDOWSTATE_PROPERTY_POS "Pos"
-#define WINDOWSTATE_PROPERTY_SIZE "Size"
-#define WINDOWSTATE_PROPERTY_UINAME "UIName"
-#define WINDOWSTATE_PROPERTY_INTERNALSTATE "InternalState"
-#define WINDOWSTATE_PROPERTY_STYLE "Style"
-#define WINDOWSTATE_PROPERTY_CONTEXT "ContextSensitive"
-#define WINDOWSTATE_PROPERTY_HIDEFROMENU "HideFromToolbarMenu"
-#define WINDOWSTATE_PROPERTY_NOCLOSE "NoClose"
-#define WINDOWSTATE_PROPERTY_SOFTCLOSE "SoftClose"
-#define WINDOWSTATE_PROPERTY_CONTEXTACTIVE "ContextActive"
-
-class WindowStateConfiguration : private ThreadHelpBase , // Struct for right initalization of mutex member! Must be first of baseclasses.
- public ::cppu::WeakImplHelper2< css::container::XNameAccess, css::lang::XServiceInfo>
-{
- public:
- WindowStateConfiguration( const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext >& rxContext );
- virtual ~WindowStateConfiguration();
-
- // XInterface, XTypeProvider, XServiceInfo
- DECLARE_XSERVICEINFO
-
- // XNameAccess
- virtual ::com::sun::star::uno::Any SAL_CALL getByName( const OUString& aName )
- throw ( ::com::sun::star::container::NoSuchElementException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException);
-
- virtual ::com::sun::star::uno::Sequence< OUString > SAL_CALL getElementNames()
- throw (::com::sun::star::uno::RuntimeException);
-
- virtual sal_Bool SAL_CALL hasByName( const OUString& aName )
- throw (::com::sun::star::uno::RuntimeException);
-
- // XElementAccess
- virtual ::com::sun::star::uno::Type SAL_CALL getElementType()
- throw (::com::sun::star::uno::RuntimeException);
- virtual sal_Bool SAL_CALL hasElements()
- throw (::com::sun::star::uno::RuntimeException);
-
- typedef ::boost::unordered_map< OUString,
- OUString,
- OUStringHash,
- ::std::equal_to< OUString > > ModuleToWindowStateFileMap;
-
- typedef ::boost::unordered_map< OUString,
- ::com::sun::star::uno::Reference< ::com::sun::star::container::XNameAccess >,
- OUStringHash,
- ::std::equal_to< OUString > > ModuleToWindowStateConfigHashMap;
-
- private:
- ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext> m_xContext;
- ModuleToWindowStateFileMap m_aModuleToFileHashMap;
- ModuleToWindowStateConfigHashMap m_aModuleToWindowStateHashMap;
- ::com::sun::star::uno::Reference< ::com::sun::star::frame::XModuleManager2 > m_xModuleManager;
-};
-
-} // namespace framework
-
-#endif // __FRAMEWORK_UIELEMENT_WINDOWSTATECONFIGURATION_HXX_
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/framework/inc/uiconfiguration/windowstateproperties.hxx b/framework/inc/uiconfiguration/windowstateproperties.hxx
new file mode 100644
index 000000000000..b4653c4a1f27
--- /dev/null
+++ b/framework/inc/uiconfiguration/windowstateproperties.hxx
@@ -0,0 +1,42 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef INCLUDED_FRAMEWORK_INC_UICONFIGURATION_WINDOWSTATEPROPERTIES_HXX
+#define INCLUDED_FRAMEWORK_INC_UICONFIGURATION_WINDOWSTATEPROPERTIES_HXX
+
+#define WINDOWSTATE_PROPERTY_LOCKED "Locked"
+#define WINDOWSTATE_PROPERTY_DOCKED "Docked"
+#define WINDOWSTATE_PROPERTY_VISIBLE "Visible"
+#define WINDOWSTATE_PROPERTY_DOCKINGAREA "DockingArea"
+#define WINDOWSTATE_PROPERTY_DOCKPOS "DockPos"
+#define WINDOWSTATE_PROPERTY_DOCKSIZE "DockSize"
+#define WINDOWSTATE_PROPERTY_POS "Pos"
+#define WINDOWSTATE_PROPERTY_SIZE "Size"
+#define WINDOWSTATE_PROPERTY_UINAME "UIName"
+#define WINDOWSTATE_PROPERTY_INTERNALSTATE "InternalState"
+#define WINDOWSTATE_PROPERTY_STYLE "Style"
+#define WINDOWSTATE_PROPERTY_CONTEXT "ContextSensitive"
+#define WINDOWSTATE_PROPERTY_HIDEFROMENU "HideFromToolbarMenu"
+#define WINDOWSTATE_PROPERTY_NOCLOSE "NoClose"
+#define WINDOWSTATE_PROPERTY_SOFTCLOSE "SoftClose"
+#define WINDOWSTATE_PROPERTY_CONTEXTACTIVE "ContextActive"
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/framework/source/layoutmanager/layoutmanager.cxx b/framework/source/layoutmanager/layoutmanager.cxx
index 309ab5bee73e..b49c10a790b3 100644
--- a/framework/source/layoutmanager/layoutmanager.cxx
+++ b/framework/source/layoutmanager/layoutmanager.cxx
@@ -25,12 +25,12 @@
#include <framework/sfxhelperfunctions.hxx>
#include <uielement/menubarwrapper.hxx>
#include <framework/addonsoptions.hxx>
-#include <uiconfiguration/windowstateconfiguration.hxx>
#include <classes/fwkresid.hxx>
#include <classes/resource.hrc>
#include <toolkit/helper/convert.hxx>
#include <uielement/progressbarwrapper.hxx>
#include <uiconfiguration/globalsettings.hxx>
+#include <uiconfiguration/windowstateproperties.hxx>
#include <toolbarlayoutmanager.hxx>
#include <com/sun/star/beans/XPropertySet.hpp>
diff --git a/framework/source/layoutmanager/toolbarlayoutmanager.cxx b/framework/source/layoutmanager/toolbarlayoutmanager.cxx
index 4ffab50fa625..919968d68096 100644
--- a/framework/source/layoutmanager/toolbarlayoutmanager.cxx
+++ b/framework/source/layoutmanager/toolbarlayoutmanager.cxx
@@ -18,13 +18,13 @@
*/
#include <toolbarlayoutmanager.hxx>
+#include <uiconfiguration/windowstateproperties.hxx>
#include <uielement/addonstoolbarwrapper.hxx>
#include <helpers.hxx>
#include <services.h>
#include <services/layoutmanager.hxx>
#include <classes/resource.hrc>
#include <classes/fwkresid.hxx>
-#include <uiconfiguration/windowstateconfiguration.hxx>
#include <com/sun/star/awt/PosSize.hpp>
#include <com/sun/star/awt/Toolkit.hpp>
diff --git a/framework/source/layoutmanager/toolbarlayoutmanager.hxx b/framework/source/layoutmanager/toolbarlayoutmanager.hxx
index 7c475f246db0..4c2a64c15065 100644
--- a/framework/source/layoutmanager/toolbarlayoutmanager.hxx
+++ b/framework/source/layoutmanager/toolbarlayoutmanager.hxx
@@ -36,7 +36,6 @@
#include <stdtypes.h>
#include <properties.h>
#include <uiconfiguration/globalsettings.hxx>
-#include <uiconfiguration/windowstateconfiguration.hxx>
#include <framework/addonsoptions.hxx>
#include <uielement/uielement.hxx>
#include <helper/ilayoutnotifications.hxx>
diff --git a/framework/source/register/registerservices.cxx b/framework/source/register/registerservices.cxx
index 42db82e11db9..617bd1f1f281 100644
--- a/framework/source/register/registerservices.cxx
+++ b/framework/source/register/registerservices.cxx
@@ -50,7 +50,6 @@
#include <accelerators/globalacceleratorconfiguration.hxx>
#include <accelerators/moduleacceleratorconfiguration.hxx>
#include <accelerators/documentacceleratorconfiguration.hxx>
-#include "uiconfiguration/windowstateconfiguration.hxx"
#include <uielement/recentfilesmenucontroller.hxx>
#include <uiconfiguration/uicategorydescription.hxx>
#include <services/sessionlistener.hxx>
@@ -80,7 +79,6 @@ COMPONENTGETFACTORY ( fwk,
IFFACTORY( ::framework::GlobalAcceleratorConfiguration ) else
IFFACTORY( ::framework::ModuleAcceleratorConfiguration ) else
IFFACTORY( ::framework::DocumentAcceleratorConfiguration ) else
- IFFACTORY( ::framework::WindowStateConfiguration ) else
IFFACTORY( ::framework::RecentFilesMenuController ) else
IFFACTORY( ::framework::UICategoryDescription ) else
IFFACTORY( ::framework::SessionListener ) else
diff --git a/framework/source/uiconfiguration/windowstateconfiguration.cxx b/framework/source/uiconfiguration/windowstateconfiguration.cxx
index baca1f567f93..eba312b81014 100644
--- a/framework/source/uiconfiguration/windowstateconfiguration.cxx
+++ b/framework/source/uiconfiguration/windowstateconfiguration.cxx
@@ -17,8 +17,13 @@
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
*/
-#include "uiconfiguration/windowstateconfiguration.hxx"
+#include <uiconfiguration/windowstateproperties.hxx>
#include <threadhelp/resetableguard.hxx>
+#include <threadhelp/threadhelpbase.hxx>
+#include <macros/generic.hxx>
+#include <macros/xinterface.hxx>
+#include <macros/xtypeprovider.hxx>
+#include <macros/xserviceinfo.hxx>
#include "services.h"
#include "helper/mischelper.hxx"
@@ -29,19 +34,22 @@
#include <com/sun/star/container/XNameAccess.hpp>
#include <com/sun/star/container/XNameContainer.hpp>
#include <com/sun/star/container/XContainer.hpp>
+#include <com/sun/star/lang/XServiceInfo.hpp>
#include <com/sun/star/frame/ModuleManager.hpp>
+#include <com/sun/star/frame/XModuleManager2.hpp>
#include <com/sun/star/awt/Point.hpp>
#include <com/sun/star/awt/Size.hpp>
#include <com/sun/star/ui/DockingArea.hpp>
#include <com/sun/star/util/XChangesBatch.hpp>
+#include <cppuhelper/implbase2.hxx>
+#include <rtl/ref.hxx>
#include <rtl/ustrbuf.hxx>
#include <cppuhelper/weak.hxx>
#include <tools/debug.hxx>
-//_________________________________________________________________________________________________________________
-// Defines
-//_________________________________________________________________________________________________________________
+#include <vector>
+#include <boost/unordered_map.hpp>
using namespace com::sun::star::uno;
using namespace com::sun::star::lang;
@@ -51,32 +59,11 @@ using namespace com::sun::star::configuration;
using namespace com::sun::star::container;
using namespace ::com::sun::star::frame;
using namespace ::com::sun::star::ui;
+using namespace framework;
#undef WINDOWSTATE_MASK_POS
-//_________________________________________________________________________________________________________________
-// Namespace
-//_________________________________________________________________________________________________________________
-
-static const char CONFIGURATION_ROOT_ACCESS[] = "/org.openoffice.Office.UI.";
-static const char CONFIGURATION_WINDOWSTATE_ACCESS[] = "/UIElements/States";
-
-static const char CONFIGURATION_PROPERTY_LOCKED[] = WINDOWSTATE_PROPERTY_LOCKED;
-static const char CONFIGURATION_PROPERTY_DOCKED[] = WINDOWSTATE_PROPERTY_DOCKED;
-static const char CONFIGURATION_PROPERTY_VISIBLE[] = WINDOWSTATE_PROPERTY_VISIBLE;
-static const char CONFIGURATION_PROPERTY_DOCKINGAREA[] = WINDOWSTATE_PROPERTY_DOCKINGAREA;
-static const char CONFIGURATION_PROPERTY_DOCKPOS[] = WINDOWSTATE_PROPERTY_DOCKPOS;
-static const char CONFIGURATION_PROPERTY_DOCKSIZE[] = WINDOWSTATE_PROPERTY_DOCKSIZE;
-static const char CONFIGURATION_PROPERTY_POS[] = WINDOWSTATE_PROPERTY_POS;
-static const char CONFIGURATION_PROPERTY_SIZE[] = WINDOWSTATE_PROPERTY_SIZE;
-static const char CONFIGURATION_PROPERTY_UINAME[] = WINDOWSTATE_PROPERTY_UINAME;
-static const char CONFIGURATION_PROPERTY_INTERNALSTATE[] = WINDOWSTATE_PROPERTY_INTERNALSTATE;
-static const char CONFIGURATION_PROPERTY_STYLE[] = WINDOWSTATE_PROPERTY_STYLE;
-static const char CONFIGURATION_PROPERTY_CONTEXT[] = WINDOWSTATE_PROPERTY_CONTEXT;
-static const char CONFIGURATION_PROPERTY_HIDEFROMMENU[] = WINDOWSTATE_PROPERTY_HIDEFROMENU;
-static const char CONFIGURATION_PROPERTY_NOCLOSE[] = WINDOWSTATE_PROPERTY_NOCLOSE;
-static const char CONFIGURATION_PROPERTY_SOFTCLOSE[] = WINDOWSTATE_PROPERTY_SOFTCLOSE;
-static const char CONFIGURATION_PROPERTY_CONTEXTACTIVE[] = WINDOWSTATE_PROPERTY_CONTEXTACTIVE;
+namespace {
// Zero based indexes, order must be the same as WindowStateMask && CONFIGURATION_PROPERTIES!
static const sal_Int16 PROPERTY_LOCKED = 0;
@@ -99,28 +86,25 @@ static const sal_Int16 PROPERTY_DOCKSIZE = 15;
// Order must be the same as WindowStateMask!!
static const char* CONFIGURATION_PROPERTIES[] =
{
- CONFIGURATION_PROPERTY_LOCKED,
- CONFIGURATION_PROPERTY_DOCKED,
- CONFIGURATION_PROPERTY_VISIBLE,
- CONFIGURATION_PROPERTY_CONTEXT,
- CONFIGURATION_PROPERTY_HIDEFROMMENU,
- CONFIGURATION_PROPERTY_NOCLOSE,
- CONFIGURATION_PROPERTY_SOFTCLOSE,
- CONFIGURATION_PROPERTY_CONTEXTACTIVE,
- CONFIGURATION_PROPERTY_DOCKINGAREA,
- CONFIGURATION_PROPERTY_POS,
- CONFIGURATION_PROPERTY_SIZE,
- CONFIGURATION_PROPERTY_UINAME,
- CONFIGURATION_PROPERTY_INTERNALSTATE,
- CONFIGURATION_PROPERTY_STYLE,
- CONFIGURATION_PROPERTY_DOCKPOS,
- CONFIGURATION_PROPERTY_DOCKSIZE,
+ WINDOWSTATE_PROPERTY_LOCKED,
+ WINDOWSTATE_PROPERTY_DOCKED,
+ WINDOWSTATE_PROPERTY_VISIBLE,
+ WINDOWSTATE_PROPERTY_CONTEXT,
+ WINDOWSTATE_PROPERTY_HIDEFROMENU,
+ WINDOWSTATE_PROPERTY_NOCLOSE,
+ WINDOWSTATE_PROPERTY_SOFTCLOSE,
+ WINDOWSTATE_PROPERTY_CONTEXTACTIVE,
+ WINDOWSTATE_PROPERTY_DOCKINGAREA,
+ WINDOWSTATE_PROPERTY_POS,
+ WINDOWSTATE_PROPERTY_SIZE,
+ WINDOWSTATE_PROPERTY_UINAME,
+ WINDOWSTATE_PROPERTY_INTERNALSTATE,
+ WINDOWSTATE_PROPERTY_STYLE,
+ WINDOWSTATE_PROPERTY_DOCKPOS,
+ WINDOWSTATE_PROPERTY_DOCKSIZE,
0
};
-namespace framework
-{
-
//*****************************************************************************************************************
// Configuration access class for WindowState supplier implementation
//*****************************************************************************************************************
@@ -250,13 +234,13 @@ class ConfigurationAccess_WindowState : // Order is necessary for right initiali
ConfigurationAccess_WindowState::ConfigurationAccess_WindowState( const OUString& aModuleName, const Reference< XComponentContext >& rxContext ) :
ThreadHelpBase(),
- m_aConfigWindowAccess( CONFIGURATION_ROOT_ACCESS ),
+ m_aConfigWindowAccess( "/org.openoffice.Office.UI." ),
m_bConfigAccessInitialized( sal_False ),
m_bModified( sal_False )
{
// Create configuration hierachical access name
m_aConfigWindowAccess += aModuleName;
- m_aConfigWindowAccess += CONFIGURATION_WINDOWSTATE_ACCESS;
+ m_aConfigWindowAccess += "/UIElements/States";
m_xConfigProvider = theDefaultProvider::get( rxContext );
// Initialize access array with property names.
@@ -1295,9 +1279,49 @@ sal_Bool ConfigurationAccess_WindowState::impl_initializeConfigAccess()
}
-//*****************************************************************************************************************
-// XInterface, XTypeProvider, XServiceInfo
-//*****************************************************************************************************************
+class WindowStateConfiguration : private ThreadHelpBase, // Struct for right initalization of mutex member! Must be first of baseclasses.
+ public ::cppu::WeakImplHelper2< css::container::XNameAccess, css::lang::XServiceInfo>
+{
+ public:
+ WindowStateConfiguration( const css::uno::Reference< css::uno::XComponentContext >& rxContext );
+ virtual ~WindowStateConfiguration();
+
+ // XInterface, XTypeProvider, XServiceInfo
+ DECLARE_XSERVICEINFO
+
+ // XNameAccess
+ virtual css::uno::Any SAL_CALL getByName( const OUString& aName )
+ throw ( css::container::NoSuchElementException, css::lang::WrappedTargetException, css::uno::RuntimeException);
+
+ virtual css::uno::Sequence< OUString > SAL_CALL getElementNames()
+ throw (css::uno::RuntimeException);
+
+ virtual sal_Bool SAL_CALL hasByName( const OUString& aName )
+ throw (css::uno::RuntimeException);
+
+ // XElementAccess
+ virtual css::uno::Type SAL_CALL getElementType()
+ throw (css::uno::RuntimeException);
+ virtual sal_Bool SAL_CALL hasElements()
+ throw (css::uno::RuntimeException);
+
+ typedef ::boost::unordered_map< OUString,
+ OUString,
+ OUStringHash,
+ ::std::equal_to< OUString > > ModuleToWindowStateFileMap;
+
+ typedef ::boost::unordered_map< OUString,
+ css::uno::Reference< css::container::XNameAccess >,
+ OUStringHash,
+ ::std::equal_to< OUString > > ModuleToWindowStateConfigHashMap;
+
+ private:
+ css::uno::Reference< css::uno::XComponentContext> m_xContext;
+ ModuleToWindowStateFileMap m_aModuleToFileHashMap;
+ ModuleToWindowStateConfigHashMap m_aModuleToWindowStateHashMap;
+ css::uno::Reference< css::frame::XModuleManager2 > m_xModuleManager;
+};
+
DEFINE_XSERVICEINFO_ONEINSTANCESERVICE_2( WindowStateConfiguration ,
::cppu::OWeakObject ,
"com.sun.star.ui.WindowStateConfiguration" ,
@@ -1432,6 +1456,17 @@ throw (::com::sun::star::uno::RuntimeException)
return sal_True;
}
-} // namespace framework
+}
+
+extern "C" SAL_DLLPUBLIC_EXPORT css::uno::XInterface * SAL_CALL
+com_sun_star_comp_framework_WindowStateConfiguration_get_implementation(
+ css::uno::XComponentContext * context,
+ uno_Sequence * arguments)
+{
+ assert(arguments != 0 && arguments->nElements == 0); (void) arguments;
+ rtl::Reference<WindowStateConfiguration> x(new WindowStateConfiguration(context));
+ x->acquire();
+ return static_cast<cppu::OWeakObject *>(x.get());
+}
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/framework/source/uielement/toolbarsmenucontroller.cxx b/framework/source/uielement/toolbarsmenucontroller.cxx
index 1f3917c14e99..ad8ff2fafa00 100644
--- a/framework/source/uielement/toolbarsmenucontroller.cxx
+++ b/framework/source/uielement/toolbarsmenucontroller.cxx
@@ -25,9 +25,9 @@
#include "services.h"
#include <classes/resource.hrc>
#include <classes/fwkresid.hxx>
-#include <uiconfiguration/windowstateconfiguration.hxx>
#include <framework/imageproducer.hxx>
#include <framework/sfxhelperfunctions.hxx>
+#include <uiconfiguration/windowstateproperties.hxx>
#include <com/sun/star/awt/XDevice.hpp>
#include <com/sun/star/beans/PropertyValue.hpp>
diff --git a/framework/util/fwk.component b/framework/util/fwk.component
index a10ed9ecf5df..e8da69204835 100644
--- a/framework/util/fwk.component
+++ b/framework/util/fwk.component
@@ -133,7 +133,8 @@
<implementation name="com.sun.star.comp.framework.WindowContentFactoryManager">
<service name="com.sun.star.ui.WindowContentFactoryManager"/>
</implementation>
- <implementation name="com.sun.star.comp.framework.WindowStateConfiguration">
+ <implementation name="com.sun.star.comp.framework.WindowStateConfiguration"
+ constructor="com_sun_star_comp_framework_WindowStateConfiguration_get_implementation">
<service name="com.sun.star.ui.WindowStateConfiguration"/>
</implementation>
<implementation name="com.sun.star.comp.framework.jobs.JobDispatch"