diff options
author | Mike Kaganski <mikekaganski@hotmail.com> | 2015-06-04 06:47:38 +1000 |
---|---|---|
committer | Michael Meeks <michael.meeks@collabora.com> | 2015-06-10 20:28:56 +0000 |
commit | 17282387d650e843e0f5a28611d91597ccd09970 (patch) | |
tree | 17fdefc84d895b8684dbf35a55f92d7027e80871 /sc/inc/externalrefmgr.hxx | |
parent | tdf#89972: unit test: check proper external ref manager registration (diff) | |
download | core-17282387d650e843e0f5a28611d91597ccd09970.tar.gz core-17282387d650e843e0f5a28611d91597ccd09970.zip |
tdf#89972: also copy external reference status
fixes regression from commit 4467c67dc8bf17c67c70985c0d0ea64636884f9f,
where the new optimized code path failed to properly register
ScFormulaCell with ScExternalRefManager.
Introduces a new public method in ScExternalRefManager: insertRefCellAsTmpl
that registers a formula cell to listen to the same external references
as template cell
Introduces new property to ScFormulaCell: mbIsExtRef
that indicates that some external references are referenced by this cell
Also introduces new method ScExternalRefManager::hasCellExternalReference
(for use in unit test, will be posted immediately)
Change-Id: Iee07d7b51949fd31953b5fa662a213052eb85181
Reviewed-on: https://gerrit.libreoffice.org/16066
Reviewed-by: Michael Meeks <michael.meeks@collabora.com>
Tested-by: Michael Meeks <michael.meeks@collabora.com>
Diffstat (limited to 'sc/inc/externalrefmgr.hxx')
-rw-r--r-- | sc/inc/externalrefmgr.hxx | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/sc/inc/externalrefmgr.hxx b/sc/inc/externalrefmgr.hxx index 369066b6dd1d..792c0059c3b9 100644 --- a/sc/inc/externalrefmgr.hxx +++ b/sc/inc/externalrefmgr.hxx @@ -699,6 +699,12 @@ public: bool containsUnsavedReferences() const { return !maUnsavedDocShells.empty(); } void insertRefCell(sal_uInt16 nFileId, const ScAddress& rCell); + /** + * Add a cell to reference the same files as the template cell. + */ + void insertRefCellFromTemplate( ScFormulaCell* pTemplateCell, ScFormulaCell* pCell ); + + bool hasCellExternalReference(const ScAddress& rCell); void enableDocTimer( bool bEnable ); @@ -788,6 +794,7 @@ private: */ void transformUnsavedRefToSavedRef( SfxObjectShell* pShell ); + void insertRefCell(RefCellMap::iterator& itr, ScFormulaCell* pCell); private: ScDocument* mpDoc; |