diff options
author | Noel Grandin <noel@peralex.com> | 2014-08-22 15:15:17 +0200 |
---|---|---|
committer | Eike Rathke <erack@redhat.com> | 2014-09-04 09:05:34 -0500 |
commit | 8e4dc1d760d85e09bbc3f3bbb5b8be2947db1b63 (patch) | |
tree | dbb60d3d9c8f931ed98e6ac864695d1d9046cee5 | |
parent | a62a046df3302e5763b7a568ac25032bb1501d44 (diff) |
create type-safe bitfield for sc insert/delete flags
The most important part of the change is in sc/inc/global.hxx
It creates a type-safe struct that prevents the accidental interaction
between regular integer types and the flags struct.
It also provides utility methods that make combining and testing the
flags type-safe.
Change-Id: Ibc5b20058b1655df913490682b679afd1297b36d
Reviewed-on: https://gerrit.libreoffice.org/11071
Reviewed-by: Eike Rathke <erack@redhat.com>
Tested-by: Eike Rathke <erack@redhat.com>
41 files changed, 279 insertions, 237 deletions
diff --git a/sc/inc/clipcontext.hxx b/sc/inc/clipcontext.hxx index 7a2eb441f4e3..4017ddab514c 100644 --- a/sc/inc/clipcontext.hxx +++ b/sc/inc/clipcontext.hxx @@ -52,8 +52,8 @@ class CopyFromClipContext : public ClipContextBase SCTAB mnTabEnd; ScDocument* mpRefUndoDoc; ScDocument* mpClipDoc; - sal_uInt16 mnInsertFlag; - sal_uInt16 mnDeleteFlag; + InsertDeleteFlags mnInsertFlag; + InsertDeleteFlags mnDeleteFlag; ScCellValue maSingleCell; ScConditionalFormatList* mpCondFormatList; const ScPatternAttr* mpSinglePattern; @@ -76,7 +76,7 @@ public: }; CopyFromClipContext(ScDocument& rDoc, - ScDocument* pRefUndoDoc, ScDocument* pClipDoc, sal_uInt16 nInsertFlag, + ScDocument* pRefUndoDoc, ScDocument* pClipDoc, InsertDeleteFlags nInsertFlag, bool bAsLink, bool bSkipAttrForEmptyCells); virtual ~CopyFromClipContext(); @@ -91,10 +91,10 @@ public: ScDocument* getUndoDoc() { return mpRefUndoDoc;} ScDocument* getClipDoc() { return mpClipDoc;} - sal_uInt16 getInsertFlag() const { return mnInsertFlag;} + InsertDeleteFlags getInsertFlag() const { return mnInsertFlag;} - void setDeleteFlag( sal_uInt16 nFlag ); - sal_uInt16 getDeleteFlag() const { return mnDeleteFlag;} + void setDeleteFlag( InsertDeleteFlags nFlag ); + InsertDeleteFlags getDeleteFlag() const { return mnDeleteFlag;} ScCellValue& getSingleCell() { return maSingleCell;} diff --git a/sc/inc/column.hxx b/sc/inc/column.hxx index a14a43f24473..893ef1391e68 100644 --- a/sc/inc/column.hxx +++ b/sc/inc/column.hxx @@ -229,8 +229,8 @@ public: void InsertRow( SCROW nStartRow, SCSIZE nSize ); void DeleteRow( SCROW nStartRow, SCSIZE nSize ); void DeleteArea( - SCROW nStartRow, SCROW nEndRow, sal_uInt16 nDelFlag, bool bBroadcast = true ); - void DeleteRanges( const std::vector<sc::RowSpan>& rRanges, sal_uInt16 nDelFlag, bool bBroadcast ); + SCROW nStartRow, SCROW nEndRow, InsertDeleteFlags nDelFlag, bool bBroadcast = true ); + void DeleteRanges( const std::vector<sc::RowSpan>& rRanges, InsertDeleteFlags nDelFlag, bool bBroadcast ); void CopyToClip( sc::CopyToClipContext& rCxt, SCROW nRow1, SCROW nRow2, ScColumn& rColumn ) const; @@ -266,11 +266,11 @@ public: const ScRangeList& rRanges, ScFunctionData& rData, ScFlatBoolRowSegments& rHiddenRows ); void CopyToColumn( - sc::CopyToDocContext& rCxt, SCROW nRow1, SCROW nRow2, sal_uInt16 nFlags, bool bMarked, + sc::CopyToDocContext& rCxt, SCROW nRow1, SCROW nRow2, InsertDeleteFlags nFlags, bool bMarked, ScColumn& rColumn, const ScMarkData* pMarkData = NULL, bool bAsLink = false) const; void UndoToColumn( - sc::CopyToDocContext& rCxt, SCROW nRow1, SCROW nRow2, sal_uInt16 nFlags, bool bMarked, + sc::CopyToDocContext& rCxt, SCROW nRow1, SCROW nRow2, InsertDeleteFlags nFlags, bool bMarked, ScColumn& rColumn, const ScMarkData* pMarkData = NULL) const; void CopyScenarioFrom( const ScColumn& rSrcCol ); @@ -445,7 +445,7 @@ public: void RemoveProtected( SCROW nStartRow, SCROW nEndRow ); SCsROW ApplySelectionCache( SfxItemPoolCache* pCache, const ScMarkData& rMark, ScEditDataArray* pDataArray = NULL ); - void DeleteSelection( sal_uInt16 nDelFlag, const ScMarkData& rMark, bool bBroadcast ); + void DeleteSelection( InsertDeleteFlags nDelFlag, const ScMarkData& rMark, bool bBroadcast ); void ClearSelectionItems( const sal_uInt16* pWhich, const ScMarkData& rMark ); void ChangeSelectionIndent( bool bIncrement, const ScMarkData& rMark ); @@ -636,7 +636,7 @@ private: void CopyCellTextAttrsToDocument(SCROW nRow1, SCROW nRow2, ScColumn& rDestCol) const; void DeleteCells( - sc::ColumnBlockPosition& rBlockPos, SCROW nRow1, SCROW nRow2, sal_uInt16 nDelFlag, + sc::ColumnBlockPosition& rBlockPos, SCROW nRow1, SCROW nRow2, InsertDeleteFlags nDelFlag, std::vector<SCROW>& rDeleted ); /** diff --git a/sc/inc/document.hxx b/sc/inc/document.hxx index ad99322cac96..88e062397117 100644 --- a/sc/inc/document.hxx +++ b/sc/inc/document.hxx @@ -1203,10 +1203,10 @@ public: void DeleteObjectsInSelection( const ScMarkData& rMark ); void DeleteArea(SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, - const ScMarkData& rMark, sal_uInt16 nDelFlag); - SC_DLLPUBLIC void DeleteAreaTab(SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, - SCTAB nTab, sal_uInt16 nDelFlag); - void DeleteAreaTab(const ScRange& rRange, sal_uInt16 nDelFlag); + const ScMarkData& rMark, InsertDeleteFlags nDelFlag); + SC_DLLPUBLIC void DeleteAreaTab(SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, + SCTAB nTab, InsertDeleteFlags nDelFlag); + void DeleteAreaTab(const ScRange& rRange, InsertDeleteFlags nDelFlag); void CopyToClip(const ScClipParam& rClipParam, ScDocument* pClipDoc, const ScMarkData* pMarks = NULL, bool bAllTabs = false, bool bKeepScenarioFlags = false, @@ -1250,14 +1250,14 @@ public: void StartListeningFromClip( SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, - const ScMarkData& rMark, sal_uInt16 nInsFlag ); + const ScMarkData& rMark, InsertDeleteFlags nInsFlag ); void BroadcastFromClip( SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, - const ScMarkData& rMark, sal_uInt16 nInsFlag ); + const ScMarkData& rMark, InsertDeleteFlags nInsFlag ); /** If pDestRanges is given it overrides rDestRange, rDestRange in this case is the overall encompassing range. */ void CopyFromClip( const ScRange& rDestRange, const ScMarkData& rMark, - sal_uInt16 nInsFlag, + InsertDeleteFlags nInsFlag, ScDocument* pRefUndoDoc = NULL, ScDocument* pClipDoc = NULL, bool bResetCut = true, @@ -1267,7 +1267,7 @@ public: const ScRangeList * pDestRanges = NULL ); void CopyMultiRangeFromClip(const ScAddress& rDestPos, const ScMarkData& rMark, - sal_uInt16 nInsFlag, ScDocument* pClipDoc, + InsertDeleteFlags nInsFlag, ScDocument* pClipDoc, bool bResetCut = true, bool bAsLink = false, bool bIncludeFiltered = true, bool bSkipAttrForEmpty = false); @@ -1279,7 +1279,7 @@ public: bool IsClipboardSource() const; - SC_DLLPUBLIC void TransposeClip( ScDocument* pTransClip, sal_uInt16 nFlags, bool bAsLink ); + SC_DLLPUBLIC void TransposeClip( ScDocument* pTransClip, InsertDeleteFlags nFlags, bool bAsLink ); ScClipParam& GetClipParam(); void SetClipParam(const ScClipParam& rParam); @@ -1288,10 +1288,10 @@ public: ScDocument* pSrcDoc ); void FillTab( const ScRange& rSrcArea, const ScMarkData& rMark, - sal_uInt16 nFlags, sal_uInt16 nFunction, + InsertDeleteFlags nFlags, sal_uInt16 nFunction, bool bSkipEmpty, bool bAsLink ); void FillTabMarked( SCTAB nSrcTab, const ScMarkData& rMark, - sal_uInt16 nFlags, sal_uInt16 nFunction, + InsertDeleteFlags nFlags, sal_uInt16 nFunction, bool bSkipEmpty, bool bAsLink ); void TransliterateText( const ScMarkData& rMultiMark, sal_Int32 nType ); @@ -1306,18 +1306,18 @@ public: // don't use anymore: void CopyToDocument(SCCOL nCol1, SCROW nRow1, SCTAB nTab1, SCCOL nCol2, SCROW nRow2, SCTAB nTab2, - sal_uInt16 nFlags, bool bMarked, ScDocument* pDestDoc, + InsertDeleteFlags nFlags, bool bMarked, ScDocument* pDestDoc, const ScMarkData* pMarks = NULL, bool bColRowFlags = true); void UndoToDocument(SCCOL nCol1, SCROW nRow1, SCTAB nTab1, SCCOL nCol2, SCROW nRow2, SCTAB nTab2, - sal_uInt16 nFlags, bool bMarked, ScDocument* pDestDoc, + InsertDeleteFlags nFlags, bool bMarked, ScDocument* pDestDoc, const ScMarkData* pMarks = NULL); void CopyToDocument(const ScRange& rRange, - sal_uInt16 nFlags, bool bMarked, ScDocument* pDestDoc, + InsertDeleteFlags nFlags, bool bMarked, ScDocument* pDestDoc, const ScMarkData* pMarks = NULL, bool bColRowFlags = true); void UndoToDocument(const ScRange& rRange, - sal_uInt16 nFlags, bool bMarked, ScDocument* pDestDoc, + InsertDeleteFlags nFlags, bool bMarked, ScDocument* pDestDoc, const ScMarkData* pMarks = NULL); void CopyScenario( SCTAB nSrcTab, SCTAB nDestTab, bool bNewScenario = false ); @@ -1486,8 +1486,8 @@ public: SC_DLLPUBLIC void ApplySelectionPattern( const ScPatternAttr& rAttr, const ScMarkData& rMark, ScEditDataArray* pDataArray = NULL ); - void DeleteSelection( sal_uInt16 nDelFlag, const ScMarkData& rMark, bool bBroadcast = true ); - void DeleteSelectionTab( SCTAB nTab, sal_uInt16 nDelFlag, const ScMarkData& rMark, bool bBroadcast = true ); + void DeleteSelection( InsertDeleteFlags nDelFlag, const ScMarkData& rMark, bool bBroadcast = true ); + void DeleteSelectionTab( SCTAB nTab, InsertDeleteFlags nDelFlag, const ScMarkData& rMark, bool bBroadcast = true ); SC_DLLPUBLIC void SetColWidth( SCCOL nCol, SCTAB nTab, sal_uInt16 nNewWidth ); SC_DLLPUBLIC void SetColWidthOnly( SCCOL nCol, SCTAB nTab, sal_uInt16 nNewWidth ); diff --git a/sc/inc/global.hxx b/sc/inc/global.hxx index fb2e120cf465..b4758502393e 100644 --- a/sc/inc/global.hxx +++ b/sc/inc/global.hxx @@ -154,29 +154,71 @@ const ScBreakType BREAK_NONE = 0; const ScBreakType BREAK_PAGE = 1; const ScBreakType BREAK_MANUAL = 2; -// insert/delete flags -const sal_uInt16 IDF_NONE = 0x0000; -const sal_uInt16 IDF_VALUE = 0x0001; /// Numeric values (and numeric results if IDF_FORMULA is not set). -const sal_uInt16 IDF_DATETIME = 0x0002; /// Dates, times, datetime values. -const sal_uInt16 IDF_STRING = 0x0004; /// Strings (and string results if IDF_FORMULA is not set). -const sal_uInt16 IDF_NOTE = 0x0008; /// Cell notes. -const sal_uInt16 IDF_FORMULA = 0x0010; /// Formula cells. -const sal_uInt16 IDF_HARDATTR = 0x0020; /// Hard cell attributes. -const sal_uInt16 IDF_STYLES = 0x0040; /// Cell styles. -const sal_uInt16 IDF_OBJECTS = 0x0080; /// Drawing objects. -const sal_uInt16 IDF_EDITATTR = 0x0100; /// Rich-text attributes. -const sal_uInt16 IDF_OUTLINE = 0x0800; /// Sheet / outlining (grouping) information -const sal_uInt16 IDF_NOCAPTIONS = 0x0200; /// Internal use only (undo etc.): do not copy/delete caption objects of cell notes. -const sal_uInt16 IDF_ADDNOTES = 0x0400; /// Internal use only (copy from clip): do not delete existing cell contents when pasting notes. -const sal_uInt16 IDF_SPECIAL_BOOLEAN = 0x1000; -const sal_uInt16 IDF_ATTRIB = IDF_HARDATTR | IDF_STYLES; -const sal_uInt16 IDF_CONTENTS = IDF_VALUE | IDF_DATETIME | IDF_STRING | IDF_NOTE | IDF_FORMULA | IDF_OUTLINE; -const sal_uInt16 IDF_ALL = IDF_CONTENTS | IDF_ATTRIB | IDF_OBJECTS; - -BOOST_STATIC_ASSERT((IDF_ATTRIB & IDF_CONTENTS) == 0); +// insert/delete flags - typesafe bitfield +struct InsertDeleteFlags SAL_FINAL { +private: + sal_uInt16 v; + // hidden so that it doesn't accidentally get called in constructor initialiser lists + explicit InsertDeleteFlags(sal_uInt16 _v) : v(_v) {} +public: + static InsertDeleteFlags fromInt(sal_uInt16 v) { return InsertDeleteFlags(v); } + operator bool() const { return v != 0; } + sal_uInt16 val() const { return v; } + bool operator ==(const InsertDeleteFlags& other) const { return v == other.v; } + bool operator !=(const InsertDeleteFlags& other) const { return v != other.v; } +private: + // disallow implicit conversion to int + operator int() const { return v; } +}; +// make combining these type-safe +inline InsertDeleteFlags operator| (const InsertDeleteFlags& lhs, const InsertDeleteFlags& rhs) +{ + return InsertDeleteFlags::fromInt(lhs.val() | rhs.val()); +} +inline InsertDeleteFlags operator& (const InsertDeleteFlags& lhs, const InsertDeleteFlags& rhs) +{ + return InsertDeleteFlags::fromInt(lhs.val() & rhs.val()); +} +inline InsertDeleteFlags& operator|= (InsertDeleteFlags& lhs, const InsertDeleteFlags& rhs) +{ + lhs = InsertDeleteFlags::fromInt(lhs.val() | rhs.val()); + return lhs; +} +inline InsertDeleteFlags& operator&= (InsertDeleteFlags& lhs, const InsertDeleteFlags& rhs) +{ + lhs = InsertDeleteFlags::fromInt(lhs.val() & rhs.val()); + return lhs; +} + +const InsertDeleteFlags IDF_NONE = InsertDeleteFlags::fromInt(0x0000); +const InsertDeleteFlags IDF_VALUE = InsertDeleteFlags::fromInt(0x0001); /// Numeric values (and numeric results if IDF_FORMULA is not set). +const InsertDeleteFlags IDF_DATETIME = InsertDeleteFlags::fromInt(0x0002); /// Dates, times, datetime values. +const InsertDeleteFlags IDF_STRING = InsertDeleteFlags::fromInt(0x0004); /// Strings (and string results if IDF_FORMULA is not set). +const InsertDeleteFlags IDF_NOTE = InsertDeleteFlags::fromInt(0x0008); /// Cell notes. +const InsertDeleteFlags IDF_FORMULA = InsertDeleteFlags::fromInt(0x0010); /// Formula cells. +const InsertDeleteFlags IDF_HARDATTR = InsertDeleteFlags::fromInt(0x0020); /// Hard cell attributes. +const InsertDeleteFlags IDF_STYLES = InsertDeleteFlags::fromInt(0x0040); /// Cell styles. +const InsertDeleteFlags IDF_OBJECTS = InsertDeleteFlags::fromInt(0x0080); /// Drawing objects. +const InsertDeleteFlags IDF_EDITATTR = InsertDeleteFlags::fromInt(0x0100); /// Rich-text attributes. +const InsertDeleteFlags IDF_OUTLINE = InsertDeleteFlags::fromInt(0x0800); /// Sheet / outlining (grouping) information +const InsertDeleteFlags IDF_NOCAPTIONS = InsertDeleteFlags::fromInt(0x0200); /// Internal use only (undo etc.): do not copy/delete caption objects of cell notes. +const InsertDeleteFlags IDF_ADDNOTES = InsertDeleteFlags::fromInt(0x0400); /// Internal use only (copy from clip): do not delete existing cell contents when pasting notes. +const InsertDeleteFlags IDF_SPECIAL_BOOLEAN = InsertDeleteFlags::fromInt(0x1000); +const InsertDeleteFlags IDF_ATTRIB = IDF_HARDATTR | IDF_STYLES; +const InsertDeleteFlags IDF_CONTENTS = IDF_VALUE | IDF_DATETIME | IDF_STRING | IDF_NOTE | IDF_FORMULA | IDF_OUTLINE; +const InsertDeleteFlags IDF_ALL = IDF_CONTENTS | IDF_ATTRIB | IDF_OBJECTS; +const InsertDeleteFlags IDF_ALL_USED_BITS = IDF_ALL | IDF_EDITATTR | IDF_NOCAPTIONS | IDF_ADDNOTES | IDF_SPECIAL_BOOLEAN; + +inline InsertDeleteFlags operator~ (const InsertDeleteFlags& rhs) +{ + return IDF_ALL_USED_BITS & InsertDeleteFlags::fromInt(~rhs.val()); +} + +// boost can't cope with this at the moment, perhaps when we have constexpr we can modify InsertDeleteFlags to make it work. +//BOOST_STATIC_ASSERT((IDF_ATTRIB & IDF_CONTENTS) == IDF_NONE); /// Copy flags for auto/series fill functions: do not touch notes and drawing objects. -const sal_uInt16 IDF_AUTOFILL = IDF_ALL & ~(IDF_NOTE | IDF_OBJECTS); +const InsertDeleteFlags IDF_AUTOFILL = IDF_ALL & ~(IDF_NOTE | IDF_OBJECTS); #define PASTE_NOFUNC 0 #define PASTE_ADD 1 diff --git a/sc/inc/scabstdlg.hxx b/sc/inc/scabstdlg.hxx index 2028a0105e02..4d7ada8be307 100644 --- a/sc/inc/scabstdlg.hxx +++ b/sc/inc/scabstdlg.hxx @@ -125,7 +125,7 @@ class AbstractScDeleteContentsDlg: public VclAbstractDialog { public: virtual void DisableObjects() = 0 ; - virtual sal_uInt16 GetDelContentsCmdBits() const = 0; + virtual InsertDeleteFlags GetDelContentsCmdBits() const = 0; }; class AbstractScFillSeriesDlg: public VclAbstractDialog @@ -156,7 +156,7 @@ public: class AbstractScInsertContentsDlg : public VclAbstractDialog { public: - virtual sal_uInt16 GetInsContentsCmdBits() const = 0; + virtual InsertDeleteFlags GetInsContentsCmdBits() const = 0; virtual sal_uInt16 GetFormulaCmdBits() const = 0 ; virtual bool IsSkipEmptyCells() const = 0; virtual bool IsLink() const = 0; @@ -361,7 +361,7 @@ public: ScTabViewShell* pTabViewShell) = 0; virtual AbstractScDeleteContentsDlg * CreateScDeleteContentsDlg(Window* pParent, - sal_uInt16 nCheckDefaults = 0) = 0; + InsertDeleteFlags nCheckDefaults = IDF_NONE) = 0; virtual AbstractScFillSeriesDlg * CreateScFillSeriesDlg( Window* pParent, ScDocument& rDocument, FillDir eFillDir, @@ -381,7 +381,7 @@ public: bool bDisallowCellMove = false ) = 0; virtual AbstractScInsertContentsDlg * CreateScInsertContentsDlg( Window* pParent, - sal_uInt16 nCheckDefaults = 0, + InsertDeleteFlags nCheckDefaults = IDF_NONE, const OUString* pStrTitle = NULL ) = 0; virtual AbstractScInsertTableDlg * CreateScInsertTableDlg(Window* pParent, ScViewData& rViewData, diff --git a/sc/inc/table.hxx b/sc/inc/table.hxx index 6e581edf41a7..fb5d6f9dcada 100644 --- a/sc/inc/table.hxx +++ b/sc/inc/table.hxx @@ -410,7 +410,7 @@ public: void DeleteCol( const sc::ColumnSet& rRegroupCols, SCCOL nStartCol, SCROW nStartRow, SCROW nEndRow, SCSIZE nSize, bool* pUndoOutline = NULL ); - void DeleteArea(SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, sal_uInt16 nDelFlag); + void DeleteArea(SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, InsertDeleteFlags nDelFlag); void CopyToClip( sc::CopyToClipContext& rCxt, SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, ScTable* pTable ); void CopyToClip( sc::CopyToClipContext& rCxt, const ScRangeList& rRanges, ScTable* pTable ); @@ -439,17 +439,17 @@ public: void CopyToTable( sc::CopyToDocContext& rCxt, SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, - sal_uInt16 nFlags, bool bMarked, ScTable* pDestTab, + InsertDeleteFlags nFlags, bool bMarked, ScTable* pDestTab, const ScMarkData* pMarkData = NULL, bool bAsLink = false, bool bColRowFlags = true ); void UndoToTable( sc::CopyToDocContext& rCxt, SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, - sal_uInt16 nFlags, bool bMarked, ScTable* pDestTab, const ScMarkData* pMarkData = NULL ); + InsertDeleteFlags nFlags, bool bMarked, ScTable* pDestTab, const ScMarkData* pMarkData = NULL ); void CopyConditionalFormat( SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, SCsCOL nDx, SCsROW nDy, ScTable* pTable); void TransposeClip( SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, - ScTable* pTransClip, sal_uInt16 nFlags, bool bAsLink ); + ScTable* pTransClip, InsertDeleteFlags nFlags, bool bAsLink ); // mark of this document void MixMarked( @@ -642,7 +642,7 @@ public: bool RemoveFlags( SCCOL nStartCol, SCROW nStartRow, SCCOL nEndCol, SCROW nEndRow, sal_Int16 nFlags ); void ApplySelectionCache( SfxItemPoolCache* pCache, const ScMarkData& rMark, ScEditDataArray* pDataArray = NULL ); - void DeleteSelection( sal_uInt16 nDelFlag, const ScMarkData& rMark, bool bBroadcast = true ); + void DeleteSelection( InsertDeleteFlags nDelFlag, const ScMarkData& rMark, bool bBroadcast = true ); void ClearSelectionItems( const sal_uInt16* pWhich, const ScMarkData& rMark ); void ChangeSelectionIndent( bool bIncrement, const ScMarkData& rMark ); diff --git a/sc/qa/unit/ucalc.cxx b/sc/qa/unit/ucalc.cxx index fd11810e47e0..f90c544f20ec 100644 --- a/sc/qa/unit/ucalc.cxx +++ b/sc/qa/unit/ucalc.cxx @@ -4118,7 +4118,7 @@ void Test::testCopyPasteRelativeFormula() m_pDoc->CopyToClip(aClipParam, &aClipDoc, &aMark); // Paste it to B1:B2. - sal_uInt16 nFlags = IDF_ALL; + InsertDeleteFlags nFlags = IDF_ALL; ScRange aDestRange(1,0,0,1,1,0); aMark.SetMarkArea(aDestRange); m_pDoc->CopyFromClip(aDestRange, aMark, nFlags, NULL, &aClipDoc); @@ -4665,7 +4665,7 @@ void Test::testCopyPasteFormulasExternalDoc() ScDocument* pClipDoc = new ScDocument(SCDOCMODE_CLIP); m_pDoc->CopyToClip(aClipParam, pClipDoc, &aMark); - sal_uInt16 nFlags = IDF_ALL; + InsertDeleteFlags nFlags = IDF_ALL; aRange = ScRange(1,1,1,1,6,1); ScMarkData aMarkData2; aMarkData2.SetMarkArea(aRange); diff --git a/sc/source/core/data/clipcontext.cxx b/sc/source/core/data/clipcontext.cxx index 1afe1f5c61a2..6c1e1ea4c150 100644 --- a/sc/source/core/data/clipcontext.cxx +++ b/sc/source/core/data/clipcontext.cxx @@ -28,7 +28,7 @@ ColumnBlockPosition* ClipContextBase::getBlockPosition(SCTAB nTab, SCCOL nCol) } CopyFromClipContext::CopyFromClipContext(ScDocument& rDoc, - ScDocument* pRefUndoDoc, ScDocument* pClipDoc, sal_uInt16 nInsertFlag, + ScDocument* pRefUndoDoc, ScDocument* pClipDoc, InsertDeleteFlags nInsertFlag, bool bAsLink, bool bSkipAttrForEmptyCells) : ClipContextBase(rDoc), mnDestCol1(-1), mnDestCol2(-1), @@ -71,7 +71,7 @@ CopyFromClipContext::Range CopyFromClipContext::getDestRange() const return aRet; } -void CopyFromClipContext::setDeleteFlag( sal_uInt16 nFlag ) +void CopyFromClipContext::setDeleteFlag( InsertDeleteFlags nFlag ) { mnDeleteFlag = nFlag; } diff --git a/sc/source/core/data/column.cxx b/sc/source/core/data/column.cxx index e2cfc745bd8a..d6152dd5412b 100644 --- a/sc/source/core/data/column.cxx +++ b/sc/source/core/data/column.cxx @@ -471,7 +471,7 @@ void ScColumn::ClearSelectionItems( const sal_uInt16* pWhich,const ScMarkData& r } } -void ScColumn::DeleteSelection( sal_uInt16 nDelFlag, const ScMarkData& rMark, bool bBroadcast ) +void ScColumn::DeleteSelection( InsertDeleteFlags nDelFlag, const ScMarkData& rMark, bool bBroadcast ) { SCROW nTop; SCROW nBottom; @@ -1186,14 +1186,14 @@ void ScColumn::CopyCellToDocument( SCROW nSrcRow, SCROW nDestRow, ScColumn& rDes namespace { -bool canCopyValue(const ScDocument& rDoc, const ScAddress& rPos, sal_uInt16 nFlags) +bool canCopyValue(const ScDocument& rDoc, const ScAddress& rPos, InsertDeleteFlags nFlags) { sal_uInt32 nNumIndex = static_cast<const SfxUInt32Item*>(rDoc.GetAttr(rPos, ATTR_VALUE_FORMAT))->GetValue(); short nType = rDoc.GetFormatTable()->GetType(nNumIndex); if ((nType == NUMBERFORMAT_DATE) || (nType == NUMBERFORMAT_TIME) || (nType == NUMBERFORMAT_DATETIME)) - return ((nFlags & IDF_DATETIME) != 0); + return ((nFlags & IDF_DATETIME) != IDF_NONE); - return ((nFlags & IDF_VALUE) != 0); + return (nFlags & IDF_VALUE) != IDF_NONE; } class CopyAsLinkHandler @@ -1202,7 +1202,7 @@ class CopyAsLinkHandler ScColumn& mrDestCol; sc::ColumnBlockPosition maDestPos; sc::ColumnBlockPosition* mpDestPos; - sal_uInt16 mnCopyFlags; + InsertDeleteFlags mnCopyFlags; void setDefaultAttrToDest(size_t nRow) { @@ -1247,7 +1247,7 @@ class CopyAsLinkHandler } public: - CopyAsLinkHandler(const ScColumn& rSrcCol, ScColumn& rDestCol, sc::ColumnBlockPosition* pDestPos, sal_uInt16 nCopyFlags) : + CopyAsLinkHandler(const ScColumn& rSrcCol, ScColumn& rDestCol, sc::ColumnBlockPosition* pDestPos, InsertDeleteFlags nCopyFlags) : mrSrcCol(rSrcCol), mrDestCol(rDestCol), mpDestPos(pDestPos), mnCopyFlags(nCopyFlags) { if (mpDestPos) @@ -1266,7 +1266,7 @@ public: if (mnCopyFlags & (IDF_NOTE|IDF_ADDNOTES)) { - bool bCloneCaption = (mnCopyFlags & IDF_NOCAPTIONS) == 0; + bool bCloneCaption = (mnCopyFlags & IDF_NOCAPTIONS) == IDF_NONE; duplicateNotes(nRow, nDataSize, bCloneCaption ); } @@ -1274,7 +1274,7 @@ public: { case sc::element_type_numeric: { - if ((mnCopyFlags & (IDF_DATETIME|IDF_VALUE)) == 0) + if ((mnCopyFlags & (IDF_DATETIME|IDF_VALUE)) == IDF_NONE) return; sc::numeric_block::const_iterator it = sc::numeric_block::begin(*aNode.data); @@ -1323,7 +1323,7 @@ class CopyByCloneHandler sc::ColumnBlockPosition maDestPos; sc::ColumnBlockPosition* mpDestPos; svl::SharedStringPool* mpSharedStringPool; - sal_uInt16 mnCopyFlags; + InsertDeleteFlags mnCopyFlags; void setDefaultAttrToDest(size_t nRow) { @@ -1342,11 +1342,11 @@ class CopyByCloneHandler { ScAddress aDestPos(mrDestCol.GetCol(), nRow, mrDestCol.GetTab()); - bool bCloneValue = (mnCopyFlags & IDF_VALUE) != 0; - bool bCloneDateTime = (mnCopyFlags & IDF_DATETIME) != 0; - bool bCloneString = (mnCopyFlags & IDF_STRING) != 0; - bool bCloneSpecialBoolean = (mnCopyFlags & IDF_SPECIAL_BOOLEAN) != 0; - bool bCloneFormula = (mnCopyFlags & IDF_FORMULA) != 0; + bool bCloneValue = (mnCopyFlags & IDF_VALUE) != IDF_NONE; + bool bCloneDateTime = (mnCopyFlags & IDF_DATETIME) != IDF_NONE; + bool bCloneString = (mnCopyFlags & IDF_STRING) != IDF_NONE; + bool bCloneSpecialBoolean = (mnCopyFlags & IDF_SPECIAL_BOOLEAN) != IDF_NONE; + bool bCloneFormula = (mnCopyFlags & IDF_FORMULA) != IDF_NONE; bool bForceFormula = false; @@ -1437,7 +1437,7 @@ class CopyByCloneHandler public: CopyByCloneHandler(const ScColumn& rSrcCol, ScColumn& rDestCol, sc::ColumnBlockPosition* pDestPos, - sal_uInt16 nCopyFlags, svl::SharedStringPool* pSharedStringPool) : + InsertDeleteFlags nCopyFlags, svl::SharedStringPool* pSharedStringPool) : mrSrcCol(rSrcCol), mrDestCol(rDestCol), mpDestPos(pDestPos), mpSharedStringPool(pSharedStringPool), mnCopyFlags(nCopyFlags) { @@ -1457,7 +1457,7 @@ public: if (mnCopyFlags & (IDF_NOTE|IDF_ADDNOTES)) { - bool bCloneCaption = (mnCopyFlags & IDF_NOCAPTIONS) == 0; + bool bCloneCaption = (mnCopyFlags & IDF_NOCAPTIONS) == IDF_NONE; duplicateNotes(nRow, nDataSize, bCloneCaption ); } @@ -1465,7 +1465,7 @@ public: { case sc::element_type_numeric: { - if ((mnCopyFlags & (IDF_DATETIME|IDF_VALUE)) == 0) + if ((mnCopyFlags & (IDF_DATETIME|IDF_VALUE)) == IDF_NONE) return; sc::numeric_block::const_iterator it = sc::numeric_block::begin(*aNode.data); @@ -1566,7 +1566,7 @@ public: void ScColumn::CopyToColumn( sc::CopyToDocContext& rCxt, - SCROW nRow1, SCROW nRow2, sal_uInt16 nFlags, bool bMarked, ScColumn& rColumn, + SCROW nRow1, SCROW nRow2, InsertDeleteFlags nFlags, bool bMarked, ScColumn& rColumn, const ScMarkData* pMarkData, bool bAsLink) const { if (bMarked) @@ -1590,7 +1590,7 @@ void ScColumn::CopyToColumn( return; } - if ( (nFlags & IDF_ATTRIB) != 0 ) + if ( (nFlags & IDF_ATTRIB) != IDF_NONE ) { if ( (nFlags & IDF_STYLES) != IDF_STYLES ) { // keep the StyleSheets in the target document @@ -1609,7 +1609,7 @@ void ScColumn::CopyToColumn( pAttrArray->CopyArea( nRow1, nRow2, 0, *rColumn.pAttrArray); } - if ((nFlags & IDF_CONTENTS) != 0) + if ((nFlags & IDF_CONTENTS) != IDF_NONE) { if (bAsLink) { @@ -1633,7 +1633,7 @@ void ScColumn::CopyToColumn( } void ScColumn::UndoToColumn( - sc::CopyToDocContext& rCxt, SCROW nRow1, SCROW nRow2, sal_uInt16 nFlags, bool bMarked, + sc::CopyToDocContext& rCxt, SCROW nRow1, SCROW nRow2, InsertDeleteFlags nFlags, bool bMarked, ScColumn& rColumn, const ScMarkData* pMarkData ) const { if (nRow1 > 0) diff --git a/sc/source/core/data/column3.cxx b/sc/source/core/data/column3.cxx index 4947d9fd63d5..5723b73911fd 100644 --- a/sc/source/core/data/column3.cxx +++ b/sc/source/core/data/column3.cxx @@ -500,7 +500,7 @@ class DeleteAreaHandler bool mbFormula:1; public: - DeleteAreaHandler(ScDocument& rDoc, sal_uInt16 nDelFlag) : + DeleteAreaHandler(ScDocument& rDoc, InsertDeleteFlags nDelFlag) : mrDoc(rDoc), mbNumeric(nDelFlag & IDF_VALUE), mbString(nDelFlag & IDF_STRING), @@ -592,7 +592,7 @@ public: } void ScColumn::DeleteCells( - sc::ColumnBlockPosition& rBlockPos, SCROW nRow1, SCROW nRow2, sal_uInt16 nDelFlag, + sc::ColumnBlockPosition& rBlockPos, SCROW nRow1, SCROW nRow2, InsertDeleteFlags nDelFlag, std::vector<SCROW>& rDeleted ) { // Determine which cells to delete based on the deletion flags. @@ -615,13 +615,13 @@ void ScColumn::DeleteCells( } void ScColumn::DeleteArea( - SCROW nStartRow, SCROW nEndRow, sal_uInt16 nDelFlag, bool bBroadcast ) + SCROW nStartRow, SCROW nEndRow, InsertDeleteFlags nDelFlag, bool bBroadcast ) { - sal_uInt16 nContMask = IDF_CONTENTS; + InsertDeleteFlags nContMask = IDF_CONTENTS; // IDF_NOCAPTIONS needs to be passed too, if IDF_NOTE is set if( nDelFlag & IDF_NOTE ) nContMask |= IDF_NOCAPTIONS; - sal_uInt16 nContFlag = nDelFlag & nContMask; + InsertDeleteFlags nContFlag = nDelFlag & nContMask; std::vector<SCROW> aDeletedRows; @@ -636,7 +636,7 @@ void ScColumn::DeleteArea( if ( nDelFlag & IDF_EDITATTR ) { - OSL_ENSURE( nContFlag == 0, "DeleteArea: Wrong Flags" ); + OSL_ENSURE( nContFlag == IDF_NONE, "DeleteArea: Wrong Flags" ); RemoveEditAttribs( nStartRow, nEndRow ); } @@ -755,23 +755,23 @@ public: SCROW nSrcRow1 = node.position + nOffset; bool bCopyCellNotes = mrCxt.isCloneNotes(); - sal_uInt16 nFlags = mrCxt.getInsertFlag(); + InsertDeleteFlags nFlags = mrCxt.getInsertFlag(); if (node.type == sc::element_type_empty) { if (bCopyCellNotes && !mrCxt.isSkipAttrForEmptyCells()) { - bool bCloneCaption = (nFlags & IDF_NOCAPTIONS) == 0; + bool bCloneCaption = (nFlags & IDF_NOCAPTIONS) == IDF_NONE; duplicateNotes(nSrcRow1, nDataSize, bCloneCaption ); } return; } - bool bNumeric = (nFlags & IDF_VALUE) != 0; - bool bDateTime = (nFlags & IDF_DATETIME) != 0; - bool bString = (nFlags & IDF_STRING) != 0; - bool bBoolean = (nFlags & IDF_SPECIAL_BOOLEAN) != 0; - bool bFormula = (nFlags & IDF_FORMULA) != 0; + bool bNumeric = (nFlags & IDF_VALUE) != IDF_NONE; + bool bDateTime = (nFlags & IDF_DATETIME) != IDF_NONE; + bool bString = (nFlags & IDF_STRING) != IDF_NONE; + bool bBoolean = (nFlags & IDF_SPECIAL_BOOLEAN) != IDF_NONE; + bool bFormula = (nFlags & IDF_FORMULA) != IDF_NONE; bool bAsLink = mrCxt.isAsLink(); @@ -944,7 +944,7 @@ public: } if (bCopyCellNotes) { - bool bCloneCaption = (nFlags & IDF_NOCAPTIONS) == 0; + bool bCloneCaption = (nFlags & IDF_NOCAPTIONS) == IDF_NONE; duplicateNotes(nSrcRow1, nDataSize, bCloneCaption ); } } @@ -958,7 +958,7 @@ public: void ScColumn::CopyFromClip( sc::CopyFromClipContext& rCxt, SCROW nRow1, SCROW nRow2, long nDy, ScColumn& rColumn ) { - if ((rCxt.getInsertFlag() & IDF_ATTRIB) != 0) + if ((rCxt.getInsertFlag() & IDF_ATTRIB) != IDF_NONE) { if (rCxt.isSkipAttrForEmptyCells()) { @@ -973,7 +973,7 @@ void ScColumn::CopyFromClip( else rColumn.pAttrArray->CopyAreaSafe( nRow1, nRow2, nDy, *pAttrArray ); } - if ((rCxt.getInsertFlag() & IDF_CONTENTS) == 0) + if ((rCxt.getInsertFlag() & IDF_CONTENTS) == IDF_NONE) return; if (rCxt.isAsLink() && rCxt.getInsertFlag() == IDF_ALL) diff --git a/sc/source/core/data/column4.cxx b/sc/source/core/data/column4.cxx index 3f26db17752c..e66df70ec326 100644 --- a/sc/source/core/data/column4.cxx +++ b/sc/source/core/data/column4.cxx @@ -97,7 +97,7 @@ void ScColumn::DeleteBeforeCopyFromClip( sc::CopyFromClipContext& rCxt, const Sc } std::vector<SCROW> aDeletedRows; - sal_uInt16 nDelFlag = rCxt.getDeleteFlag(); + InsertDeleteFlags nDelFlag = rCxt.getDeleteFlag(); sc::ColumnBlockPosition aBlockPos; InitBlockPosition(aBlockPos); @@ -150,9 +150,9 @@ void ScColumn::CopyOneCellFromClip( sc::CopyFromClipContext& rCxt, SCROW nRow1, ScCellValue& rSrcCell = rCxt.getSingleCell(); - sal_uInt16 nFlags = rCxt.getInsertFlag(); + InsertDeleteFlags nFlags = rCxt.getInsertFlag(); - if ((nFlags & IDF_ATTRIB) != 0) + if ((nFlags & IDF_ATTRIB) != IDF_NONE) { if (!rCxt.isSkipAttrForEmptyCells() || rSrcCell.meType != CELLTYPE_NONE) { @@ -161,7 +161,7 @@ void ScColumn::CopyOneCellFromClip( sc::CopyFromClipContext& rCxt, SCROW nRow1, } } - if ((nFlags & IDF_CONTENTS) != 0) + if ((nFlags & IDF_CONTENTS) != IDF_NONE) { std::vector<sc::CellTextAttr> aTextAttrs(nDestSize); @@ -223,7 +223,7 @@ void ScColumn::CopyOneCellFromClip( sc::CopyFromClipContext& rCxt, SCROW nRow1, } const ScPostIt* pNote = rCxt.getSingleCellNote(); - if (pNote && (nFlags & (IDF_NOTE | IDF_ADDNOTES)) != 0) + if (pNote && (nFlags & (IDF_NOTE | IDF_ADDNOTES)) != IDF_NONE) { // Duplicate the cell note over the whole pasted range. @@ -234,7 +234,7 @@ void ScColumn::CopyOneCellFromClip( sc::CopyFromClipContext& rCxt, SCROW nRow1, aNotes.reserve(nDestSize); for (size_t i = 0; i < nDestSize; ++i) { - bool bCloneCaption = (nFlags & IDF_NOCAPTIONS) == 0; + bool bCloneCaption = (nFlags & IDF_NOCAPTIONS) == IDF_NONE; aNotes.push_back(pNote->Clone(rSrcPos, *pDocument, aDestPos, bCloneCaption)); aDestPos.IncRow(); } @@ -322,7 +322,7 @@ void ScColumn::CopyCellValuesFrom( SCROW nRow, const sc::CellValues& rSrc ) BroadcastCells(aRows, SC_HINT_DATACHANGED); } -void ScColumn::DeleteRanges( const std::vector<sc::RowSpan>& rRanges, sal_uInt16 nDelFlag, bool bBroadcast ) +void ScColumn::DeleteRanges( const std::vector<sc::RowSpan>& rRanges, InsertDeleteFlags nDelFlag, bool bBroadcast ) { std::vector<sc::RowSpan>::const_iterator itSpan = rRanges.begin(), itSpanEnd = rRanges.end(); for (; itSpan != itSpanEnd; ++itSpan) diff --git a/sc/source/core/data/documen3.cxx b/sc/source/core/data/documen3.cxx index 1838d1304007..5b86ed962378 100644 --- a/sc/source/core/data/documen3.cxx +++ b/sc/source/core/data/documen3.cxx @@ -1963,7 +1963,7 @@ void ScDocument::DoMerge( SCTAB nTab, SCCOL nStartCol, SCROW nStartRow, ApplyFlagsTab( nStartCol+1, nStartRow+1, nEndCol, nEndRow, nTab, SC_MF_HOR | SC_MF_VER ); // Remove all covered notes (removed captions are collected by drawing undo if active) - sal_uInt16 nDelFlag = IDF_NOTE | (bDeleteCaptions ? 0 : IDF_NOCAPTIONS); + InsertDeleteFlags nDelFlag = IDF_NOTE | (bDeleteCaptions ? IDF_NONE : IDF_NOCAPTIONS); if( nStartCol < nEndCol ) DeleteAreaTab( nStartCol + 1, nStartRow, nEndCol, nStartRow, nTab, nDelFlag ); if( nStartRow < nEndRow ) diff --git a/sc/source/core/data/document.cxx b/sc/source/core/data/document.cxx index 3887f91f37ee..406f0f10a62c 100644 --- a/sc/source/core/data/document.cxx +++ b/sc/source/core/data/document.cxx @@ -1763,7 +1763,7 @@ void ScDocument::FitBlock( const ScRange& rOld, const ScRange& rNew, bool bClear void ScDocument::DeleteArea(SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, - const ScMarkData& rMark, sal_uInt16 nDelFlag) + const ScMarkData& rMark, InsertDeleteFlags nDelFlag) { PutInOrder( nCol1, nCol2 ); PutInOrder( nRow1, nRow2 ); @@ -1778,7 +1778,7 @@ void ScDocument::DeleteArea(SCCOL nCol1, SCROW nRow1, void ScDocument::DeleteAreaTab(SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, - SCTAB nTab, sal_uInt16 nDelFlag) + SCTAB nTab, InsertDeleteFlags nDelFlag) { PutInOrder( nCol1, nCol2 ); PutInOrder( nRow1, nRow2 ); @@ -1791,7 +1791,7 @@ void ScDocument::DeleteAreaTab(SCCOL nCol1, SCROW nRow1, } } -void ScDocument::DeleteAreaTab( const ScRange& rRange, sal_uInt16 nDelFlag ) +void ScDocument::DeleteAreaTab( const ScRange& rRange, InsertDeleteFlags nDelFlag ) { for ( SCTAB nTab = rRange.aStart.Tab(); nTab <= rRange.aEnd.Tab(); nTab++ ) DeleteAreaTab( rRange.aStart.Col(), rRange.aStart.Row(), @@ -1903,7 +1903,7 @@ bool ScDocument::IsCutMode() void ScDocument::CopyToDocument(SCCOL nCol1, SCROW nRow1, SCTAB nTab1, SCCOL nCol2, SCROW nRow2, SCTAB nTab2, - sal_uInt16 nFlags, bool bOnlyMarked, ScDocument* pDestDoc, + InsertDeleteFlags nFlags, bool bOnlyMarked, ScDocument* pDestDoc, const ScMarkData* pMarks, bool bColRowFlags ) { PutInOrder( nCol1, nCol2 ); @@ -1930,7 +1930,7 @@ void ScDocument::CopyToDocument(SCCOL nCol1, SCROW nRow1, SCTAB nTab1, void ScDocument::UndoToDocument(SCCOL nCol1, SCROW nRow1, SCTAB nTab1, SCCOL nCol2, SCROW nRow2, SCTAB nTab2, - sal_uInt16 nFlags, bool bOnlyMarked, ScDocument* pDestDoc, + InsertDeleteFlags nFlags, bool bOnlyMarked, ScDocument* pDestDoc, const ScMarkData* pMarks) { PutInOrder( nCol1, nCol2 ); @@ -1959,7 +1959,7 @@ void ScDocument::UndoToDocument(SCCOL nCol1, SCROW nRow1, SCTAB nTab1, } void ScDocument::CopyToDocument(const ScRange& rRange, - sal_uInt16 nFlags, bool bOnlyMarked, ScDocument* pDestDoc, + InsertDeleteFlags nFlags, bool bOnlyMarked, ScDocument* pDestDoc, const ScMarkData* pMarks, bool bColRowFlags) { ScRange aNewRange = rRange; @@ -1985,7 +1985,7 @@ void ScDocument::CopyToDocument(const ScRange& rRange, } void ScDocument::UndoToDocument(const ScRange& rRange, - sal_uInt16 nFlags, bool bOnlyMarked, ScDocument* pDestDoc, + InsertDeleteFlags nFlags, bool bOnlyMarked, ScDocument* pDestDoc, const ScMarkData* pMarks) { sc::AutoCalcSwitch aAutoCalcSwitch(*this, false); @@ -2182,7 +2182,7 @@ void ScDocument::CopyTabToClip(SCCOL nCol1, SCROW nRow1, } } -void ScDocument::TransposeClip( ScDocument* pTransClip, sal_uInt16 nFlags, bool bAsLink ) +void ScDocument::TransposeClip( ScDocument* pTransClip, InsertDeleteFlags nFlags, bool bAsLink ) { OSL_ENSURE( bIsClip && pTransClip && pTransClip->bIsClip, "TransposeClip with wrong Document" ); @@ -2408,7 +2408,7 @@ bool ScDocument::IsClipboardSource() const void ScDocument::StartListeningFromClip( SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, - const ScMarkData& rMark, sal_uInt16 nInsFlag ) + const ScMarkData& rMark, InsertDeleteFlags nInsFlag ) { if (nInsFlag & IDF_CONTENTS) { @@ -2423,7 +2423,7 @@ void ScDocument::StartListeningFromClip( SCCOL nCol1, SCROW nRow1, void ScDocument::BroadcastFromClip( SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, - const ScMarkData& rMark, sal_uInt16 nInsFlag ) + const ScMarkData& rMark, InsertDeleteFlags nInsFlag ) { if (nInsFlag & IDF_CONTENTS) { @@ -2577,7 +2577,7 @@ void ScDocument::CopyNonFilteredFromClip( } void ScDocument::CopyFromClip( const ScRange& rDestRange, const ScMarkData& rMark, - sal_uInt16 nInsFlag, + InsertDeleteFlags nInsFlag, ScDocument* pRefUndoDoc, ScDocument* pClipDoc, bool bResetCut, bool bAsLink, bool bIncludeFiltered, bool bSkipAttrForEmpty, const ScRangeList * pDestRanges ) @@ -2636,7 +2636,7 @@ void ScDocument::CopyFromClip( const ScRange& rDestRange, const ScMarkData& rMar overwrite/delete existing cells but to insert the notes into these cells. In this case, just delete old notes from the destination area. */ - sal_uInt16 nDelFlag = IDF_NONE; + InsertDeleteFlags nDelFlag = IDF_NONE; if ( (nInsFlag & (IDF_CONTENTS | IDF_ADDNOTES)) == (IDF_NOTE | IDF_ADDNOTES) ) nDelFlag |= IDF_NOTE; else if ( nInsFlag & IDF_CONTENTS ) @@ -2783,7 +2783,7 @@ void ScDocument::CopyFromClip( const ScRange& rDestRange, const ScMarkData& rMar } void ScDocument::CopyMultiRangeFromClip( - const ScAddress& rDestPos, const ScMarkData& rMark, sal_uInt16 nInsFlag, ScDocument* pClipDoc, + const ScAddress& rDestPos, const ScMarkData& rMark, InsertDeleteFlags nInsFlag, ScDocument* pClipDoc, bool bResetCut, bool bAsLink, bool /*bIncludeFiltered*/, bool bSkipAttrForEmpty) { if (bIsClip) @@ -2810,7 +2810,7 @@ void ScDocument::CopyMultiRangeFromClip( if (!bSkipAttrForEmpty) { // Do the deletion first. - sal_uInt16 nDelFlag = IDF_CONTENTS; + InsertDeleteFlags nDelFlag = IDF_CONTENTS; SCCOL nColSize = rClipParam.getPasteColSize(); SCROW nRowSize = rClipParam.getPasteRowSize(); @@ -2986,10 +2986,10 @@ void ScDocument::MixDocument( const ScRange& rRange, sal_uInt16 nFunction, bool } void ScDocument::FillTab( const ScRange& rSrcArea, const ScMarkData& rMark, - sal_uInt16 nFlags, sal_uInt16 nFunction, + InsertDeleteFlags nFlags, sal_uInt16 nFunction, bool bSkipEmpty, bool bAsLink ) { - sal_uInt16 nDelFlags = nFlags; + InsertDeleteFlags nDelFlags = nFlags; if (nDelFlags & IDF_CONTENTS) nDelFlags |= IDF_CONTENTS; // immer alle Inhalte oder keine loeschen! @@ -3049,10 +3049,10 @@ void ScDocument::FillTab( const ScRange& rSrcArea, const ScMarkData& rMark, } void ScDocument::FillTabMarked( SCTAB nSrcTab, const ScMarkData& rMark, - sal_uInt16 nFlags, sal_uInt16 nFunction, + InsertDeleteFlags nFlags, sal_uInt16 nFunction, bool bSkipEmpty, bool bAsLink ) { - sal_uInt16 nDelFlags = nFlags; + InsertDeleteFlags nDelFlags = nFlags; if (nDelFlags & IDF_CONTENTS) nDelFlags |= IDF_CONTENTS; // immer alle Inhalte oder keine loeschen! @@ -5461,7 +5461,7 @@ void ScDocument::ClearSelectionItems( const sal_uInt16* pWhich, const ScMarkData maTabs[*itr]->ClearSelectionItems( pWhich, rMark ); } -void ScDocument::DeleteSelection( sal_uInt16 nDelFlag, const ScMarkData& rMark, bool bBroadcast ) +void ScDocument::DeleteSelection( InsertDeleteFlags nDelFlag, const ScMarkData& rMark, bool bBroadcast ) { SCTAB nMax = static_cast<SCTAB>(maTabs.size()); ScMarkData::const_iterator itr = rMark.begin(), itrEnd = rMark.end(); @@ -5471,7 +5471,7 @@ void ScDocument::DeleteSelection( sal_uInt16 nDelFlag, const ScMarkData& rMark, } void ScDocument::DeleteSelectionTab( - SCTAB nTab, sal_uInt16 nDelFlag, const ScMarkData& rMark, bool bBroadcast ) + SCTAB nTab, InsertDeleteFlags nDelFlag, const ScMarkData& rMark, bool bBroadcast ) { if (ValidTab(nTab) && nTab < static_cast<SCTAB>(maTabs.size()) && maTabs[nTab]) maTabs[nTab]->DeleteSelection(nDelFlag, rMark, bBroadcast); diff --git a/sc/source/core/data/document10.cxx b/sc/source/core/data/document10.cxx index 983e794ac05c..90856d2c4128 100644 --- a/sc/source/core/data/document10.cxx +++ b/sc/source/core/data/document10.cxx @@ -95,12 +95,12 @@ bool ScDocument::CopyOneCellFromClip( // Check the paste flag to see whether we want to paste this cell. If the // flag says we don't want to paste this cell, we'll return with true. - sal_uInt16 nFlags = rCxt.getInsertFlag(); - bool bNumeric = (nFlags & IDF_VALUE) != 0; - bool bDateTime = (nFlags & IDF_DATETIME) != 0; - bool bString = (nFlags & IDF_STRING) != 0; - bool bBoolean = (nFlags & IDF_SPECIAL_BOOLEAN) != 0; - bool bFormula = (nFlags & IDF_FORMULA) != 0; + InsertDeleteFlags nFlags = rCxt.getInsertFlag(); + bool bNumeric = (nFlags & IDF_VALUE) != IDF_NONE; + bool bDateTime = (nFlags & IDF_DATETIME) != IDF_NONE; + bool bString = (nFlags & IDF_STRING) != IDF_NONE; + bool bBoolean = (nFlags & IDF_SPECIAL_BOOLEAN) != IDF_NONE; + bool bFormula = (nFlags & IDF_FORMULA) != IDF_NONE; switch (rSrcCell.meType) { @@ -196,7 +196,7 @@ bool ScDocument::CopyOneCellFromClip( } } - if ((rCxt.getInsertFlag() & (IDF_NOTE | IDF_ADDNOTES)) != 0) + if ((rCxt.getInsertFlag() & (IDF_NOTE | IDF_ADDNOTES)) != IDF_NONE) rCxt.setSingleCellNote(pClipDoc->GetNote(aSrcPos)); // All good. Proceed with the pasting. diff --git a/sc/source/core/data/table2.cxx b/sc/source/core/data/table2.cxx index 657ab6fdeba3..22aef02ea95e 100644 --- a/sc/source/core/data/table2.cxx +++ b/sc/source/core/data/table2.cxx @@ -412,7 +412,7 @@ void ScTable::DeleteCol( SetStreamValid(false); } -void ScTable::DeleteArea(SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, sal_uInt16 nDelFlag) +void ScTable::DeleteArea(SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, InsertDeleteFlags nDelFlag) { if (nCol2 > MAXCOL) nCol2 = MAXCOL; if (nRow2 > MAXROW) nRow2 = MAXROW; @@ -443,7 +443,7 @@ void ScTable::DeleteArea(SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, sal SetStreamValid(false); } -void ScTable::DeleteSelection( sal_uInt16 nDelFlag, const ScMarkData& rMark, bool bBroadcast ) +void ScTable::DeleteSelection( InsertDeleteFlags nDelFlag, const ScMarkData& rMark, bool bBroadcast ) { { // scope for bulk broadcast ScBulkBroadcast aBulkBroadcast( pDocument->GetBASM()); @@ -659,7 +659,7 @@ void ScTable::CopyFromClip( aCol[i].ClearItems(nRow1, nRow2, nWhichArray); } - if ((rCxt.getInsertFlag() & IDF_ATTRIB) != 0) + if ((rCxt.getInsertFlag() & IDF_ATTRIB) != IDF_NONE) { if (nRow1==0 && nRow2==MAXROW && pColWidth && pTable->pColWidth) for (SCCOL i=nCol1; i<=nCol2; i++) @@ -812,7 +812,7 @@ public: } void ScTable::TransposeClip( SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, - ScTable* pTransClip, sal_uInt16 nFlags, bool bAsLink ) + ScTable* pTransClip, InsertDeleteFlags nFlags, bool bAsLink ) { bool bWasCut = pDocument->IsCutMode(); @@ -1055,7 +1055,7 @@ void ScTable::StartListeningInArea( void ScTable::CopyToTable( sc::CopyToDocContext& rCxt, SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, - sal_uInt16 nFlags, bool bMarked, ScTable* pDestTab, const ScMarkData* pMarkData, + InsertDeleteFlags nFlags, bool bMarked, ScTable* pDestTab, const ScMarkData* pMarkData, bool bAsLink, bool bColRowFlags ) { if (!ValidColRow(nCol1, nRow1) || !ValidColRow(nCol2, nRow2)) @@ -1175,7 +1175,7 @@ void ScTable::CopyToTable( void ScTable::UndoToTable( sc::CopyToDocContext& rCxt, SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, - sal_uInt16 nFlags, bool bMarked, ScTable* pDestTab, const ScMarkData* pMarkData ) + InsertDeleteFlags nFlags, bool bMarked, ScTable* pDestTab, const ScMarkData* pMarkData ) { if (ValidColRow(nCol1, nRow1) && ValidColRow(nCol2, nRow2)) { diff --git a/sc/source/core/data/table4.cxx b/sc/source/core/data/table4.cxx index 0a9020900ccb..5b96603487fc 100644 --- a/sc/source/core/data/table4.cxx +++ b/sc/source/core/data/table4.cxx @@ -1487,7 +1487,7 @@ void ScTable::FillSeries( SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, SCCOLROW nIMin = nIStart; SCCOLROW nIMax = nIEnd; PutInOrder(nIMin,nIMax); - sal_uInt16 nDel = bAttribs ? IDF_AUTOFILL : (IDF_AUTOFILL & IDF_CONTENTS); + InsertDeleteFlags nDel = bAttribs ? IDF_AUTOFILL : (IDF_AUTOFILL & IDF_CONTENTS); bool bIsFiltered = IsDataFiltered(aFillRange); if (!bIsFiltered) diff --git a/sc/source/ui/attrdlg/scdlgfact.cxx b/sc/source/ui/attrdlg/scdlgfact.cxx index 807863c851c3..85667ea63435 100644 --- a/sc/source/ui/attrdlg/scdlgfact.cxx +++ b/sc/source/ui/attrdlg/scdlgfact.cxx @@ -242,7 +242,7 @@ void AbstractScDeleteContentsDlg_Impl::DisableObjects() pDlg->DisableObjects(); } -sal_uInt16 AbstractScDeleteContentsDlg_Impl::GetDelContentsCmdBits() const +InsertDeleteFlags AbstractScDeleteContentsDlg_Impl::GetDelContentsCmdBits() const { return pDlg->GetDelContentsCmdBits(); } @@ -297,7 +297,7 @@ InsCellCmd AbstractScInsertCellDlg_Impl::GetInsCellCmd() const return pDlg->GetInsCellCmd(); } -sal_uInt16 AbstractScInsertContentsDlg_Impl::GetInsContentsCmdBits() const +InsertDeleteFlags AbstractScInsertContentsDlg_Impl::GetInsContentsCmdBits() const { return pDlg->GetInsContentsCmdBits(); } @@ -701,7 +701,7 @@ AbstractScDataFormDlg* ScAbstractDialogFactory_Impl::CreateScDataFormDlg(Window* } AbstractScDeleteContentsDlg* ScAbstractDialogFactory_Impl::CreateScDeleteContentsDlg(Window* pParent, - sal_uInt16 nCheckDefaults) + InsertDeleteFlags nCheckDefaults) { ScDeleteContentsDlg* pDlg = new ScDeleteContentsDlg(pParent, nCheckDefaults); return new AbstractScDeleteContentsDlg_Impl( pDlg ); @@ -749,7 +749,7 @@ AbstractScInsertCellDlg * ScAbstractDialogFactory_Impl::CreateScInsertCellDlg( W } AbstractScInsertContentsDlg * ScAbstractDialogFactory_Impl::CreateScInsertContentsDlg( Window* pParent, - sal_uInt16 nCheckDefaults, + InsertDeleteFlags nCheckDefaults, const OUString* pStrTitle ) { ScInsertContentsDlg * pDlg = new ScInsertContentsDlg(pParent, nCheckDefaults, pStrTitle); diff --git a/sc/source/ui/attrdlg/scdlgfact.hxx b/sc/source/ui/attrdlg/scdlgfact.hxx index 70c90006f78f..a0c8be1fed69 100644 --- a/sc/source/ui/attrdlg/scdlgfact.hxx +++ b/sc/source/ui/attrdlg/scdlgfact.hxx @@ -177,7 +177,7 @@ class AbstractScDeleteContentsDlg_Impl : public AbstractScDeleteContentsDlg { DECL_ABSTDLG_BASE( AbstractScDeleteContentsDlg_Impl,ScDeleteContentsDlg) virtual void DisableObjects() SAL_OVERRIDE; - virtual sal_uInt16 GetDelContentsCmdBits() const SAL_OVERRIDE; + virtual InsertDeleteFlags GetDelContentsCmdBits() const SAL_OVERRIDE; }; class AbstractScFillSeriesDlg_Impl:public AbstractScFillSeriesDlg @@ -208,7 +208,7 @@ class AbstractScInsertCellDlg_Impl : public AbstractScInsertCellDlg class AbstractScInsertContentsDlg_Impl : public AbstractScInsertContentsDlg { DECL_ABSTDLG_BASE(AbstractScInsertContentsDlg_Impl, ScInsertContentsDlg) - virtual sal_uInt16 GetInsContentsCmdBits() const SAL_OVERRIDE; + virtual InsertDeleteFlags GetInsContentsCmdBits() const SAL_OVERRIDE; virtual sal_uInt16 GetFormulaCmdBits() const SAL_OVERRIDE; virtual bool IsSkipEmptyCells() const SAL_OVERRIDE; virtual bool IsLink() const SAL_OVERRIDE; @@ -428,7 +428,7 @@ public: ScTabViewShell* pTabViewShell) SAL_OVERRIDE; virtual AbstractScDeleteContentsDlg * CreateScDeleteContentsDlg(Window* pParent, - sal_uInt16 nCheckDefaults = 0) SAL_OVERRIDE; + InsertDeleteFlags nCheckDefaults = IDF_NONE) SAL_OVERRIDE; virtual AbstractScFillSeriesDlg * CreateScFillSeriesDlg( Window* pParent, ScDocument& rDocument, @@ -448,7 +448,7 @@ public: bool bDisallowCellMove = false ) SAL_OVERRIDE; virtual AbstractScInsertContentsDlg * CreateScInsertContentsDlg( Window* pParent, - sal_uInt16 nCheckDefaults = 0, + InsertDeleteFlags nCheckDefaults = IDF_NONE, const OUString* pStrTitle = NULL ) SAL_OVERRIDE; virtual AbstractScInsertTableDlg * CreateScInsertTableDlg(Window* pParent, ScViewData& rViewData, diff --git a/sc/source/ui/docshell/dbdocimp.cxx b/sc/source/ui/docshell/dbdocimp.cxx index 702b239da276..ea6e52a41f02 100644 --- a/sc/source/ui/docshell/dbdocimp.cxx +++ b/sc/source/ui/docshell/dbdocimp.cxx @@ -499,7 +499,7 @@ bool ScDBDocFunc::DoImport( SCTAB nTab, const ScImportParam& rParam, if (bRecord) { // do not touch notes (ScUndoImportData does not support drawing undo) - sal_uInt16 nCopyFlags = IDF_ALL & ~IDF_NOTE; + InsertDeleteFlags nCopyFlags = IDF_ALL & ~IDF_NOTE; // nFormulaCols is set only if column count is unchanged rDoc.CopyToDocument( rParam.nCol1, rParam.nRow1, nTab, diff --git a/sc/source/ui/docshell/docfunc.cxx b/sc/source/ui/docshell/docfunc.cxx index 6e8dcf532f1f..90cc95d23584 100644 --- a/sc/source/ui/docshell/docfunc.cxx +++ b/sc/source/ui/docshell/docfunc.cxx @@ -555,7 +555,7 @@ void ScDocFunc::DetectiveCollectAllSuccs(const ScRangeList& rSrcRanges, vector<S lcl_collectAllPredOrSuccRanges(rSrcRanges, rRefTokens, rDocShell, false); } -bool ScDocFunc::DeleteContents( const ScMarkData& rMark, sal_uInt16 nFlags, +bool ScDocFunc::DeleteContents( const ScMarkData& rMark, InsertDeleteFlags nFlags, bool bRecord, bool bApi ) { ScDocShellModificator aModificator( rDocShell ); @@ -638,7 +638,7 @@ bool ScDocFunc::DeleteContents( const ScMarkData& rMark, sal_uInt16 nFlags, // bei "Format/Standard" alle Attribute kopieren, weil CopyToDocument // nur mit IDF_HARDATTR zu langsam ist: - sal_uInt16 nUndoDocFlags = nFlags; + InsertDeleteFlags nUndoDocFlags = nFlags; if (nFlags & IDF_ATTRIB) nUndoDocFlags |= IDF_ATTRIB; if (nFlags & IDF_EDITATTR) // Edit-Engine-Attribute @@ -2669,7 +2669,7 @@ bool ScDocFunc::MoveBlock( const ScRange& rSource, const ScAddress& rDestPos, { bool bWholeCols = ( nStartRow == 0 && nEndRow == MAXROW ); bool bWholeRows = ( nStartCol == 0 && nEndCol == MAXCOL ); - sal_uInt16 nUndoFlags = (IDF_ALL & ~IDF_OBJECTS) | IDF_NOCAPTIONS; + InsertDeleteFlags nUndoFlags = (IDF_ALL & ~IDF_OBJECTS) | IDF_NOCAPTIONS; pUndoDoc = new ScDocument( SCDOCMODE_UNDO ); pUndoDoc->InitUndo( &rDoc, nStartTab, nEndTab, bWholeCols, bWholeRows ); diff --git a/sc/source/ui/docshell/impex.cxx b/sc/source/ui/docshell/impex.cxx index 5aec94e57f81..f1960a17df43 100644 --- a/sc/source/ui/docshell/impex.cxx +++ b/sc/source/ui/docshell/impex.cxx @@ -2108,7 +2108,7 @@ bool ScImportExport::Dif2Doc( SvStream& rStrm ) bool bOk = StartPaste(); if (bOk) { - sal_uInt16 nFlags = IDF_ALL & ~IDF_STYLES; + InsertDeleteFlags nFlags = IDF_ALL & ~IDF_STYLES; pDoc->DeleteAreaTab( aRange, nFlags ); pImportDoc->CopyToDocument( aRange, nFlags, false, pDoc ); EndPaste(); @@ -2130,7 +2130,7 @@ bool ScImportExport::RTF2Doc( SvStream& rStrm, const OUString& rBaseURL ) bool bOk = StartPaste(); if (bOk) { - sal_uInt16 nFlags = IDF_ALL & ~IDF_STYLES; + InsertDeleteFlags nFlags = IDF_ALL & ~IDF_STYLES; pDoc->DeleteAreaTab( aRange, nFlags ); pImp->WriteToDocument(); EndPaste(); @@ -2155,7 +2155,7 @@ bool ScImportExport::HTML2Doc( SvStream& rStrm, const OUString& rBaseURL ) if (pDocSh) pDocSh->MakeDrawLayer(); - sal_uInt16 nFlags = IDF_ALL & ~IDF_STYLES; + InsertDeleteFlags nFlags = IDF_ALL & ~IDF_STYLES; pDoc->DeleteAreaTab( aRange, nFlags ); if (pExtOptions) diff --git a/sc/source/ui/inc/delcodlg.hxx b/sc/source/ui/inc/delcodlg.hxx index fcc4acb9ecbc..c119b495a1f0 100644 --- a/sc/source/ui/inc/delcodlg.hxx +++ b/sc/source/ui/inc/delcodlg.hxx @@ -40,18 +40,18 @@ private: bool bObjectsDisabled; static bool bPreviousAllCheck; - static sal_uInt16 nPreviousChecks; + static InsertDeleteFlags nPreviousChecks; void DisableChecks( bool bDelAllChecked = true ); DECL_LINK( DelAllHdl, void * ); public: ScDeleteContentsDlg( Window* pParent, - sal_uInt16 nCheckDefaults = 0 ); + InsertDeleteFlags nCheckDefaults = IDF_NONE ); virtual ~ScDeleteContentsDlg(); void DisableObjects(); - sal_uInt16 GetDelContentsCmdBits() const; + InsertDeleteFlags GetDelContentsCmdBits() const; }; #endif // INCLUDED_SC_SOURCE_UI_INC_DELCODLG_HXX diff --git a/sc/source/ui/inc/docfunc.hxx b/sc/source/ui/inc/docfunc.hxx index 5dc4d06a5d5e..37bf4aac12b7 100644 --- a/sc/source/ui/inc/docfunc.hxx +++ b/sc/source/ui/inc/docfunc.hxx @@ -86,7 +86,7 @@ public: void DetectiveCollectAllSuccs(const ScRangeList& rSrcRanges, ::std::vector<ScTokenRef>& rRefTokens); SC_DLLPUBLIC bool - DeleteContents( const ScMarkData& rMark, sal_uInt16 nFlags, + DeleteContents( const ScMarkData& rMark, InsertDeleteFlags nFlags, bool bRecord, bool bApi ); bool TransliterateText( const ScMarkData& rMark, sal_Int32 nType, diff --git a/sc/source/ui/inc/inscodlg.hxx b/sc/source/ui/inc/inscodlg.hxx index 1130daa2ed03..92bcfbd03ec2 100644 --- a/sc/source/ui/inc/inscodlg.hxx +++ b/sc/source/ui/inc/inscodlg.hxx @@ -31,11 +31,11 @@ class ScInsertContentsDlg : public ModalDialog { public: ScInsertContentsDlg( Window* pParent, - sal_uInt16 nCheckDefaults = 0, + InsertDeleteFlags nCheckDefaults = IDF_NONE, const OUString* pStrTitle = NULL ); virtual ~ScInsertContentsDlg(); - sal_uInt16 GetInsContentsCmdBits() const; + InsertDeleteFlags GetInsContentsCmdBits() const; sal_uInt16 GetFormulaCmdBits() const; bool IsSkipEmptyCells() const; bool IsTranspose() const; @@ -82,7 +82,7 @@ private: bool bMoveRightDisabled; bool bUsedShortCut; - sal_uInt16 nShortCutInsContentsCmdBits; + InsertDeleteFlags nShortCutInsContentsCmdBits; sal_uInt16 nShortCutFormulaCmdBits; bool bShortCutSkipEmptyCells; bool bShortCutTranspose; @@ -90,7 +90,7 @@ private: InsCellCmd nShortCutMoveMode; static bool bPreviousAllCheck; - static sal_uInt16 nPreviousChecks; + static InsertDeleteFlags nPreviousChecks; static sal_uInt16 nPreviousChecks2; static sal_uInt16 nPreviousFormulaChecks; static sal_uInt16 nPreviousMoveMode; // enum InsCellCmd diff --git a/sc/source/ui/inc/undoblk.hxx b/sc/source/ui/inc/undoblk.hxx index 3444eb895404..e19ade3db28c 100644 --- a/sc/source/ui/inc/undoblk.hxx +++ b/sc/source/ui/inc/undoblk.hxx @@ -186,7 +186,7 @@ public: ScUndoPaste(ScDocShell* pNewDocShell, const ScRangeList& rRanges, const ScMarkData& rMark, ScDocument* pNewUndoDoc, ScDocument* pNewRedoDoc, - sal_uInt16 nNewFlags, + InsertDeleteFlags nNewFlags, ScRefUndoData* pRefData, bool bRedoIsFilled = true, const ScUndoPasteOptions* pOptions = NULL); @@ -203,7 +203,7 @@ private: ScMarkData aMarkData; ScDocument* pUndoDoc; ScDocument* pRedoDoc; - sal_uInt16 nFlags; + InsertDeleteFlags nFlags; ScRefUndoData* pRefUndoData; ScRefUndoData* pRefRedoData; sal_uLong nStartChangeAction; @@ -257,7 +257,7 @@ public: const ScMarkData& rMark, const ScRange& rRange, ScDocument* pNewUndoDoc, bool bNewMulti, - sal_uInt16 nNewFlags, bool bObjects ); + InsertDeleteFlags nNewFlags, bool bObjects ); virtual ~ScUndoDeleteContents(); virtual void Undo() SAL_OVERRIDE; @@ -278,7 +278,7 @@ private: SdrUndoAction* pDrawUndo; // Deleted objects sal_uLong nStartChangeAction; sal_uLong nEndChangeAction; - sal_uInt16 nFlags; + InsertDeleteFlags nFlags; bool bMulti; // Multi selection void DoChange( const bool bUndo ); @@ -294,7 +294,7 @@ public: SCCOL nStartX, SCROW nStartY, SCTAB nStartZ, SCCOL nEndX, SCROW nEndY, SCTAB nEndZ, ScDocument* pNewUndoDoc, bool bNewMulti, SCTAB nSrc, - sal_uInt16 nFlg, sal_uInt16 nFunc, bool bSkip, bool bLink ); + InsertDeleteFlags nFlg, sal_uInt16 nFunc, bool bSkip, bool bLink ); virtual ~ScUndoFillTable(); virtual void Undo() SAL_OVERRIDE; @@ -310,7 +310,7 @@ private: ScDocument* pUndoDoc; // Block mark and deleted data sal_uLong nStartChangeAction; sal_uLong nEndChangeAction; - sal_uInt16 nFlags; + InsertDeleteFlags nFlags; sal_uInt16 nFunction; SCTAB nSrcTab; bool bMulti; // Multi selection @@ -577,7 +577,7 @@ public: TYPEINFO_OVERRIDE(); ScUndoRefConversion( ScDocShell* pNewDocShell, const ScRange& aMarkRange, const ScMarkData& rMark, - ScDocument* pNewUndoDoc, ScDocument* pNewRedoDoc, bool bNewMulti, sal_uInt16 nNewFlag); + ScDocument* pNewUndoDoc, ScDocument* pNewRedoDoc, bool bNewMulti, InsertDeleteFlags nNewFlag); virtual ~ScUndoRefConversion(); virtual void Undo() SAL_OVERRIDE; @@ -593,7 +593,7 @@ private: ScDocument* pRedoDoc; ScRange aRange; bool bMulti; - sal_uInt16 nFlags; + InsertDeleteFlags nFlags; sal_uLong nStartChangeAction; sal_uLong nEndChangeAction; diff --git a/sc/source/ui/inc/undodat.hxx b/sc/source/ui/inc/undodat.hxx index b564c33adf71..c9c3060afb0f 100644 --- a/sc/source/ui/inc/undodat.hxx +++ b/sc/source/ui/inc/undodat.hxx @@ -455,7 +455,7 @@ public: SCCOL nEndX, SCROW nEndY, SCTAB nEndZ, const ScMarkData& rMark, ScDocument* pNewUndoDoc, ScDocument* pNewRedoDoc, - sal_uInt16 nNewFlags, + InsertDeleteFlags nNewFlags, ScRefUndoData* pRefData, void* pFill1, void* pFill2, void* pFill3, bool bRedoIsFilled = true ); @@ -472,7 +472,7 @@ private: boost::scoped_ptr<ScMarkData> mpMarkData; ScDocument* pUndoDoc; ScDocument* pRedoDoc; - sal_uInt16 nFlags; + InsertDeleteFlags nFlags; ScRefUndoData* pRefUndoData; ScRefUndoData* pRefRedoData; sal_uLong nStartChangeAction; diff --git a/sc/source/ui/inc/viewfunc.hxx b/sc/source/ui/inc/viewfunc.hxx index 28b7a2e8bf29..17ae3d6c5227 100644 --- a/sc/source/ui/inc/viewfunc.hxx +++ b/sc/source/ui/inc/viewfunc.hxx @@ -104,14 +104,14 @@ public: SC_DLLPUBLIC bool CopyToClip( ScDocument* pClipDoc, const ScRangeList& rRange, bool bCut = false, bool bApi = false, bool bIncludeObjects = false, bool bStopEdit = true, bool bUseRangeForVBA = true ); ScTransferObj* CopyToTransferable(); - SC_DLLPUBLIC bool PasteFromClip( sal_uInt16 nFlags, ScDocument* pClipDoc, + SC_DLLPUBLIC bool PasteFromClip( InsertDeleteFlags nFlags, ScDocument* pClipDoc, sal_uInt16 nFunction = PASTE_NOFUNC, bool bSkipEmpty = false, bool bTranspose = false, bool bAsLink = false, InsCellCmd eMoveMode = INS_NONE, - sal_uInt16 nUndoExtraFlags = IDF_NONE, + InsertDeleteFlags nUndoExtraFlags = IDF_NONE, bool bAllowDialogs = false ); - void FillTab( sal_uInt16 nFlags, sal_uInt16 nFunction, bool bSkipEmpty, bool bAsLink ); + void FillTab( InsertDeleteFlags nFlags, sal_uInt16 nFunction, bool bSkipEmpty, bool bAsLink ); SC_DLLPUBLIC void PasteFromSystem(); SC_DLLPUBLIC bool PasteFromSystem( sal_uLong nFormatId, bool bApi = false ); @@ -198,7 +198,7 @@ public: bool InsertCells( InsCellCmd eCmd, bool bRecord = true, bool bPartOfPaste = false ); void DeleteMulti( bool bRows, bool bRecord = true ); - void DeleteContents( sal_uInt16 nFlags, bool bRecord = true ); + void DeleteContents( InsertDeleteFlags nFlags, bool bRecord = true ); void SetWidthOrHeight( bool bWidth, const std::vector<sc::ColRowSpan>& rRanges, ScSizeMode eMode, @@ -349,13 +349,13 @@ private: const ::com::sun::star::uno::Reference< ::com::sun::star::datatransfer::XTransferable >& rxTransferable ); - bool PasteMultiRangesFromClip( sal_uInt16 nFlags, ScDocument* pClipDoc, sal_uInt16 nFunction, + bool PasteMultiRangesFromClip( InsertDeleteFlags nFlags, ScDocument* pClipDoc, sal_uInt16 nFunction, bool bSkipEmpty, bool bTranspose, bool bAsLink, bool bAllowDialogs, - InsCellCmd eMoveMode, sal_uInt16 nUndoFlags ); + InsCellCmd eMoveMode, InsertDeleteFlags nUndoFlags ); - bool PasteFromClipToMultiRanges( sal_uInt16 nFlags, ScDocument* pClipDoc, sal_uInt16 nFunction, + bool PasteFromClipToMultiRanges( InsertDeleteFlags nFlags, ScDocument* pClipDoc, sal_uInt16 nFunction, bool bSkipEmpty, bool bTranspose, bool bAsLink, bool bAllowDialogs, - InsCellCmd eMoveMode, sal_uInt16 nUndoFlags ); + InsCellCmd eMoveMode, InsertDeleteFlags nUndoFlags ); void PostPasteFromClip(const ScRangeList& rPasteRanges, const ScMarkData& rMark); diff --git a/sc/source/ui/miscdlgs/delcodlg.cxx b/sc/source/ui/miscdlgs/delcodlg.cxx index d0da98af6339..52a48716743f 100644 --- a/sc/source/ui/miscdlgs/delcodlg.cxx +++ b/sc/source/ui/miscdlgs/delcodlg.cxx @@ -24,12 +24,12 @@ #include "miscdlgs.hrc" bool ScDeleteContentsDlg::bPreviousAllCheck = false; -sal_uInt16 ScDeleteContentsDlg::nPreviousChecks = (IDF_DATETIME | IDF_STRING | +InsertDeleteFlags ScDeleteContentsDlg::nPreviousChecks = (IDF_DATETIME | IDF_STRING | IDF_NOTE | IDF_FORMULA | IDF_VALUE); ScDeleteContentsDlg::ScDeleteContentsDlg( Window* pParent, - sal_uInt16 nCheckDefaults ) : + InsertDeleteFlags nCheckDefaults ) : ModalDialog ( pParent, "DeleteContentsDialog", "modules/scalc/ui/deletecontents.ui" ), bObjectsDisabled( false ) @@ -44,7 +44,7 @@ ScDeleteContentsDlg::ScDeleteContentsDlg( Window* pParent, get( aBtnDelObjects, "objects" ); get( aBtnOk, "ok" ); - if ( nCheckDefaults != 0 ) + if ( nCheckDefaults != IDF_NONE ) { ScDeleteContentsDlg::nPreviousChecks = nCheckDefaults; ScDeleteContentsDlg::bPreviousAllCheck = false; @@ -71,9 +71,9 @@ ScDeleteContentsDlg::ScDeleteContentsDlg( Window* pParent, aBtnDelAll->SetClickHdl( LINK( this, ScDeleteContentsDlg, DelAllHdl ) ); } -sal_uInt16 ScDeleteContentsDlg::GetDelContentsCmdBits() const +InsertDeleteFlags ScDeleteContentsDlg::GetDelContentsCmdBits() const { - ScDeleteContentsDlg::nPreviousChecks = 0; + ScDeleteContentsDlg::nPreviousChecks = IDF_NONE; if ( aBtnDelStrings->IsChecked() ) ScDeleteContentsDlg::nPreviousChecks = IDF_STRING; diff --git a/sc/source/ui/miscdlgs/inscodlg.cxx b/sc/source/ui/miscdlgs/inscodlg.cxx index efd40b014896..13ad6a460cbc 100644 --- a/sc/source/ui/miscdlgs/inscodlg.cxx +++ b/sc/source/ui/miscdlgs/inscodlg.cxx @@ -24,13 +24,13 @@ #include "miscdlgs.hrc" bool ScInsertContentsDlg::bPreviousAllCheck = false; -sal_uInt16 ScInsertContentsDlg::nPreviousChecks = (IDF_VALUE | IDF_DATETIME | IDF_STRING); +InsertDeleteFlags ScInsertContentsDlg::nPreviousChecks = (IDF_VALUE | IDF_DATETIME | IDF_STRING); sal_uInt16 ScInsertContentsDlg::nPreviousFormulaChecks = PASTE_NOFUNC; sal_uInt16 ScInsertContentsDlg::nPreviousChecks2 = 0; sal_uInt16 ScInsertContentsDlg::nPreviousMoveMode = INS_NONE; // enum InsCellCmd ScInsertContentsDlg::ScInsertContentsDlg( Window* pParent, - sal_uInt16 nCheckDefaults, + InsertDeleteFlags nCheckDefaults, const OUString* pStrTitle ) : ModalDialog ( pParent, "PasteSpecial", "modules/scalc/ui/pastespecial.ui" ), @@ -39,7 +39,8 @@ ScInsertContentsDlg::ScInsertContentsDlg( Window* pParent, bChangeTrack ( false ), bMoveDownDisabled( false ), bMoveRightDisabled( false ), - bUsedShortCut ( false ) + bUsedShortCut ( false ), + nShortCutInsContentsCmdBits( IDF_NONE ) { get( mpBtnInsAll, "paste_all" ); get( mpBtnInsStrings, "text" ); @@ -67,7 +68,7 @@ ScInsertContentsDlg::ScInsertContentsDlg( Window* pParent, if ( pStrTitle ) SetText( *pStrTitle ); - if ( nCheckDefaults != 0 ) + if ( nCheckDefaults != IDF_NONE ) { ScInsertContentsDlg::nPreviousChecks = nCheckDefaults; ScInsertContentsDlg::bPreviousAllCheck = false; @@ -120,9 +121,9 @@ ScInsertContentsDlg::ScInsertContentsDlg( Window* pParent, mpBtnShortCutPasteTranspose->SetClickHdl( LINK( this, ScInsertContentsDlg, ShortCutHdl ) ); } -sal_uInt16 ScInsertContentsDlg::GetInsContentsCmdBits() const +InsertDeleteFlags ScInsertContentsDlg::GetInsContentsCmdBits() const { - ScInsertContentsDlg::nPreviousChecks = 0; + ScInsertContentsDlg::nPreviousChecks = IDF_NONE; if ( mpBtnInsStrings->IsChecked() ) ScInsertContentsDlg::nPreviousChecks = IDF_STRING; diff --git a/sc/source/ui/undo/undoblk.cxx b/sc/source/ui/undo/undoblk.cxx index be6895fc3e6c..a23e390f7f9c 100644 --- a/sc/source/ui/undo/undoblk.cxx +++ b/sc/source/ui/undo/undoblk.cxx @@ -775,7 +775,7 @@ void ScUndoCut::DoChange( const bool bUndo ) sal_uInt16 nExtFlags = 0; // do not undo/redo objects and note captions, they are handled via drawing undo - sal_uInt16 nUndoFlags = (IDF_ALL & ~IDF_OBJECTS) | IDF_NOCAPTIONS; + InsertDeleteFlags nUndoFlags = (IDF_ALL & ~IDF_OBJECTS) | IDF_NOCAPTIONS; if (bUndo) // only for Undo { @@ -842,7 +842,7 @@ bool ScUndoCut::CanRepeat(SfxRepeatTarget& rTarget) const ScUndoPaste::ScUndoPaste( ScDocShell* pNewDocShell, const ScRangeList& rRanges, const ScMarkData& rMark, ScDocument* pNewUndoDoc, ScDocument* pNewRedoDoc, - sal_uInt16 nNewFlags, + InsertDeleteFlags nNewFlags, ScRefUndoData* pRefData, bool bRedoIsFilled, const ScUndoPasteOptions* pOptions ) : ScMultiBlockUndo( pNewDocShell, rRanges, SC_UNDO_SIMPLE ), @@ -904,7 +904,7 @@ void ScUndoPaste::DoChange(bool bUndo) ScRefUndoData* pWorkRefData = bUndo ? pRefUndoData : pRefRedoData; // Always back-up either all or none of the content for Undo - sal_uInt16 nUndoFlags = IDF_NONE; + InsertDeleteFlags nUndoFlags = IDF_NONE; if (nFlags & IDF_CONTENTS) nUndoFlags |= IDF_CONTENTS; if (nFlags & IDF_ATTRIB) @@ -1236,7 +1236,7 @@ void ScUndoDragDrop::DoUndo( ScRange aRange ) pDocShell->UpdatePaintExt(mnPaintExtFlags, aPaintRange); // do not undo objects and note captions, they are handled via drawing undo - sal_uInt16 nUndoFlags = (IDF_ALL & ~IDF_OBJECTS) | IDF_NOCAPTIONS; + InsertDeleteFlags nUndoFlags = (IDF_ALL & ~IDF_OBJECTS) | IDF_NOCAPTIONS; rDoc.DeleteAreaTab( aRange, nUndoFlags ); pRefUndoDoc->CopyToDocument( aRange, nUndoFlags, false, &rDoc ); @@ -1353,7 +1353,7 @@ void ScUndoDragDrop::Redo() EnableDrawAdjust( &rDoc, false ); //! include in ScBlockUndo? // do not undo/redo objects and note captions, they are handled via drawing undo - sal_uInt16 nRedoFlags = (IDF_ALL & ~IDF_OBJECTS) | IDF_NOCAPTIONS; + InsertDeleteFlags nRedoFlags = (IDF_ALL & ~IDF_OBJECTS) | IDF_NOCAPTIONS; /* TODO: Redoing note captions is quite tricky due to the fact that a helper clip document is used. While (re-)pasting the contents to the diff --git a/sc/source/ui/undo/undoblk3.cxx b/sc/source/ui/undo/undoblk3.cxx index 661f3e95c460..6b8c8cfd38c7 100644 --- a/sc/source/ui/undo/undoblk3.cxx +++ b/sc/source/ui/undo/undoblk3.cxx @@ -77,7 +77,7 @@ ScUndoDeleteContents::ScUndoDeleteContents( ScDocShell* pNewDocShell, const ScMarkData& rMark, const ScRange& rRange, ScDocument* pNewUndoDoc, bool bNewMulti, - sal_uInt16 nNewFlags, bool bObjects ) + InsertDeleteFlags nNewFlags, bool bObjects ) : ScSimpleUndo( pNewDocShell ), aRange ( rRange ), aMarkData ( rMark ), @@ -131,7 +131,7 @@ void ScUndoDeleteContents::DoChange( const bool bUndo ) if (bUndo) // only Undo { - sal_uInt16 nUndoFlags = IDF_NONE; // copy either all or none of the content + InsertDeleteFlags nUndoFlags = IDF_NONE; // copy either all or none of the content if (nFlags & IDF_CONTENTS) // (Only the correct ones have been copied into UndoDoc) nUndoFlags |= IDF_CONTENTS; if (nFlags & IDF_ATTRIB) @@ -163,7 +163,7 @@ void ScUndoDeleteContents::DoChange( const bool bUndo ) aMarkData.MarkToMulti(); RedoSdrUndoAction( pDrawUndo ); // do not delete objects and note captions, they have been removed via drawing undo - sal_uInt16 nRedoFlags = (nFlags & ~IDF_OBJECTS) | IDF_NOCAPTIONS; + InsertDeleteFlags nRedoFlags = (nFlags & ~IDF_OBJECTS) | IDF_NOCAPTIONS; rDoc.DeleteSelection( nRedoFlags, aMarkData ); aMarkData.MarkToSimple(); @@ -229,7 +229,7 @@ ScUndoFillTable::ScUndoFillTable( ScDocShell* pNewDocShell, SCCOL nStartX, SCROW nStartY, SCTAB nStartZ, SCCOL nEndX, SCROW nEndY, SCTAB nEndZ, ScDocument* pNewUndoDoc, bool bNewMulti, SCTAB nSrc, - sal_uInt16 nFlg, sal_uInt16 nFunc, bool bSkip, bool bLink ) + InsertDeleteFlags nFlg, sal_uInt16 nFunc, bool bSkip, bool bLink ) : ScSimpleUndo( pNewDocShell ), aRange ( nStartX, nStartY, nStartZ, nEndX, nEndY, nEndZ ), aMarkData ( rMark ), @@ -995,7 +995,7 @@ void ScUndoReplace::Undo() // Undo document has no row/column information, thus copy with // bColRowFlags = FALSE to not destroy Outline groups - sal_uInt16 nUndoFlags = (pSearchItem->GetPattern()) ? IDF_ATTRIB : IDF_CONTENTS; + InsertDeleteFlags nUndoFlags = (pSearchItem->GetPattern()) ? IDF_ATTRIB : IDF_CONTENTS; pUndoDoc->CopyToDocument( 0, 0, 0, MAXCOL, MAXROW, MAXTAB, nUndoFlags, false, &rDoc, NULL, false ); // without row flags @@ -1282,7 +1282,7 @@ bool ScUndoConversion::CanRepeat(SfxRepeatTarget& rTarget) const ScUndoRefConversion::ScUndoRefConversion( ScDocShell* pNewDocShell, const ScRange& aMarkRange, const ScMarkData& rMark, - ScDocument* pNewUndoDoc, ScDocument* pNewRedoDoc, bool bNewMulti, sal_uInt16 nNewFlag) : + ScDocument* pNewUndoDoc, ScDocument* pNewRedoDoc, bool bNewMulti, InsertDeleteFlags nNewFlag) : ScSimpleUndo( pNewDocShell ), aMarkData ( rMark ), pUndoDoc ( pNewUndoDoc ), diff --git a/sc/source/ui/undo/undodat.cxx b/sc/source/ui/undo/undodat.cxx index ac1b8fd38e19..e2baf7de8809 100644 --- a/sc/source/ui/undo/undodat.cxx +++ b/sc/source/ui/undo/undodat.cxx @@ -1802,7 +1802,7 @@ ScUndoDataForm::ScUndoDataForm( ScDocShell* pNewDocShell, SCCOL nEndX, SCROW nEndY, SCTAB nEndZ, const ScMarkData& rMark, ScDocument* pNewUndoDoc, ScDocument* pNewRedoDoc, - sal_uInt16 nNewFlags, + InsertDeleteFlags nNewFlags, ScRefUndoData* pRefData, void* /*pFill1*/, void* /*pFill2*/, void* /*pFill3*/, bool bRedoIsFilled ) : @@ -1893,7 +1893,7 @@ void ScUndoDataForm::DoChange( const bool bUndo ) ScRefUndoData* pWorkRefData = bUndo ? pRefUndoData : pRefRedoData; // Always back-up either all or none of the content for Undo - sal_uInt16 nUndoFlags = IDF_NONE; + InsertDeleteFlags nUndoFlags = IDF_NONE; if (nFlags & IDF_CONTENTS) nUndoFlags |= IDF_CONTENTS; if (nFlags & IDF_ATTRIB) @@ -1919,7 +1919,7 @@ void ScUndoDataForm::DoChange( const bool bUndo ) ScRange aCopyRange = aBlockRange; aCopyRange.aStart.SetTab(0); aCopyRange.aEnd.SetTab(nTabCount-1); - rDoc.CopyToDocument( aCopyRange, 1, false, pRedoDoc ); + rDoc.CopyToDocument( aCopyRange, IDF_VALUE, false, pRedoDoc ); bRedoFilled = true; } diff --git a/sc/source/ui/unoobj/cellsuno.cxx b/sc/source/ui/unoobj/cellsuno.cxx index 7ad020265790..5e859a869f2b 100644 --- a/sc/source/ui/unoobj/cellsuno.cxx +++ b/sc/source/ui/unoobj/cellsuno.cxx @@ -1815,8 +1815,8 @@ void SAL_CALL ScCellRangesBase::clearContents( sal_Int32 nContentFlags ) throw(u if ( !aRanges.empty() ) { // only for clearContents: EDITATTR is only used if no contents are deleted - sal_uInt16 nDelFlags = static_cast< sal_uInt16 >( nContentFlags & IDF_ALL ); - if ( ( nContentFlags & IDF_EDITATTR ) && ( nContentFlags & IDF_CONTENTS ) == 0 ) + InsertDeleteFlags nDelFlags = InsertDeleteFlags::fromInt(nContentFlags) & IDF_ALL; + if ( ( nDelFlags & IDF_EDITATTR ) && ( nDelFlags & IDF_CONTENTS ) == IDF_NONE ) nDelFlags |= IDF_EDITATTR; pDocShell->GetDocFunc().DeleteContents( *GetMarkData(), nDelFlags, true, true ); diff --git a/sc/source/ui/vba/excelvbahelper.cxx b/sc/source/ui/vba/excelvbahelper.cxx index 5c379294f6fe..2e18439ff2c1 100644 --- a/sc/source/ui/vba/excelvbahelper.cxx +++ b/sc/source/ui/vba/excelvbahelper.cxx @@ -186,7 +186,7 @@ implnCut( const uno::Reference< frame::XModel>& xModel ) } } -void implnPasteSpecial( const uno::Reference< frame::XModel>& xModel, sal_uInt16 nFlags, sal_uInt16 nFunction, bool bSkipEmpty, bool bTranspose) +void implnPasteSpecial( const uno::Reference< frame::XModel>& xModel, InsertDeleteFlags nFlags, sal_uInt16 nFunction, bool bSkipEmpty, bool bTranspose) { PasteCellsWarningReseter resetWarningBox; InsCellCmd eMoveMode = INS_NONE; diff --git a/sc/source/ui/vba/excelvbahelper.hxx b/sc/source/ui/vba/excelvbahelper.hxx index cd6590c5402a..9de833c9e77d 100644 --- a/sc/source/ui/vba/excelvbahelper.hxx +++ b/sc/source/ui/vba/excelvbahelper.hxx @@ -41,7 +41,7 @@ void implSetZoom( const css::uno::Reference< css::frame::XModel >& xModel, sal_I void implnCopy( const css::uno::Reference< css::frame::XModel>& xModel ); void implnPaste ( const css::uno::Reference< css::frame::XModel>& xModel ); void implnCut( const css::uno::Reference< css::frame::XModel>& xModel ); -void implnPasteSpecial( const css::uno::Reference< css::frame::XModel>& xModel, sal_uInt16 nFlags, sal_uInt16 nFunction, bool bSkipEmpty, bool bTranspose); +void implnPasteSpecial( const css::uno::Reference< css::frame::XModel>& xModel, InsertDeleteFlags nFlags, sal_uInt16 nFunction, bool bSkipEmpty, bool bTranspose); ScTabViewShell* getBestViewShell( const css::uno::Reference< css::frame::XModel>& xModel ) ; ScDocShell* getDocShell( const css::uno::Reference< css::frame::XModel>& xModel ) ; ScTabViewShell* getCurrentBestViewShell( const css::uno::Reference< css::uno::XComponentContext >& xContext ); diff --git a/sc/source/ui/vba/vbarange.cxx b/sc/source/ui/vba/vbarange.cxx index 7e33235844d4..523db877a903 100644 --- a/sc/source/ui/vba/vbarange.cxx +++ b/sc/source/ui/vba/vbarange.cxx @@ -2797,10 +2797,9 @@ uno::Any ScVbaRange::getCellRange( const uno::Reference< excel::XRange >& rxRang throw uno::RuntimeException(); } -static sal_uInt16 -getPasteFlags (sal_Int32 Paste) +static InsertDeleteFlags getPasteFlags (sal_Int32 Paste) { - sal_uInt16 nFlags = IDF_NONE; + InsertDeleteFlags nFlags = IDF_NONE; switch (Paste) { case excel::XlPasteType::xlPasteComments: nFlags = IDF_NOTE;break; @@ -2821,7 +2820,7 @@ getPasteFlags (sal_Int32 Paste) default: nFlags = IDF_ALL;break; } -return nFlags; + return nFlags; } static sal_uInt16 @@ -2875,7 +2874,7 @@ ScVbaRange::PasteSpecial( const uno::Any& Paste, const uno::Any& Operation, cons if ( Transpose.hasValue() ) Transpose >>= bTranspose; - sal_uInt16 nFlags = getPasteFlags(nPaste); + InsertDeleteFlags nFlags = getPasteFlags(nPaste); sal_uInt16 nFormulaBits = getPasteFormulaBits(nOperation); excel::implnPasteSpecial(pShell->GetModel(), nFlags,nFormulaBits,bSkipBlanks,bTranspose); } diff --git a/sc/source/ui/view/cellsh1.cxx b/sc/source/ui/view/cellsh1.cxx index 3d682b4749b2..c5f509ba449f 100644 --- a/sc/source/ui/view/cellsh1.cxx +++ b/sc/source/ui/view/cellsh1.cxx @@ -320,7 +320,7 @@ void ScCellShell::ExecuteEdit( SfxRequest& rReq ) case SID_DELETE: { - sal_uInt16 nFlags = IDF_NONE; + InsertDeleteFlags nFlags = IDF_NONE; if ( pReqArgs!=NULL && pTabViewShell->SelectionEditable() ) { @@ -428,7 +428,7 @@ void ScCellShell::ExecuteEdit( SfxRequest& rReq ) case FID_FILL_TAB: { - sal_uInt16 nFlags = IDF_NONE; + InsertDeleteFlags nFlags = IDF_NONE; sal_uInt16 nFunction = PASTE_NOFUNC; bool bSkipEmpty = false; bool bAsLink = false; @@ -467,7 +467,7 @@ void ScCellShell::ExecuteEdit( SfxRequest& rReq ) OSL_ENSURE(pFact, "ScAbstractFactory create fail!"); boost::scoped_ptr<AbstractScInsertContentsDlg> pDlg(pFact->CreateScInsertContentsDlg( pTabViewShell->GetDialogParent(), - 0, /* nCheckDefaults */ + IDF_NONE, /* nCheckDefaults */ &ScGlobal::GetRscString(STR_FILL_TAB))); OSL_ENSURE(pDlg, "Dialog create fail!"); pDlg->SetFillMode(true); @@ -1280,7 +1280,7 @@ void ScCellShell::ExecuteEdit( SfxRequest& rReq ) case FID_INS_CELL_CONTENTS: { - sal_uInt16 nFlags = IDF_NONE; + InsertDeleteFlags nFlags = IDF_NONE; sal_uInt16 nFunction = PASTE_NOFUNC; bool bSkipEmpty = false; bool bTranspose = false; diff --git a/sc/source/ui/view/cliputil.cxx b/sc/source/ui/view/cliputil.cxx index 7c37d61416eb..2c3171c6b0d2 100644 --- a/sc/source/ui/view/cliputil.cxx +++ b/sc/source/ui/view/cliputil.cxx @@ -59,7 +59,7 @@ void ScClipUtil::PasteFromClipboard( ScViewData* pViewData, ScTabViewShell* pTab else { ScDocument* pClipDoc = pOwnClip->GetDocument(); - sal_uInt16 nFlags = IDF_ALL; + InsertDeleteFlags nFlags = IDF_ALL; if (pClipDoc->GetClipParam().isMultiRange()) // For multi-range paste, we paste values by default. nFlags &= ~IDF_FORMULA; diff --git a/sc/source/ui/view/viewfun2.cxx b/sc/source/ui/view/viewfun2.cxx index 6f92ac9aa737..410eae91c080 100644 --- a/sc/source/ui/view/viewfun2.cxx +++ b/sc/source/ui/view/viewfun2.cxx @@ -1274,7 +1274,7 @@ void ScViewFunc::FillAuto( FillDir eDir, SCCOL nStartCol, SCROW nStartRow, } } -void ScViewFunc::FillTab( sal_uInt16 nFlags, sal_uInt16 nFunction, bool bSkipEmpty, bool bAsLink ) +void ScViewFunc::FillTab( InsertDeleteFlags nFlags, sal_uInt16 nFunction, bool bSkipEmpty, bool bAsLink ) { //! allow source sheet to be protected ScEditableTester aTester( this ); diff --git a/sc/source/ui/view/viewfun3.cxx b/sc/source/ui/view/viewfun3.cxx index b00ab735f6c8..8b0ace1610c0 100644 --- a/sc/source/ui/view/viewfun3.cxx +++ b/sc/source/ui/view/viewfun3.cxx @@ -798,10 +798,10 @@ bool checkDestRangeForOverwrite(const ScRangeList& rDestRanges, const ScDocument } -bool ScViewFunc::PasteFromClip( sal_uInt16 nFlags, ScDocument* pClipDoc, +bool ScViewFunc::PasteFromClip( InsertDeleteFlags nFlags, ScDocument* pClipDoc, sal_uInt16 nFunction, bool bSkipEmpty, bool bTranspose, bool bAsLink, - InsCellCmd eMoveMode, sal_uInt16 nUndoExtraFlags, + InsCellCmd eMoveMode, InsertDeleteFlags nUndoExtraFlags, bool bAllowDialogs ) { if (!pClipDoc) @@ -811,13 +811,13 @@ bool ScViewFunc::PasteFromClip( sal_uInt16 nFlags, ScDocument* pClipDoc, } // fuer Undo etc. immer alle oder keine Inhalte sichern - sal_uInt16 nContFlags = IDF_NONE; + InsertDeleteFlags nContFlags = IDF_NONE; if (nFlags & IDF_CONTENTS) nContFlags |= IDF_CONTENTS; if (nFlags & IDF_ATTRIB) nContFlags |= IDF_ATTRIB; // evtl. Attribute ins Undo ohne sie vom Clip ins Doc zu kopieren - sal_uInt16 nUndoFlags = nContFlags; + InsertDeleteFlags nUndoFlags = nContFlags; if (nUndoExtraFlags & IDF_ATTRIB) nUndoFlags |= IDF_ATTRIB; // do not copy note captions into undo document @@ -1228,7 +1228,7 @@ bool ScViewFunc::PasteFromClip( sal_uInt16 nFlags, ScDocument* pClipDoc, if ( bRecord ) pDoc->BeginDrawUndo(); - sal_uInt16 nNoObjFlags = nFlags & ~IDF_OBJECTS; + InsertDeleteFlags nNoObjFlags = nFlags & ~IDF_OBJECTS; if (!bAsLink) { // copy normally (original range) @@ -1391,9 +1391,9 @@ bool ScViewFunc::PasteFromClip( sal_uInt16 nFlags, ScDocument* pClipDoc, } bool ScViewFunc::PasteMultiRangesFromClip( - sal_uInt16 nFlags, ScDocument* pClipDoc, sal_uInt16 nFunction, + InsertDeleteFlags nFlags, ScDocument* pClipDoc, sal_uInt16 nFunction, bool bSkipEmpty, bool bTranspose, bool bAsLink, bool bAllowDialogs, - InsCellCmd eMoveMode, sal_uInt16 nUndoFlags) + InsCellCmd eMoveMode, InsertDeleteFlags nUndoFlags) { ScViewData& rViewData = GetViewData(); ScDocument* pDoc = rViewData.GetDocument(); @@ -1502,7 +1502,7 @@ bool ScViewFunc::PasteMultiRangesFromClip( if (pDoc->IsUndoEnabled()) pDoc->BeginDrawUndo(); - sal_uInt16 nNoObjFlags = nFlags & ~IDF_OBJECTS; + InsertDeleteFlags nNoObjFlags = nFlags & ~IDF_OBJECTS; pDoc->CopyMultiRangeFromClip(rCurPos, aMark, nNoObjFlags, pClipDoc, true, bAsLink, false, bSkipEmpty); @@ -1555,9 +1555,9 @@ bool ScViewFunc::PasteMultiRangesFromClip( } bool ScViewFunc::PasteFromClipToMultiRanges( - sal_uInt16 nFlags, ScDocument* pClipDoc, sal_uInt16 nFunction, + InsertDeleteFlags nFlags, ScDocument* pClipDoc, sal_uInt16 nFunction, bool bSkipEmpty, bool bTranspose, bool bAsLink, bool bAllowDialogs, - InsCellCmd eMoveMode, sal_uInt16 nUndoFlags ) + InsCellCmd eMoveMode, InsertDeleteFlags nUndoFlags ) { if (bTranspose) { @@ -1904,13 +1904,13 @@ void ScViewFunc::DataFormPutData( SCROW nCurrentRow , bool bRowInfo = ( nStartCol==0 && nEndCol==MAXCOL ); SCCOL nUndoEndCol = nStartCol+aColLength-1; SCROW nUndoEndRow = nCurrentRow; - sal_uInt16 nUndoFlags = IDF_NONE; + InsertDeleteFlags nUndoFlags = IDF_NONE; if ( bRecord ) { pUndoDoc = new ScDocument( SCDOCMODE_UNDO ); pUndoDoc->InitUndoSelected( pDoc , rMark , bColInfo , bRowInfo ); - pDoc->CopyToDocument( aUserRange , 1 , false , pUndoDoc ); + pDoc->CopyToDocument( aUserRange , IDF_VALUE , false , pUndoDoc ); } sal_uInt16 nExtFlags = 0; pDocSh->UpdatePaintExt( nExtFlags, nStartCol, nStartRow, nStartTab , nEndCol, nEndRow, nEndTab ); // content before the change diff --git a/sc/source/ui/view/viewfunc.cxx b/sc/source/ui/view/viewfunc.cxx index c3359a0e7afd..1993cca5d2a7 100644 --- a/sc/source/ui/view/viewfunc.cxx +++ b/sc/source/ui/view/viewfunc.cxx @@ -1734,7 +1734,7 @@ void ScViewFunc::DeleteMulti( bool bRows, bool bRecord ) // delete contents -void ScViewFunc::DeleteContents( sal_uInt16 nFlags, bool bRecord ) +void ScViewFunc::DeleteContents( InsertDeleteFlags nFlags, bool bRecord ) { ScViewData& rViewData = GetViewData(); rViewData.SetPasteMode( SC_PASTE_NONE ); @@ -1854,7 +1854,7 @@ void ScViewFunc::DeleteContents( sal_uInt16 nFlags, bool bRecord ) // in case of "Format/Standard" copy all attributes, because CopyToDocument // with IDF_HARDATTR only is too time-consuming: - sal_uInt16 nUndoDocFlags = nFlags; + InsertDeleteFlags nUndoDocFlags = nFlags; if (nFlags & IDF_ATTRIB) nUndoDocFlags |= IDF_ATTRIB; if (nFlags & IDF_EDITATTR) // Edit-Engine-Attribute |