diff options
author | Markus Mohrhard <markus.mohrhard@googlemail.com> | 2011-12-17 00:37:45 +0100 |
---|---|---|
committer | Markus Mohrhard <markus.mohrhard@googlemail.com> | 2011-12-17 01:10:07 +0100 |
commit | bfbcd95c3f701251270fac06f9ef58f484580407 (patch) | |
tree | b6520286e8b4ee303070908d6bb9474d07299991 /sc/inc/document.hxx | |
parent | 45a570f55b66c992d7dd1fccfae4424a40d624d5 (diff) |
Copy Absolute Formulas between documents: Part I
Copying absolute sheet references between different documents now transforms absolute sheet
references into external references if the refered range is not copied.
Working:
References to already saved documents work already with:
-only transform reference into an external reference if range is not in
the copied range
-don't transform relative references
Missing:
handling for copying from not yet saved files
idea:
- add handling of external references to open documents that are not yet
saved through the temporary document name
- transform the url to the correct file url as soon as the source document is
saved
- if target document is saved first show warning message to the user and
save with temporary name as file url
Diffstat (limited to 'sc/inc/document.hxx')
-rw-r--r-- | sc/inc/document.hxx | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/sc/inc/document.hxx b/sc/inc/document.hxx index d39940f8685f..526ad41f740f 100644 --- a/sc/inc/document.hxx +++ b/sc/inc/document.hxx @@ -242,6 +242,7 @@ private: ScValidationDataList* pValidationList; // validity SvNumberFormatterIndexTable* pFormatExchangeList; // for application of number formats TableContainer maTabs; + std::vector<rtl::OUString> maTabNames; // for undo document, we need the information tab name <-> index mutable ScRangeName* pRangeName; ScDBCollection* pDBCollection; ScDPCollection* pDPCollection; @@ -280,8 +281,9 @@ private: mutable ::std::auto_ptr< ScFormulaParserPool > mxFormulaParserPool; /// Pool for all external formula parsers used by this document. - rtl::OUString aDocName; // optional: name of document - rtl::OUString aDocCodeName; // optional: name of document (twice?) + rtl::OUString aDocName; // optional: name of document + rtl::OUString aDocCodeName; // optional: name of document (twice?) + rtl::OUString maFileURL; // file URL for copy & paste ScRangePairListRef xColNameRanges; ScRangePairListRef xRowNameRanges; @@ -432,6 +434,7 @@ public: void SetName( const rtl::OUString& r ) { aDocName = r; } const rtl::OUString& GetCodeName() const { return aDocCodeName; } void SetCodeName( const rtl::OUString& r ) { aDocCodeName = r; } + const rtl::OUString& GetFileURL() const { return maFileURL; } void GetDocStat( ScDocStat& rDocStat ); @@ -533,6 +536,7 @@ public: SC_DLLPUBLIC bool GetCodeName( SCTAB nTab, rtl::OUString& rName ) const; SC_DLLPUBLIC bool SetCodeName( SCTAB nTab, const rtl::OUString& rName ); SC_DLLPUBLIC bool GetTable( const rtl::OUString& rName, SCTAB& rTab ) const; + rtl::OUString GetCopyTabName(SCTAB nTab) const; SC_DLLPUBLIC void SetAnonymousDBData(SCTAB nTab, ScDBData* pDBData); SC_DLLPUBLIC ScDBData* GetAnonymousDBData(SCTAB nTab); |