diff options
author | Kohei Yoshida <kohei.yoshida@gmail.com> | 2013-05-17 15:08:23 -0400 |
---|---|---|
committer | Kohei Yoshida <kohei.yoshida@gmail.com> | 2013-05-20 20:18:46 -0400 |
commit | 430d81e1fd44f51a91b81da91504a004ab7373d8 (patch) | |
tree | 30e2dd643b1b38d4f7114bc11616405fd2e44ca0 /sc/inc | |
parent | 9cf69e73e6e20fda2518c27e617cc990e95d60ee (diff) |
Same with MixDocument(). But this one has additional bottleneck...
With the removal of existing cells. So, this change is not enough to
make this operation fly.
Change-Id: Ic468375f6d0c28e2cc7d5391fb0565d53ee7fb4e
Diffstat (limited to 'sc/inc')
-rw-r--r-- | sc/inc/clipcontext.hxx | 7 | ||||
-rw-r--r-- | sc/inc/column.hxx | 11 | ||||
-rw-r--r-- | sc/inc/document.hxx | 2 | ||||
-rw-r--r-- | sc/inc/table.hxx | 12 |
4 files changed, 24 insertions, 8 deletions
diff --git a/sc/inc/clipcontext.hxx b/sc/inc/clipcontext.hxx index 4d9224f425b6..599da6efceb2 100644 --- a/sc/inc/clipcontext.hxx +++ b/sc/inc/clipcontext.hxx @@ -90,6 +90,13 @@ public: virtual ~CopyToDocContext(); }; +class MixDocContext : public ClipContextBase +{ +public: + MixDocContext(ScDocument& rDoc); + virtual ~MixDocContext(); +}; + } #endif diff --git a/sc/inc/column.hxx b/sc/inc/column.hxx index 0e7ed533dc1c..c71ffeaba354 100644 --- a/sc/inc/column.hxx +++ b/sc/inc/column.hxx @@ -41,6 +41,7 @@ namespace sc { class CopyFromClipContext; class CopyToClipContext; class CopyToDocContext; + class MixDocContext; struct ColumnBlockPosition; } @@ -231,10 +232,12 @@ public: void RemoveEditAttribs( SCROW nStartRow, SCROW nEndRow ); // Selection (?) of this document - void MixMarked( const ScMarkData& rMark, sal_uInt16 nFunction, - bool bSkipEmpty, ScColumn& rSrcCol ); - void MixData( SCROW nRow1, SCROW nRow2, sal_uInt16 nFunction, bool bSkipEmpty, - ScColumn& rSrcCol ); + void MixMarked( + sc::MixDocContext& rCxt, const ScMarkData& rMark, sal_uInt16 nFunction, + bool bSkipEmpty, const ScColumn& rSrcCol ); + void MixData( + sc::MixDocContext& rCxt, SCROW nRow1, SCROW nRow2, sal_uInt16 nFunction, bool bSkipEmpty, + const ScColumn& rSrcCol ); ScFormulaCell* CreateRefCell( ScDocument* pDestDoc, const ScAddress& rDestPos, SCSIZE nIndex, sal_uInt16 nFlags ) const; diff --git a/sc/inc/document.hxx b/sc/inc/document.hxx index 5f63d85a5586..f01e811eb94e 100644 --- a/sc/inc/document.hxx +++ b/sc/inc/document.hxx @@ -1988,6 +1988,8 @@ private: // CLOOK-Impl-methods }; bool TableExists( SCTAB nTab ) const; + ScTable* FetchTable( SCTAB nTab ); + const ScTable* FetchTable( SCTAB nTab ) const; void MergeNumberFormatter(ScDocument* pSrcDoc); diff --git a/sc/inc/table.hxx b/sc/inc/table.hxx index 7d0836fdb26d..f04a9bbe0a47 100644 --- a/sc/inc/table.hxx +++ b/sc/inc/table.hxx @@ -53,6 +53,7 @@ namespace sc { class CopyFromClipContext; class CopyToClipContext; class CopyToDocContext; + class MixDocContext; struct ColumnBlockPosition; } @@ -412,10 +413,13 @@ public: ScTable* pTransClip, sal_uInt16 nFlags, bool bAsLink ); // mark of this document - void MixMarked( const ScMarkData& rMark, sal_uInt16 nFunction, - bool bSkipEmpty, ScTable* pSrcTab ); - void MixData( SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, - sal_uInt16 nFunction, bool bSkipEmpty, ScTable* pSrcTab ); + void MixMarked( + sc::MixDocContext& rCxt, const ScMarkData& rMark, sal_uInt16 nFunction, + bool bSkipEmpty, const ScTable* pSrcTab ); + + void MixData( + sc::MixDocContext& rCxt, SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, + sal_uInt16 nFunction, bool bSkipEmpty, const ScTable* pSrcTab ); void CopyData( SCCOL nStartCol, SCROW nStartRow, SCCOL nEndCol, SCROW nEndRow, SCCOL nDestCol, SCROW nDestRow, SCTAB nDestTab ); |