LibreOffice Module oox (master)  1
oleobjecthelper.hxx
Go to the documentation of this file.
1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 /*
3  * This file is part of the LibreOffice project.
4  *
5  * This Source Code Form is subject to the terms of the Mozilla Public
6  * License, v. 2.0. If a copy of the MPL was not distributed with this
7  * file, You can obtain one at http://mozilla.org/MPL/2.0/.
8  *
9  * This file incorporates work covered by the following license notice:
10  *
11  * Licensed to the Apache Software Foundation (ASF) under one or more
12  * contributor license agreements. See the NOTICE file distributed
13  * with this work for additional information regarding copyright
14  * ownership. The ASF licenses this file to you under the Apache
15  * License, Version 2.0 (the "License"); you may not use this file
16  * except in compliance with the License. You may obtain a copy of
17  * the License at http://www.apache.org/licenses/LICENSE-2.0 .
18  */
19 
20 #ifndef INCLUDED_OOX_OLE_OLEOBJECTHELPER_HXX
21 #define INCLUDED_OOX_OLE_OLEOBJECTHELPER_HXX
22 
23 #include <com/sun/star/uno/Reference.hxx>
24 #include <oox/dllapi.h>
26 #include <rtl/ustring.hxx>
27 #include <sal/types.h>
28 
29 namespace com::sun::star {
30  namespace awt { struct Size; }
31  namespace document { class XEmbeddedObjectResolver; }
32  namespace frame { class XModel; }
33  namespace lang { class XMultiServiceFactory; }
34 }
35 
36 namespace oox { class PropertyMap; }
37 
38 namespace oox::ole {
39 
40 
43 {
45  OUString maTargetLink;
46  OUString maProgId;
47  bool mbLinked;
48  bool mbShowAsIcon;
50  bool mbHasPicture;
51 
52  explicit OleObjectInfo();
53 };
54 
55 
58 {
59 public:
60  explicit OleObjectHelper(
61  const css::uno::Reference<css::lang::XMultiServiceFactory>& rxModelFactory,
62  const css::uno::Reference<css::frame::XModel>& xModel);
64 
65  bool importOleObject(
66  PropertyMap& rPropMap,
67  const OleObjectInfo& rOleObject,
68  const css::awt::Size& rObjSize );
69 
70 private:
71  css::uno::Reference<css::frame::XModel> m_xModel;
72  css::uno::Reference< css::document::XEmbeddedObjectResolver > mxResolver;
73  sal_Int32 mnObjectId;
74 };
75 
76 
78  css::uno::Reference<css::frame::XModel> const& xModel,
79  OUString const& rObjectName, OUString const* pOldObjectName,
80  OUString const& rProgId);
81 
82 
83 } // namespace oox::ole
84 
85 #endif
86 
87 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
A helper that maps property identifiers to property values.
Definition: propertymap.hxx:52
OUString maTargetLink
Path to external data for linked OLE object.
exports com.sun.star. awt
exports com.sun.star. frame
std::map< sal_Int32, STLPropertyMapEntry > PropertyMap
bool mbShowAsIcon
True = show as icon, false = show contents.
css::uno::Sequence< sal_Int8 > StreamDataSequence
bool mbHasPicture
Ole object requires a picture element according to spec.>
bool importOleObject(PropertyMap &rPropMap, const OleObjectInfo &rOleObject, const css::awt::Size &rObjSize)
css::uno::Reference< css::frame::XModel > m_xModel
Helper for OLE object handling.
Contains generic information about an OLE object.
StreamDataSequence maEmbeddedData
Data of an embedded OLE object.
css::uno::Reference< css::document::XEmbeddedObjectResolver > mxResolver
void SaveInteropProperties(uno::Reference< frame::XModel > const &xModel, OUString const &rObjectName, OUString const *const pOldObjectName, OUString const &rProgId)
exports com.sun.star. document
exports com.sun.star. lang
#define OOX_DLLPUBLIC
Definition: dllapi.h:28
Reference< XModel > xModel
bool mbLinked
True = linked OLE object, false = embedded OLE object.
OleObjectHelper(const css::uno::Reference< css::lang::XMultiServiceFactory > &rxModelFactory, const css::uno::Reference< css::frame::XModel > &xModel)