summaryrefslogtreecommitdiff
path: root/sc/inc
diff options
context:
space:
mode:
authorKohei Yoshida <kohei.yoshida@gmail.com>2013-05-17 15:08:23 -0400
committerKohei Yoshida <kohei.yoshida@gmail.com>2013-05-20 20:18:46 -0400
commit430d81e1fd44f51a91b81da91504a004ab7373d8 (patch)
tree30e2dd643b1b38d4f7114bc11616405fd2e44ca0 /sc/inc
parent9cf69e73e6e20fda2518c27e617cc990e95d60ee (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.hxx7
-rw-r--r--sc/inc/column.hxx11
-rw-r--r--sc/inc/document.hxx2
-rw-r--r--sc/inc/table.hxx12
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 );