LibreOffice Module embeddedobj (master) 1
commonembobj.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#pragma once
21
22#include <com/sun/star/uno/Sequence.hxx>
23#include <com/sun/star/uno/Reference.hxx>
24#include <com/sun/star/uno/Any.hxx>
25#include <com/sun/star/container/XChild.hpp>
26#include <com/sun/star/document/XStorageBasedDocument.hpp>
27#include <com/sun/star/embed/XEmbeddedObject.hpp>
28#include <com/sun/star/embed/XEmbedPersist2.hpp>
29#include <com/sun/star/embed/XLinkageSupport.hpp>
30#include <com/sun/star/embed/XInplaceObject.hpp>
31#include <com/sun/star/awt/XWindow.hpp>
32#include <com/sun/star/awt/Rectangle.hpp>
33#include <com/sun/star/util/XCloseable.hpp>
34#include <com/sun/star/chart2/XDefaultSizeTransmitter.hpp>
35#include <com/sun/star/io/XTempFile.hpp>
36#include <com/sun/star/lang/XServiceInfo.hpp>
37#include <com/sun/star/lang/XInitialization.hpp>
38#include <cppuhelper/weak.hxx>
40#include <rtl/ref.hxx>
41#include <map>
42#include <memory>
44#include <unotools/resmgr.hxx>
45
46namespace com::sun::star {
47 namespace embed {
48 class XStorage;
49 }
50 namespace lang {
51 class XMultiServiceFactory;
52 }
53 namespace util {
54 class XCloseListener;
55 }
56 namespace beans {
57 struct PropertyValue;
58 struct NamedValue;
59 }
60}
61
62namespace comphelper {
63 class OMultiTypeInterfaceContainerHelper2;
64}
65
66namespace comphelper {
67 class NamedValueCollection;
68}
69
70#define NUM_SUPPORTED_STATES 5
71// #define NUM_SUPPORTED_VERBS 5
72
73#include "docholder.hxx"
74
75class Interceptor;
76
81class OCommonEmbeddedObject : public css::embed::XEmbeddedObject
82 , public css::embed::EmbeddedUpdate
83 , public css::embed::XEmbedPersist2
84 , public css::embed::XLinkageSupport
85 , public css::embed::XInplaceObject
86 , public css::container::XChild
87 , public css::chart2::XDefaultSizeTransmitter
88 , public css::lang::XServiceInfo
89 , public css::lang::XInitialization
90 , public css::lang::XTypeProvider
91 , public ::cppu::OWeakObject
92{
93protected:
94 ::osl::Mutex m_aMutex;
95
97
98 std::unique_ptr<::comphelper::OMultiTypeInterfaceContainerHelper2> m_pInterfaceContainer;
99
101
104
105 sal_Int32 m_nObjectState;
106 sal_Int32 m_nTargetState; // should be -1 except during state changing
107 sal_Int32 m_nUpdateMode;
108
109 css::uno::Reference< css::uno::XComponentContext > m_xContext;
110
111 css::uno::Sequence< css::beans::PropertyValue > m_aDocMediaDescriptor;
112
113 css::uno::Sequence< sal_Int8 > m_aClassID;
114 OUString m_aClassName;
115
118
119 sal_Int64 m_nMiscStatus;
120
121 css::uno::Sequence< css::embed::VerbDescriptor > m_aObjectVerbs;
122
123 std::map< sal_Int32, sal_Int32 > m_aVerbTable;
124
125 css::uno::Reference< css::embed::XEmbeddedClient > m_xClientSite;
126
132
133 // following information will be used between SaveAs and SaveCompleted
136 css::uno::Reference< css::embed::XStorage > m_xNewParentStorage;
137 css::uno::Reference< css::embed::XStorage > m_xNewObjectStorage;
138 css::uno::Sequence< css::beans::PropertyValue > m_aNewDocMediaDescriptor;
139
140 css::uno::Reference< css::awt::XWindow > m_xClientWindow; // ???
141 css::awt::Rectangle m_aOwnRectangle;
142 css::awt::Rectangle m_aClipRectangle;
143
146 ::std::unique_ptr< FileChangedChecker > m_pLinkFile;
149
150 // embedded object related stuff
151 OUString m_aEntryName;
152 css::uno::Reference< css::embed::XStorage > m_xParentStorage;
153 css::uno::Reference< css::embed::XStorage > m_xObjectStorage;
154 css::uno::Reference< css::embed::XStorage > m_xRecoveryStorage;
155
156 // link related stuff
157 OUString m_aLinkURL;
161
162 // tdf#141529 hold a cc of a linked OLE
163 css::uno::Reference < css::io::XTempFile > m_aLinkTempFile;
164
165 css::uno::Reference< css::uno::XInterface > m_xParent;
166
167 bool m_bHasClonedSize; // the object has cached size
168 css::awt::Size m_aClonedSize;
170 css::awt::Size m_aDefaultSizeForChart_In_100TH_MM;//#i103460# charts do not necessarily have an own size within ODF files, in this case they need to use the size settings from the surrounding frame, which is made available with this member
171
172private:
173 void CommonInit_Impl( const css::uno::Sequence< css::beans::NamedValue >& aObjectProps );
174
175 void LinkInit_Impl( const css::uno::Sequence< css::beans::NamedValue >& aObjectProps,
176 const css::uno::Sequence< css::beans::PropertyValue >& aMediaDescr,
177 const css::uno::Sequence< css::beans::PropertyValue >& aObjectDescr );
178
179
181 const css::uno::Reference< css::embed::XStorage >& xNewParentStorage,
182 const css::uno::Reference< css::embed::XStorage >& xNewObjectStorage,
183 const OUString& aNewName );
184
186 const css::uno::Reference< css::embed::XStorage >& xNewParentStorage,
187 const OUString& aNewName );
188
189 const OUString& GetDocumentServiceName() const { return m_aDocServiceName; }
190 const OUString& GetPresetFilterName() const { return m_aPresetFilterName; }
191
192 css::uno::Reference< css::io::XInputStream >
193 StoreDocumentToTempStream_Impl( sal_Int32 nStorageFormat,
194 const OUString& aBaseURL,
195 const OUString& aHierarchName );
196
197 sal_Int32 ConvertVerbToState_Impl( sal_Int32 nVerb );
198
199 void Deactivate();
200
201 // when State = CopyTempToLink -> the user pressed the save button
202 // when change in embedded part then copy to the linked-file
203 // CopyLinkToTemp -> the user pressed the refresh button
204 // when change in linked-file then copy to the embedded part (temp-file)
205 // CopyLinkToTempInit -> create the temp file
206 // CopyLinkToTempRefresh -> when save and Link change but not temp then update temp
207 enum class CopyBackToOLELink {NoCopy, CopyTempToLink, CopyLinkToTemp, CopyLinkToTempInit, CopyLinkToTempRefresh};
208
209 void handleLinkedOLE( CopyBackToOLELink eState );
210
211 void StateChangeNotification_Impl( bool bBeforeChange, sal_Int32 nOldState, sal_Int32 nNewState,::osl::ResettableMutexGuard& _rGuard );
212
213 void SwitchStateTo_Impl( sal_Int32 nNextState );
214
215 css::uno::Sequence< sal_Int32 > const & GetIntermediateStatesSequence_Impl( sal_Int32 nNewState );
216
217 OUString GetFilterName( sal_Int32 nVersion ) const;
218 css::uno::Reference< css::util::XCloseable > LoadDocumentFromStorage_Impl();
219
220 css::uno::Reference< css::util::XCloseable > LoadLink_Impl();
221
222 css::uno::Reference< css::util::XCloseable > InitNewDocument_Impl();
223
225 const css::uno::Reference<css::embed::XStorage>& xStorage,
226 const css::uno::Sequence<css::beans::PropertyValue>& rMediaArgs,
227 const css::uno::Sequence<css::beans::PropertyValue>& rObjArgs,
228 sal_Int32 nStorageVersion,
229 const OUString& aHierarchName,
230 bool bAttachToStorage );
231
233 const css::uno::Reference< css::document::XStorageBasedDocument >& xDoc,
234 const css::uno::Reference< css::embed::XStorage >& xStorage );
235
237 const css::uno::Reference< css::embed::XStorage >& i_rxStorage,
239 ) const;
240
242 const css::uno::Reference< css::util::XCloseable >& i_rxDocument
243 ) const;
244
245 css::uno::Reference< css::util::XCloseable > CreateDocFromMediaDescr_Impl(
246 const css::uno::Sequence< css::beans::PropertyValue >& aMedDescr );
247
248 css::uno::Reference< css::util::XCloseable > CreateTempDocFromLink_Impl();
249
250 OUString GetBaseURL_Impl() const;
251 static OUString GetBaseURLFrom_Impl(
252 const css::uno::Sequence< css::beans::PropertyValue >& lArguments,
253 const css::uno::Sequence< css::beans::PropertyValue >& lObjArgs );
254
255 int ShowMsgDialog(TranslateId Msg, const OUString& sFileName);
256
257protected:
259
260public:
262 css::uno::Reference< css::uno::XComponentContext > xContext,
263 const css::uno::Sequence< css::beans::NamedValue >& aObjectProps );
264
265 // no persistence for linked objects, so the descriptors are provided in constructor
267 css::uno::Reference< css::uno::XComponentContext > xContext,
268 const css::uno::Sequence< css::beans::NamedValue >& aObjectProps,
269 const css::uno::Sequence< css::beans::PropertyValue >& aMediaDescr,
270 const css::uno::Sequence< css::beans::PropertyValue >& aObjectDescr );
271
272 virtual ~OCommonEmbeddedObject() override;
273
274 void SaveObject_Impl();
275
276 void requestPositioning( const css::awt::Rectangle& aRect );
277
278 // not a real listener and should not be
279 void PostEvent_Impl( const OUString& aEventName );
280
281 OUString const & getContainerName() const { return m_aContainerName; }
282// XInterface
283
284 virtual css::uno::Any SAL_CALL queryInterface( const css::uno::Type& rType ) override ;
285
286 virtual void SAL_CALL acquire()
287 noexcept override;
288
289 virtual void SAL_CALL release()
290 noexcept override;
291
292// XEmbeddedObject
293
294 virtual void SAL_CALL changeState( sal_Int32 nNewState ) override;
295
296 virtual css::uno::Sequence< sal_Int32 > SAL_CALL getReachableStates() override;
297
298 virtual sal_Int32 SAL_CALL getCurrentState() override;
299
300 virtual void SAL_CALL doVerb( sal_Int32 nVerbID ) override;
301
302 virtual css::uno::Sequence< css::embed::VerbDescriptor > SAL_CALL getSupportedVerbs() override;
303
304 virtual void SAL_CALL setClientSite(
305 const css::uno::Reference< css::embed::XEmbeddedClient >& xClient ) override;
306
307 virtual css::uno::Reference< css::embed::XEmbeddedClient > SAL_CALL getClientSite() override;
308
309 virtual void SAL_CALL update() override;
310
311 virtual void SAL_CALL setUpdateMode( sal_Int32 nMode ) override;
312
313 virtual sal_Int64 SAL_CALL getStatus( sal_Int64 nAspect ) override;
314
315 virtual void SAL_CALL setContainerName( const OUString& sName ) override;
316
317// EmbeddedUpdate
318
319 virtual void SetOleState(bool bIsOleUpdate) override;
320
321
322// XVisualObject
323
324 virtual void SAL_CALL setVisualAreaSize( sal_Int64 nAspect, const css::awt::Size& aSize ) override;
325
326 virtual css::awt::Size SAL_CALL getVisualAreaSize( sal_Int64 nAspect ) override;
327
328 virtual css::embed::VisualRepresentation SAL_CALL getPreferredVisualRepresentation( ::sal_Int64 nAspect ) override;
329
330 virtual sal_Int32 SAL_CALL getMapUnit( sal_Int64 nAspect ) override;
331
332// XEmbedPersist
333
334 virtual void SAL_CALL setPersistentEntry(
335 const css::uno::Reference< css::embed::XStorage >& xStorage,
336 const OUString& sEntName,
337 sal_Int32 nEntryConnectionMode,
338 const css::uno::Sequence< css::beans::PropertyValue >& lArguments,
339 const css::uno::Sequence< css::beans::PropertyValue >& lObjArgs ) override;
340
341 virtual void SAL_CALL storeToEntry( const css::uno::Reference< css::embed::XStorage >& xStorage, const OUString& sEntName, const css::uno::Sequence< css::beans::PropertyValue >& lArguments, const css::uno::Sequence< css::beans::PropertyValue >& lObjArgs ) override;
342
343 virtual void SAL_CALL storeAsEntry(
344 const css::uno::Reference< css::embed::XStorage >& xStorage,
345 const OUString& sEntName,
346 const css::uno::Sequence< css::beans::PropertyValue >& lArguments,
347 const css::uno::Sequence< css::beans::PropertyValue >& lObjArgs ) override;
348
349 virtual void SAL_CALL saveCompleted( sal_Bool bUseNew ) override;
350
351 virtual sal_Bool SAL_CALL hasEntry() override;
352
353 virtual OUString SAL_CALL getEntryName() override;
354
355// XLinkageSupport
356
357 virtual void SAL_CALL breakLink( const css::uno::Reference< css::embed::XStorage >& xStorage,
358 const OUString& sEntName ) override;
359
360 virtual sal_Bool SAL_CALL isLink() override;
361
362 virtual OUString SAL_CALL getLinkURL() override;
363
364
365// XCommonEmbedPersist
366
367 virtual void SAL_CALL storeOwn() override;
368
369 virtual sal_Bool SAL_CALL isReadonly() override;
370
371 virtual void SAL_CALL reload(
372 const css::uno::Sequence< css::beans::PropertyValue >& lArguments,
373 const css::uno::Sequence< css::beans::PropertyValue >& lObjArgs ) override;
374
375// XEmbedPersist2
376
377 virtual sal_Bool SAL_CALL isStored() override;
378
379// XInplaceObject
380
381 virtual void SAL_CALL setObjectRectangles( const css::awt::Rectangle& aPosRect,
382 const css::awt::Rectangle& aClipRect ) override;
383
384 virtual void SAL_CALL enableModeless( sal_Bool bEnable ) override;
385
386 virtual void SAL_CALL translateAccelerators(
387 const css::uno::Sequence< css::awt::KeyEvent >& aKeys ) override;
388
389// XClassifiedObject
390
391 virtual css::uno::Sequence< sal_Int8 > SAL_CALL getClassID() override;
392
393 virtual OUString SAL_CALL getClassName() override;
394
395 virtual void SAL_CALL setClassInfo(
396 const css::uno::Sequence< sal_Int8 >& aClassID, const OUString& aClassName ) override;
397
398
399// XComponentSupplier
400
401 virtual css::uno::Reference< css::util::XCloseable > SAL_CALL getComponent() override;
402
403// XStateChangeBroadcaster
404 virtual void SAL_CALL addStateChangeListener( const css::uno::Reference< css::embed::XStateChangeListener >& xListener ) override;
405 virtual void SAL_CALL removeStateChangeListener( const css::uno::Reference< css::embed::XStateChangeListener >& xListener ) override;
406
407// XCloseable
408
409 virtual void SAL_CALL close( sal_Bool DeliverOwnership ) override;
410
411 virtual void SAL_CALL addCloseListener(
412 const css::uno::Reference< css::util::XCloseListener >& Listener ) override;
413
414 virtual void SAL_CALL removeCloseListener(
415 const css::uno::Reference< css::util::XCloseListener >& Listener ) override;
416
417// XEventBroadcaster
418 virtual void SAL_CALL addEventListener(
419 const css::uno::Reference< css::document::XEventListener >& Listener ) override;
420
421 virtual void SAL_CALL removeEventListener(
422 const css::uno::Reference< css::document::XEventListener >& Listener ) override;
423
424 // XChild
425 virtual css::uno::Reference< css::uno::XInterface > SAL_CALL getParent( ) override;
426 virtual void SAL_CALL setParent( const css::uno::Reference< css::uno::XInterface >& Parent ) override;
427
428 // XDefaultSizeTransmitter
429 //#i103460# charts do not necessarily have an own size within ODF files, in this case they need to use the size settings from the surrounding frame, which is made available with this method
430 virtual void SAL_CALL setDefaultSize( const css::awt::Size& rSize_100TH_MM ) override;
431
432 // XServiceInfo
433 OUString SAL_CALL getImplementationName() override;
434 sal_Bool SAL_CALL supportsService( const OUString& ServiceName ) override;
435 css::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames() override;
436
437 // XInitialization
438 void SAL_CALL initialize(const css::uno::Sequence<css::uno::Any>& rArguments) override;
439
440 // XTypeProvider
441 css::uno::Sequence<css::uno::Type> SAL_CALL getTypes() override;
442 css::uno::Sequence<sal_Int8> SAL_CALL getImplementationId() override;
443};
444
445/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
Represents an OLE object that has native data and we loaded that data into a document model successfu...
std::map< sal_Int32, sal_Int32 > m_aVerbTable
virtual css::uno::Reference< css::uno::XInterface > SAL_CALL getParent() override
Definition: embedobj.cxx:709
virtual void SAL_CALL setObjectRectangles(const css::awt::Rectangle &aPosRect, const css::awt::Rectangle &aClipRect) override
Definition: inplaceobj.cxx:38
css::uno::Sequence< css::beans::PropertyValue > m_aDocMediaDescriptor
virtual css::uno::Reference< css::util::XCloseable > SAL_CALL getComponent() override
Definition: miscobj.cxx:556
virtual sal_Bool SAL_CALL isReadonly() override
css::awt::Size m_aDefaultSizeForChart_In_100TH_MM
css::uno::Reference< css::uno::XComponentContext > m_xContext
css::uno::Sequence< css::beans::PropertyValue > m_aNewDocMediaDescriptor
virtual void SAL_CALL addEventListener(const css::uno::Reference< css::document::XEventListener > &Listener) override
Definition: miscobj.cxx:716
virtual void SAL_CALL addCloseListener(const css::uno::Reference< css::util::XCloseListener > &Listener) override
Definition: miscobj.cxx:694
virtual css::uno::Sequence< sal_Int8 > SAL_CALL getClassID() override
Definition: miscobj.cxx:532
void SwitchOwnPersistence(const css::uno::Reference< css::embed::XStorage > &xNewParentStorage, const OUString &aNewName)
std::unique_ptr<::comphelper::OMultiTypeInterfaceContainerHelper2 > m_pInterfaceContainer
virtual void SAL_CALL release() noexcept override
Definition: miscobj.cxx:525
sal_Int32 ConvertVerbToState_Impl(sal_Int32 nVerb)
Definition: embedobj.cxx:130
OCommonEmbeddedObject(css::uno::Reference< css::uno::XComponentContext > xContext, const css::uno::Sequence< css::beans::NamedValue > &aObjectProps, const css::uno::Sequence< css::beans::PropertyValue > &aMediaDescr, const css::uno::Sequence< css::beans::PropertyValue > &aObjectDescr)
const OUString & GetDocumentServiceName() const
css::uno::Reference< css::uno::XInterface > m_xParent
virtual void SAL_CALL reload(const css::uno::Sequence< css::beans::PropertyValue > &lArguments, const css::uno::Sequence< css::beans::PropertyValue > &lObjArgs) override
virtual sal_Bool SAL_CALL hasEntry() override
static OUString GetBaseURLFrom_Impl(const css::uno::Sequence< css::beans::PropertyValue > &lArguments, const css::uno::Sequence< css::beans::PropertyValue > &lObjArgs)
void PostEvent_Impl(const OUString &aEventName)
Definition: miscobj.cxx:313
OCommonEmbeddedObject(css::uno::Reference< css::uno::XComponentContext > xContext, const css::uno::Sequence< css::beans::NamedValue > &aObjectProps)
void StateChangeNotification_Impl(bool bBeforeChange, sal_Int32 nOldState, sal_Int32 nNewState,::osl::ResettableMutexGuard &_rGuard)
Definition: embedobj.cxx:182
virtual sal_Bool SAL_CALL isLink() override
css::uno::Reference< css::embed::XStorage > m_xRecoveryStorage
css::uno::Sequence< css::embed::VerbDescriptor > m_aObjectVerbs
css::awt::Rectangle m_aClipRectangle
css::uno::Reference< css::awt::XWindow > m_xClientWindow
css::uno::Reference< css::util::XCloseable > InitNewDocument_Impl()
virtual void SAL_CALL setUpdateMode(sal_Int32 nMode) override
Definition: embedobj.cxx:667
virtual void SAL_CALL changeState(sal_Int32 nNewState) override
Definition: embedobj.cxx:476
OUString GetBaseURL_Impl() const
OUString const & getContainerName() const
virtual css::awt::Size SAL_CALL getVisualAreaSize(sal_Int64 nAspect) override
Definition: visobj.cxx:70
css::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() override
Definition: miscobj.cxx:768
virtual void SAL_CALL setPersistentEntry(const css::uno::Reference< css::embed::XStorage > &xStorage, const OUString &sEntName, sal_Int32 nEntryConnectionMode, const css::uno::Sequence< css::beans::PropertyValue > &lArguments, const css::uno::Sequence< css::beans::PropertyValue > &lObjArgs) override
virtual void SAL_CALL setVisualAreaSize(sal_Int64 nAspect, const css::awt::Size &aSize) override
Definition: visobj.cxx:34
void requestPositioning(const css::awt::Rectangle &aRect)
Definition: miscobj.cxx:289
void StoreDocToStorage_Impl(const css::uno::Reference< css::embed::XStorage > &xStorage, const css::uno::Sequence< css::beans::PropertyValue > &rMediaArgs, const css::uno::Sequence< css::beans::PropertyValue > &rObjArgs, sal_Int32 nStorageVersion, const OUString &aHierarchName, bool bAttachToStorage)
int ShowMsgDialog(TranslateId Msg, const OUString &sFileName)
Definition: miscobj.cxx:348
virtual void SAL_CALL breakLink(const css::uno::Reference< css::embed::XStorage > &xStorage, const OUString &sEntName) override
css::awt::Rectangle m_aOwnRectangle
css::uno::Reference< css::util::XCloseable > CreateTempDocFromLink_Impl()
virtual OUString SAL_CALL getEntryName() override
virtual void SAL_CALL saveCompleted(sal_Bool bUseNew) override
virtual css::embed::VisualRepresentation SAL_CALL getPreferredVisualRepresentation(::sal_Int64 nAspect) override
Definition: visobj.cxx:145
OUString m_aDefaultParentBaseURL
virtual void SAL_CALL setDefaultSize(const css::awt::Size &rSize_100TH_MM) override
Definition: embedobj.cxx:726
virtual void SAL_CALL setClassInfo(const css::uno::Sequence< sal_Int8 > &aClassID, const OUString &aClassName) override
Definition: miscobj.cxx:548
void LinkInit_Impl(const css::uno::Sequence< css::beans::NamedValue > &aObjectProps, const css::uno::Sequence< css::beans::PropertyValue > &aMediaDescr, const css::uno::Sequence< css::beans::PropertyValue > &aObjectDescr)
Definition: miscobj.cxx:173
css::uno::Reference< css::io::XTempFile > m_aLinkTempFile
virtual void SAL_CALL removeStateChangeListener(const css::uno::Reference< css::embed::XStateChangeListener > &xListener) override
Definition: miscobj.cxx:588
virtual ~OCommonEmbeddedObject() override
Definition: miscobj.cxx:259
virtual void SAL_CALL removeEventListener(const css::uno::Reference< css::document::XEventListener > &Listener) override
Definition: miscobj.cxx:729
virtual void SAL_CALL storeAsEntry(const css::uno::Reference< css::embed::XStorage > &xStorage, const OUString &sEntName, const css::uno::Sequence< css::beans::PropertyValue > &lArguments, const css::uno::Sequence< css::beans::PropertyValue > &lObjArgs) override
virtual void SetOleState(bool bIsOleUpdate) override
Definition: embedobj.cxx:702
css::uno::Sequence< sal_Int8 > m_aClassID
void SetInplaceActiveState()
Definition: embedobj.cxx:219
virtual css::uno::Reference< css::embed::XEmbeddedClient > SAL_CALL getClientSite() override
Definition: embedobj.cxx:640
virtual OUString SAL_CALL getClassName() override
Definition: miscobj.cxx:540
css::uno::Reference< css::util::XCloseable > LoadLink_Impl()
css::uno::Reference< css::embed::XStorage > m_xNewObjectStorage
virtual void SAL_CALL setParent(const css::uno::Reference< css::uno::XInterface > &Parent) override
Definition: embedobj.cxx:714
virtual void SAL_CALL storeToEntry(const css::uno::Reference< css::embed::XStorage > &xStorage, const OUString &sEntName, const css::uno::Sequence< css::beans::PropertyValue > &lArguments, const css::uno::Sequence< css::beans::PropertyValue > &lObjArgs) override
void EmbedAndReparentDoc_Impl(const css::uno::Reference< css::util::XCloseable > &i_rxDocument) const
const OUString & GetPresetFilterName() const
css::awt::Size m_aClonedSize
OUString SAL_CALL getImplementationName() override
Definition: miscobj.cxx:737
rtl::Reference< DocumentHolder > m_xDocHolder
virtual sal_Int32 SAL_CALL getMapUnit(sal_Int64 nAspect) override
Definition: visobj.cxx:106
css::uno::Reference< css::util::XCloseable > CreateDocFromMediaDescr_Impl(const css::uno::Sequence< css::beans::PropertyValue > &aMedDescr)
void SwitchOwnPersistence(const css::uno::Reference< css::embed::XStorage > &xNewParentStorage, const css::uno::Reference< css::embed::XStorage > &xNewObjectStorage, const OUString &aNewName)
virtual void SAL_CALL doVerb(sal_Int32 nVerbID) override
Definition: embedobj.cxx:566
virtual sal_Int64 SAL_CALL getStatus(sal_Int64 nAspect) override
Definition: embedobj.cxx:684
virtual void SAL_CALL close(sal_Bool DeliverOwnership) override
Definition: miscobj.cxx:598
virtual css::uno::Sequence< css::embed::VerbDescriptor > SAL_CALL getSupportedVerbs() override
Definition: embedobj.cxx:608
::std::unique_ptr< FileChangedChecker > m_pLinkFile
virtual sal_Bool SAL_CALL isStored() override
void handleLinkedOLE(CopyBackToOLELink eState)
Definition: miscobj.cxx:370
css::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames() override
Definition: miscobj.cxx:747
OUString GetFilterName(sal_Int32 nVersion) const
css::uno::Reference< css::embed::XStorage > m_xNewParentStorage
virtual void SAL_CALL translateAccelerators(const css::uno::Sequence< css::awt::KeyEvent > &aKeys) override
Definition: inplaceobj.cxx:67
void SwitchDocToStorage_Impl(const css::uno::Reference< css::document::XStorageBasedDocument > &xDoc, const css::uno::Reference< css::embed::XStorage > &xStorage)
css::uno::Reference< css::embed::XEmbeddedClient > m_xClientSite
css::uno::Sequence< css::uno::Type > SAL_CALL getTypes() override
Definition: miscobj.cxx:752
virtual sal_Int32 SAL_CALL getCurrentState() override
Definition: embedobj.cxx:553
virtual void SAL_CALL storeOwn() override
virtual void SAL_CALL setClientSite(const css::uno::Reference< css::embed::XEmbeddedClient > &xClient) override
Definition: embedobj.cxx:621
css::uno::Sequence< sal_Int32 > const & GetIntermediateStatesSequence_Impl(sal_Int32 nNewState)
Definition: embedobj.cxx:448
virtual void SAL_CALL setContainerName(const OUString &sName) override
Definition: embedobj.cxx:693
virtual css::uno::Sequence< sal_Int32 > SAL_CALL getReachableStates() override
Definition: embedobj.cxx:540
css::uno::Reference< css::embed::XStorage > m_xParentStorage
virtual css::uno::Any SAL_CALL queryInterface(const css::uno::Type &rType) override
Definition: miscobj.cxx:465
css::uno::Reference< css::io::XInputStream > StoreDocumentToTempStream_Impl(sal_Int32 nStorageFormat, const OUString &aBaseURL, const OUString &aHierarchName)
void CommonInit_Impl(const css::uno::Sequence< css::beans::NamedValue > &aObjectProps)
Definition: miscobj.cxx:115
css::uno::Reference< css::util::XCloseable > LoadDocumentFromStorage_Impl()
virtual void SAL_CALL acquire() noexcept override
Definition: miscobj.cxx:518
virtual void SAL_CALL removeCloseListener(const css::uno::Reference< css::util::XCloseListener > &Listener) override
Definition: miscobj.cxx:707
virtual void SAL_CALL enableModeless(sal_Bool bEnable) override
Definition: inplaceobj.cxx:62
virtual void SAL_CALL addStateChangeListener(const css::uno::Reference< css::embed::XStateChangeListener > &xListener) override
Definition: miscobj.cxx:574
void SwitchStateTo_Impl(sal_Int32 nNextState)
Definition: embedobj.cxx:251
void SAL_CALL initialize(const css::uno::Sequence< css::uno::Any > &rArguments) override
Definition: miscobj.cxx:773
sal_Bool SAL_CALL supportsService(const OUString &ServiceName) override
Definition: miscobj.cxx:742
css::uno::Reference< css::embed::XStorage > m_xObjectStorage
void FillDefaultLoadArgs_Impl(const css::uno::Reference< css::embed::XStorage > &i_rxStorage, ::comphelper::NamedValueCollection &o_rLoadArgs) const
virtual void SAL_CALL update() override
Definition: embedobj.cxx:653
virtual OUString SAL_CALL getLinkURL() override
Type
unsigned char sal_Bool
signed char sal_Int8