summaryrefslogtreecommitdiff
path: root/sc
diff options
context:
space:
mode:
authorNoel Grandin <noel@peralex.com>2014-08-22 15:15:17 +0200
committerEike Rathke <erack@redhat.com>2014-09-04 09:05:34 -0500
commit8e4dc1d760d85e09bbc3f3bbb5b8be2947db1b63 (patch)
treedbb60d3d9c8f931ed98e6ac864695d1d9046cee5 /sc
parenta62a046df3302e5763b7a568ac25032bb1501d44 (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>
Diffstat (limited to 'sc')
-rw-r--r--sc/inc/clipcontext.hxx12
-rw-r--r--sc/inc/column.hxx12
-rw-r--r--sc/inc/document.hxx34
-rw-r--r--sc/inc/global.hxx84
-rw-r--r--sc/inc/scabstdlg.hxx8
-rw-r--r--sc/inc/table.hxx10
-rw-r--r--sc/qa/unit/ucalc.cxx4
-rw-r--r--sc/source/core/data/clipcontext.cxx4
-rw-r--r--sc/source/core/data/column.cxx42
-rw-r--r--sc/source/core/data/column3.cxx32
-rw-r--r--sc/source/core/data/column4.cxx14
-rw-r--r--sc/source/core/data/documen3.cxx2
-rw-r--r--sc/source/core/data/document.cxx40
-rw-r--r--sc/source/core/data/document10.cxx14
-rw-r--r--sc/source/core/data/table2.cxx12
-rw-r--r--sc/source/core/data/table4.cxx2
-rw-r--r--sc/source/ui/attrdlg/scdlgfact.cxx8
-rw-r--r--sc/source/ui/attrdlg/scdlgfact.hxx8
-rw-r--r--sc/source/ui/docshell/dbdocimp.cxx2
-rw-r--r--sc/source/ui/docshell/docfunc.cxx6
-rw-r--r--sc/source/ui/docshell/impex.cxx6
-rw-r--r--sc/source/ui/inc/delcodlg.hxx6
-rw-r--r--sc/source/ui/inc/docfunc.hxx2
-rw-r--r--sc/source/ui/inc/inscodlg.hxx8
-rw-r--r--sc/source/ui/inc/undoblk.hxx16
-rw-r--r--sc/source/ui/inc/undodat.hxx4
-rw-r--r--sc/source/ui/inc/viewfunc.hxx16
-rw-r--r--sc/source/ui/miscdlgs/delcodlg.cxx10
-rw-r--r--sc/source/ui/miscdlgs/inscodlg.cxx13
-rw-r--r--sc/source/ui/undo/undoblk.cxx10
-rw-r--r--sc/source/ui/undo/undoblk3.cxx12
-rw-r--r--sc/source/ui/undo/undodat.cxx6
-rw-r--r--sc/source/ui/unoobj/cellsuno.cxx4
-rw-r--r--sc/source/ui/vba/excelvbahelper.cxx2
-rw-r--r--sc/source/ui/vba/excelvbahelper.hxx2
-rw-r--r--sc/source/ui/vba/vbarange.cxx9
-rw-r--r--sc/source/ui/view/cellsh1.cxx8
-rw-r--r--sc/source/ui/view/cliputil.cxx2
-rw-r--r--sc/source/ui/view/viewfun2.cxx2
-rw-r--r--sc/source/ui/view/viewfun3.cxx24
-rw-r--r--sc/source/ui/view/viewfunc.cxx4
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