summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatúš Kukan <matus.kukan@collabora.com>2014-01-28 15:06:35 +0100
committerMatúš Kukan <matus.kukan@collabora.com>2014-01-28 18:52:22 +0100
commit54f606c666c6d9e642090074d9d2aa4b6a3bec22 (patch)
tree9798e45fd47c03fcd523c0d5173f607f4dbafc45
parentdd1c991bd993c3e0edb8108474f88d94ba6bd2bc (diff)
Introduce com.sun.star.ui.theUICategoryDescription singleton.
Change-Id: I79a78f208b2aa5eaacbd2e349b2b5066afa1ad23
-rw-r--r--cui/inc/pch/precompiled_cui.hxx2
-rw-r--r--cui/source/customize/cfgutil.cxx4
-rw-r--r--cui/source/customize/selector.cxx4
-rw-r--r--framework/util/fwk.component1
-rwxr-xr-xoffapi/UnoApi_offapi.mk1
-rw-r--r--offapi/com/sun/star/ui/UICategoryDescription.idl30
-rw-r--r--offapi/com/sun/star/ui/theUICategoryDescription.idl64
7 files changed, 76 insertions, 30 deletions
diff --git a/cui/inc/pch/precompiled_cui.hxx b/cui/inc/pch/precompiled_cui.hxx
index 8489a4bc8873..264817dd14b1 100644
--- a/cui/inc/pch/precompiled_cui.hxx
+++ b/cui/inc/pch/precompiled_cui.hxx
@@ -211,7 +211,7 @@
#include <com/sun/star/ui/ItemStyle.hpp>
#include <com/sun/star/ui/ItemType.hpp>
#include <com/sun/star/ui/ModuleUIConfigurationManagerSupplier.hpp>
-#include <com/sun/star/ui/UICategoryDescription.hpp>
+#include <com/sun/star/ui/theUICategoryDescription.hpp>
#include <com/sun/star/ui/UIConfigurationManager.hpp>
#include <com/sun/star/ui/UIElementType.hpp>
#include <com/sun/star/ui/WindowStateConfiguration.hpp>
diff --git a/cui/source/customize/cfgutil.cxx b/cui/source/customize/cfgutil.cxx
index a221b8a94b55..f817ea7ef44b 100644
--- a/cui/source/customize/cfgutil.cxx
+++ b/cui/source/customize/cfgutil.cxx
@@ -35,7 +35,7 @@
#include <com/sun/star/script/provider/XScriptProvider.hpp>
#include <com/sun/star/style/XStyleFamiliesSupplier.hpp>
#include <com/sun/star/uno/RuntimeException.hpp>
-#include <com/sun/star/ui/UICategoryDescription.hpp>
+#include <com/sun/star/ui/theUICategoryDescription.hpp>
#include "acccfg.hrc"
#include "helpid.hrc"
@@ -595,7 +595,7 @@ void SfxConfigGroupListBox::Init(const css::uno::Reference< css::uno::XComponent
m_xContext = xContext;
m_sModuleLongName = sModuleLongName;
- m_xGlobalCategoryInfo = css::ui::UICategoryDescription::create( m_xContext );
+ m_xGlobalCategoryInfo = css::ui::theUICategoryDescription::get( m_xContext );
m_xModuleCategoryInfo = css::uno::Reference< css::container::XNameAccess >(m_xGlobalCategoryInfo->getByName(m_sModuleLongName), css::uno::UNO_QUERY_THROW);
m_xUICmdDescription = css::frame::UICommandDescription::create( m_xContext );
diff --git a/cui/source/customize/selector.cxx b/cui/source/customize/selector.cxx
index 82df036613ce..a33623a48538 100644
--- a/cui/source/customize/selector.cxx
+++ b/cui/source/customize/selector.cxx
@@ -54,7 +54,7 @@
#include <com/sun/star/script/browse/BrowseNodeTypes.hpp>
#include <com/sun/star/script/browse/XBrowseNodeFactory.hpp>
#include <com/sun/star/script/browse/BrowseNodeFactoryViewTypes.hpp>
-#include <com/sun/star/ui/UICategoryDescription.hpp>
+#include <com/sun/star/ui/theUICategoryDescription.hpp>
using namespace ::com::sun::star;
@@ -429,7 +429,7 @@ void SvxConfigGroupListBox::Init(bool bShowSlots, const Reference< frame::XFrame
xNameAccess->getByName( aModuleId ) >>= m_xModuleCommands;
Reference< container::XNameAccess > xAllCategories =
- ui::UICategoryDescription::create( xContext );
+ ui::theUICategoryDescription::get( xContext );
Reference< container::XNameAccess > xModuleCategories;
if ( !aModuleId.isEmpty() )
diff --git a/framework/util/fwk.component b/framework/util/fwk.component
index 9c541e114623..0692040f2688 100644
--- a/framework/util/fwk.component
+++ b/framework/util/fwk.component
@@ -127,6 +127,7 @@
</implementation>
<implementation name="com.sun.star.comp.framework.UICategoryDescription">
<service name="com.sun.star.ui.UICategoryDescription"/>
+ <singleton name="com.sun.star.ui.theUICategoryDescription"/>
</implementation>
<implementation name="com.sun.star.comp.framework.UICommandDescription">
<service name="com.sun.star.frame.UICommandDescription"/>
diff --git a/offapi/UnoApi_offapi.mk b/offapi/UnoApi_offapi.mk
index 7702d134e4ca..519c14537762 100755
--- a/offapi/UnoApi_offapi.mk
+++ b/offapi/UnoApi_offapi.mk
@@ -424,6 +424,7 @@ $(eval $(call gb_UnoApi_add_idlfiles_nohdl,offapi,com/sun/star/ui,\
WindowContentFactory \
WindowContentFactoryManager \
WindowStateConfiguration \
+ theUICategoryDescription \
))
$(eval $(call gb_UnoApi_add_idlfiles_nohdl,offapi,com/sun/star/ui/dialogs,\
AddressBookSourcePilot \
diff --git a/offapi/com/sun/star/ui/UICategoryDescription.idl b/offapi/com/sun/star/ui/UICategoryDescription.idl
index 6e59799bf683..96415ed446dc 100644
--- a/offapi/com/sun/star/ui/UICategoryDescription.idl
+++ b/offapi/com/sun/star/ui/UICategoryDescription.idl
@@ -24,31 +24,11 @@
module com { module sun { module star { module ui {
-/** a service which provides information about user interface command
- categories.
-
- <p>
- OpenOffice.org has an amount of commands that can be used by user
- interface elements. Every command is member of a single category.
- Categories makes it easier to handle to huge amount of commands
- provided by OpenOffice.org. This service is normally used by UI
- implementations which provides all commands to a user.
- </p>
-
- Provides access to user interface command categories of the installed
- modules.
-
- <p>
- To access the user interface command categories of a module, a unique
- module specifier must be provided to
- com::sun::star::container::XNameAccess::getByName()
- function. The module specifier can be retrieved from the
- com::sun::star::frame::ModuleManager
- service. The interface provides references to
- com::sun:star::ui::ModuleUICommandDescription.
- </p>
-
- @see com::sun::star::frame::ModuleManager
+/**
+ A legacy (single-instance) service-variant of theUICategoryDescription singleton.
+
+ @deprecated Use theUICategoryDescription singleton instead.
+
@since OOo 2.0
*/
service UICategoryDescription : com::sun::star::container::XNameAccess;
diff --git a/offapi/com/sun/star/ui/theUICategoryDescription.idl b/offapi/com/sun/star/ui/theUICategoryDescription.idl
new file mode 100644
index 000000000000..466e3d90dd18
--- /dev/null
+++ b/offapi/com/sun/star/ui/theUICategoryDescription.idl
@@ -0,0 +1,64 @@
+/* -*- 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 __com_sun_star_ui_theUICategoryDescription_idl__
+#define __com_sun_star_ui_theUICategoryDescription_idl__
+
+#include <com/sun/star/container/XNameAccess.idl>
+
+module com { module sun { module star { module ui {
+
+
+/** a singleton which provides information about user interface command
+ categories.
+
+ <p>
+ OpenOffice.org has an amount of commands that can be used by user
+ interface elements. Every command is member of a single category.
+ Categories makes it easier to handle to huge amount of commands
+ provided by OpenOffice.org. This singleton is normally used by UI
+ implementations which provides all commands to a user.
+ </p>
+
+ Provides access to user interface command categories of the installed
+ modules.
+
+ <p>
+ To access the user interface command categories of a module, a unique
+ module specifier must be provided to
+ com::sun::star::container::XNameAccess::getByName()
+ function. The module specifier can be retrieved from the
+ com::sun::star::frame::ModuleManager
+ service. The interface provides references to
+ com::sun:star::ui::ModuleUICommandDescription.
+ </p>
+
+ @see com::sun::star::frame::ModuleManager
+
+ Prior to LibreOffice 4.3, this singleton was only available as a
+ (single-instance) UICategoryDescription service.
+
+ @since LibreOffice 4.3
+*/
+singleton theUICategoryDescription : com::sun::star::container::XNameAccess;
+
+}; }; }; }; // com.sun.star.ui
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */