summaryrefslogtreecommitdiff
path: root/sc/inc
diff options
context:
space:
mode:
Diffstat (limited to 'sc/inc')
-rw-r--r--sc/inc/clipcontext.hxx31
-rw-r--r--sc/inc/column.hxx4
-rw-r--r--sc/inc/document.hxx2
-rw-r--r--sc/inc/table.hxx2
4 files changed, 38 insertions, 1 deletions
diff --git a/sc/inc/clipcontext.hxx b/sc/inc/clipcontext.hxx
index 77abcf834618..d016410fecd9 100644
--- a/sc/inc/clipcontext.hxx
+++ b/sc/inc/clipcontext.hxx
@@ -22,6 +22,7 @@ class ScDocument;
class ScColumn;
class ScPatternAttr;
class ScPostIt;
+class ScConditionalFormatList;
namespace sc {
@@ -43,21 +44,37 @@ public:
class CopyFromClipContext : public ClipContextBase
{
+ SCCOL mnDestCol1;
+ SCCOL mnDestCol2;
+ SCROW mnDestRow1;
+ SCROW mnDestRow2;
SCTAB mnTabStart;
SCTAB mnTabEnd;
ScDocument* mpRefUndoDoc;
ScDocument* mpClipDoc;
- sal_uInt16 mnInsertFlag;
+ sal_uInt16 mnInsertFlag;
+ sal_uInt16 mnDeleteFlag;
ScCellValue maSingleCell;
+ ScConditionalFormatList* mpCondFormatList;
const ScPatternAttr* mpSinglePattern;
const ScPostIt* mpSingleNote;
bool mbAsLink:1;
bool mbSkipAttrForEmptyCells:1;
bool mbCloneNotes:1;
+ bool mbTableProtected:1;
CopyFromClipContext(); // disabled
public:
+
+ struct Range
+ {
+ SCCOL mnCol1;
+ SCCOL mnCol2;
+ SCROW mnRow1;
+ SCROW mnRow2;
+ };
+
CopyFromClipContext(ScDocument& rDoc,
ScDocument* pRefUndoDoc, ScDocument* pClipDoc, sal_uInt16 nInsertFlag,
bool bAsLink, bool bSkipAttrForEmptyCells);
@@ -69,18 +86,30 @@ public:
SCTAB getTabStart() const;
SCTAB getTabEnd() const;
+ void setDestRange( SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2 );
+ Range getDestRange() const;
+
ScDocument* getUndoDoc();
ScDocument* getClipDoc();
sal_uInt16 getInsertFlag() const;
+ void setDeleteFlag( sal_uInt16 nFlag );
+ sal_uInt16 getDeleteFlag() const;
+
ScCellValue& getSingleCell();
+ void setCondFormatList( ScConditionalFormatList* pCondFormatList );
+ ScConditionalFormatList* getCondFormatList();
+
const ScPatternAttr* getSingleCellPattern() const;
void setSingleCellPattern( const ScPatternAttr* pAttr );
const ScPostIt* getSingleCellNote() const;
void setSingleCellNote( const ScPostIt* pNote );
+ void setTableProtected( bool b );
+ bool isTableProtected() const;
+
bool isAsLink() const;
bool isSkipAttrForEmptyCells() const;
bool isCloneNotes() const;
diff --git a/sc/inc/column.hxx b/sc/inc/column.hxx
index 9b362702a6ad..7f0c365dcddf 100644
--- a/sc/inc/column.hxx
+++ b/sc/inc/column.hxx
@@ -232,6 +232,7 @@ public:
bool InitBlockPosition( sc::ColumnBlockPosition& rBlockPos );
bool InitBlockPosition( sc::ColumnBlockConstPosition& rBlockPos ) const;
+ void DeleteBeforeCopyFromClip( sc::CopyFromClipContext& rCxt, const ScColumn& rClipCol );
void CopyOneCellFromClip( sc::CopyFromClipContext& rCxt, SCROW nRow1, SCROW nRow2 );
void CopyFromClip(
@@ -592,6 +593,9 @@ private:
// cell notes
void SwapCellNotes( SCROW nRow1, SCROW nRow2 );
+ void DeleteCells(
+ sc::ColumnBlockPosition& rBlockPos, SCROW nRow1, SCROW nRow2, sal_uInt16 nDelFlag,
+ std::vector<SCROW>& rDeleted );
};
#endif
diff --git a/sc/inc/document.hxx b/sc/inc/document.hxx
index 129450389b80..12b2beec4db7 100644
--- a/sc/inc/document.hxx
+++ b/sc/inc/document.hxx
@@ -1207,6 +1207,8 @@ public:
bool InitColumnBlockPosition( sc::ColumnBlockPosition& rBlokPos, SCTAB nTab, SCCOL nCol );
+ void DeleteBeforeCopyFromClip( sc::CopyFromClipContext& rCxt, const ScMarkData& rMark );
+
bool CopyOneCellFromClip(
sc::CopyFromClipContext& rCxt, SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2 );
void CopyBlockFromClip(
diff --git a/sc/inc/table.hxx b/sc/inc/table.hxx
index 1e8764b7f12c..563f17d9a7db 100644
--- a/sc/inc/table.hxx
+++ b/sc/inc/table.hxx
@@ -418,6 +418,8 @@ public:
bool InitColumnBlockPosition( sc::ColumnBlockPosition& rBlockPos, SCCOL nCol );
+ void DeleteBeforeCopyFromClip( sc::CopyFromClipContext& rCxt, const ScTable& rClipTab );
+
void CopyOneCellFromClip(
sc::CopyFromClipContext& rCxt, SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2 );