Kaydet (Commit) 9ffb86c7 authored tarafından Noel Grandin's avatar Noel Grandin

fdo#46808, convert drawing::ColorTable to new style

The service already existed, it just needed an IDL file.
üst 1dec1f2f
...@@ -116,6 +116,7 @@ $(eval $(call gb_UnoApi_add_idlfiles_nohdl,offapi,offapi/com/sun/star/document,\ ...@@ -116,6 +116,7 @@ $(eval $(call gb_UnoApi_add_idlfiles_nohdl,offapi,offapi/com/sun/star/document,\
XMLOasisBasicImporter \ XMLOasisBasicImporter \
)) ))
$(eval $(call gb_UnoApi_add_idlfiles_nohdl,offapi,offapi/com/sun/star/drawing,\ $(eval $(call gb_UnoApi_add_idlfiles_nohdl,offapi,offapi/com/sun/star/drawing,\
ColorTable \
GraphicExportFilter \ GraphicExportFilter \
ModuleDispatcher \ ModuleDispatcher \
ShapeCollection \ ShapeCollection \
......
/* -*- 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_drawing_ColorTable_idl__
#define __com_sun_star_drawing_ColorTable_idl__
#include <com/sun/star/container/XNameContainer.idl>
module com { module sun { module star { module drawing {
/**
@since LibreOffice 4.1
*/
published service ColorTable : com::sun::star::container::XNameContainer;
}; }; }; };
#endif
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
...@@ -23,6 +23,7 @@ ...@@ -23,6 +23,7 @@
#include "boost/unordered_map.hpp" #include "boost/unordered_map.hpp"
#include "com/sun/star/container/XNameAccess.hpp" #include "com/sun/star/container/XNameAccess.hpp"
#include "com/sun/star/container/XNameContainer.hpp" #include "com/sun/star/container/XNameContainer.hpp"
#include "com/sun/star/drawing/ColorTable.hpp"
#include "com/sun/star/lang/XMultiServiceFactory.hpp" #include "com/sun/star/lang/XMultiServiceFactory.hpp"
#include "com/sun/star/uno/Any.hxx" #include "com/sun/star/uno/Any.hxx"
#include "com/sun/star/uno/Reference.hxx" #include "com/sun/star/uno/Reference.hxx"
...@@ -54,19 +55,15 @@ ColorNameMap::ColorNameMap() { ...@@ -54,19 +55,15 @@ ColorNameMap::ColorNameMap() {
try try
{ {
// Create color table in which to look up the given color. // Create color table in which to look up the given color.
css::uno::Reference< css::container::XNameContainer > xColorTable ( css::uno::Reference< css::container::XNameContainer > xColorTable =
comphelper::getProcessServiceFactory()->createInstance( "com.sun.star.drawing.ColorTable" ), css::drawing::ColorTable::create( comphelper::getProcessComponentContext() );
css::uno::UNO_QUERY);
// Get list of color names in order to iterate over the color table. // Get list of color names in order to iterate over the color table.
xNA = css::uno::Reference< css::container::XNameAccess >(xColorTable, css::uno::UNO_QUERY);
if (xNA.is()) // Lock the solar mutex here as workarround for missing lock in
{ // called function.
// Lock the solar mutex here as workarround for missing lock in SolarMutexGuard aGuard;
// called function. aNames = xNA->getElementNames();
SolarMutexGuard aGuard;
aNames = xNA->getElementNames();
}
} }
catch (css::uno::RuntimeException const&) catch (css::uno::RuntimeException const&)
{ {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment