[Libreoffice-commits] core.git: 2 commits - basctl/source chart2/source dbaccess/source editeng/source extensions/source include/sfx2 include/svl reportdesign/source sc/source sfx2/inc sfx2/source svl/qa svl/README svl/source svx/source sw/source

Noel Grandin noel at peralex.com
Wed Apr 15 04:37:26 PDT 2015


 basctl/source/basicide/basides1.cxx                |    4 
 basctl/source/basicide/basides2.cxx                |    2 
 basctl/source/basicide/docsignature.cxx            |    4 
 basctl/source/inc/docsignature.hxx                 |    4 
 chart2/source/view/main/ChartItemPool.cxx          |    2 
 dbaccess/source/core/dataaccess/ModelImpl.cxx      |    4 
 dbaccess/source/core/dataaccess/ModelImpl.hxx      |    2 
 dbaccess/source/ui/dlg/dbadmin.cxx                 |  122 +++----
 dbaccess/source/ui/misc/UITools.cxx                |   10 
 editeng/source/editeng/editdoc.cxx                 |  110 +++----
 extensions/source/propctrlr/fontdialog.cxx         |   40 +-
 include/sfx2/docfile.hxx                           |    5 
 include/sfx2/docmacromode.hxx                      |    3 
 include/sfx2/objsh.hxx                             |    9 
 include/sfx2/signaturestate.hxx                    |   25 -
 include/svl/itempool.hxx                           |   23 +
 reportdesign/source/ui/misc/UITools.cxx            |   74 ++--
 reportdesign/source/ui/report/ReportController.cxx |   60 +--
 sc/source/core/data/docpool.cxx                    |  186 ++++++------
 sc/source/ui/app/msgpool.cxx                       |   20 -
 sfx2/inc/guisaveas.hxx                             |    2 
 sfx2/source/doc/docfile.cxx                        |    8 
 sfx2/source/doc/docmacromode.cxx                   |    8 
 sfx2/source/doc/guisaveas.cxx                      |   10 
 sfx2/source/doc/objmisc.cxx                        |   24 -
 sfx2/source/doc/objserv.cxx                        |   56 +--
 sfx2/source/doc/objstor.cxx                        |   18 -
 sfx2/source/doc/objxtor.cxx                        |    4 
 sfx2/source/doc/sfxbasemodel.cxx                   |    4 
 sfx2/source/explorer/nochaos.cxx                   |    6 
 sfx2/source/inc/objshimp.hxx                       |    6 
 svl/README                                         |    2 
 svl/qa/unit/items/test_itempool.cxx                |    8 
 svl/source/items/itempool.cxx                      |   19 -
 svl/source/items/itemset.cxx                       |   10 
 svl/source/items/poolio.cxx                        |    6 
 svl/source/items/stylepool.cxx                     |    4 
 svx/source/stbctrls/xmlsecctrl.cxx                 |   26 -
 svx/source/svdraw/svdattr.cxx                      |    2 
 svx/source/xoutdev/xpool.cxx                       |    2 
 sw/source/core/bastyp/init.cxx                     |  324 ++++++++++-----------
 41 files changed, 636 insertions(+), 622 deletions(-)

New commits:
commit fe73ed7c79b96eaa5aa84314a07ae11f188575a1
Author: Noel Grandin <noel at peralex.com>
Date:   Mon Apr 13 16:01:31 2015 +0200

    convert SFX_ITEM constants to scoped enum
    
    Change-Id: Ief8c30c356ba947727c5ab70092042816a0db99e
    Reviewed-on: https://gerrit.libreoffice.org/15302
    Reviewed-by: Noel Grandin <noelgrandin at gmail.com>
    Tested-by: Noel Grandin <noelgrandin at gmail.com>

diff --git a/chart2/source/view/main/ChartItemPool.cxx b/chart2/source/view/main/ChartItemPool.cxx
index 82e9eca..9ad6981 100644
--- a/chart2/source/view/main/ChartItemPool.cxx
+++ b/chart2/source/view/main/ChartItemPool.cxx
@@ -167,7 +167,7 @@ ChartItemPool::ChartItemPool():
     for( sal_uInt16 i = 0; i < nMax; i++ )
     {
         pItemInfos[i]._nSID = 0;
-        pItemInfos[i]._nFlags = SFX_ITEM_POOLABLE;
+        pItemInfos[i]._nFlags = SfxItemPoolFlags::POOLABLE;
     }
 
     // slot ids differing from which ids
diff --git a/dbaccess/source/ui/dlg/dbadmin.cxx b/dbaccess/source/ui/dlg/dbadmin.cxx
index 646db7c..7eeedec 100644
--- a/dbaccess/source/ui/dlg/dbadmin.cxx
+++ b/dbaccess/source/ui/dlg/dbadmin.cxx
@@ -367,67 +367,67 @@ SfxItemSet* ODbAdminDialog::createItemSet(SfxItemSet*& _rpSet, SfxItemPool*& _rp
     // create the pool
     static SfxItemInfo const aItemInfos[DSID_LAST_ITEM_ID - DSID_FIRST_ITEM_ID + 1] =
     {
-        {0,0},
-        {0,0},
-        {0,0},
-        {0,0},
-        {0,0},
-        {0,0},
-        {0,0},
-        {0,0},
-        {0,0},
-        {0,0},
-        {0,0},
-        {0,0},
-        {0,0},
-        {0,0},
-        {0,0},
-        {0,0},
-        {0,0},
-        {0,0},
-        {0,0},
-        {0,0},
-        {0,0},
-        {0,0},
-        {0,0},
-        {0,0},
-        {0,0},
-        {0,0},
-        {0,0},
-        {0,0},
-        {0,0},
-        {0,0},
-        {0,0},
-        {0,0},
-        {0,0},
-        {0,0},
-        {0,0},
-        {0,0},
-        {0,0},
-        {0,0},
-        {0,0},
-        {0,0},
-        {0,0},
-        {0,0},
-        {0,0},
-        {0,0},
-        {0,0},
-        {0,0},
-        {0,0},
-        {0,0},
-        {0,0},
-        {0,0},
-        {0,0},
-        {0,0},
-        {0,0},
-        {0,0},
-        {0,0},
-        {0,0},
-        {0,0},
-        {0,0},
-        {0,0},
-        {0,0},
-        {0,0}
+        {0,SfxItemPoolFlags::NONE},
+        {0,SfxItemPoolFlags::NONE},
+        {0,SfxItemPoolFlags::NONE},
+        {0,SfxItemPoolFlags::NONE},
+        {0,SfxItemPoolFlags::NONE},
+        {0,SfxItemPoolFlags::NONE},
+        {0,SfxItemPoolFlags::NONE},
+        {0,SfxItemPoolFlags::NONE},
+        {0,SfxItemPoolFlags::NONE},
+        {0,SfxItemPoolFlags::NONE},
+        {0,SfxItemPoolFlags::NONE},
+        {0,SfxItemPoolFlags::NONE},
+        {0,SfxItemPoolFlags::NONE},
+        {0,SfxItemPoolFlags::NONE},
+        {0,SfxItemPoolFlags::NONE},
+        {0,SfxItemPoolFlags::NONE},
+        {0,SfxItemPoolFlags::NONE},
+        {0,SfxItemPoolFlags::NONE},
+        {0,SfxItemPoolFlags::NONE},
+        {0,SfxItemPoolFlags::NONE},
+        {0,SfxItemPoolFlags::NONE},
+        {0,SfxItemPoolFlags::NONE},
+        {0,SfxItemPoolFlags::NONE},
+        {0,SfxItemPoolFlags::NONE},
+        {0,SfxItemPoolFlags::NONE},
+        {0,SfxItemPoolFlags::NONE},
+        {0,SfxItemPoolFlags::NONE},
+        {0,SfxItemPoolFlags::NONE},
+        {0,SfxItemPoolFlags::NONE},
+        {0,SfxItemPoolFlags::NONE},
+        {0,SfxItemPoolFlags::NONE},
+        {0,SfxItemPoolFlags::NONE},
+        {0,SfxItemPoolFlags::NONE},
+        {0,SfxItemPoolFlags::NONE},
+        {0,SfxItemPoolFlags::NONE},
+        {0,SfxItemPoolFlags::NONE},
+        {0,SfxItemPoolFlags::NONE},
+        {0,SfxItemPoolFlags::NONE},
+        {0,SfxItemPoolFlags::NONE},
+        {0,SfxItemPoolFlags::NONE},
+        {0,SfxItemPoolFlags::NONE},
+        {0,SfxItemPoolFlags::NONE},
+        {0,SfxItemPoolFlags::NONE},
+        {0,SfxItemPoolFlags::NONE},
+        {0,SfxItemPoolFlags::NONE},
+        {0,SfxItemPoolFlags::NONE},
+        {0,SfxItemPoolFlags::NONE},
+        {0,SfxItemPoolFlags::NONE},
+        {0,SfxItemPoolFlags::NONE},
+        {0,SfxItemPoolFlags::NONE},
+        {0,SfxItemPoolFlags::NONE},
+        {0,SfxItemPoolFlags::NONE},
+        {0,SfxItemPoolFlags::NONE},
+        {0,SfxItemPoolFlags::NONE},
+        {0,SfxItemPoolFlags::NONE},
+        {0,SfxItemPoolFlags::NONE},
+        {0,SfxItemPoolFlags::NONE},
+        {0,SfxItemPoolFlags::NONE},
+        {0,SfxItemPoolFlags::NONE},
+        {0,SfxItemPoolFlags::NONE},
+        {0,SfxItemPoolFlags::NONE}
     };
 
     OSL_ENSURE(sizeof(aItemInfos)/sizeof(aItemInfos[0]) == DSID_LAST_ITEM_ID,"Invalid Ids!");
diff --git a/dbaccess/source/ui/misc/UITools.cxx b/dbaccess/source/ui/misc/UITools.cxx
index 5c661d5..e7dbf9c 100644
--- a/dbaccess/source/ui/misc/UITools.cxx
+++ b/dbaccess/source/ui/misc/UITools.cxx
@@ -798,11 +798,11 @@ bool callColumnFormatDialog(vcl::Window* _pParent,
     // UNO->ItemSet
     static SfxItemInfo aItemInfos[] =
     {
-        { 0, 0 },
-        { SID_ATTR_NUMBERFORMAT_VALUE,      SFX_ITEM_POOLABLE },
-        { SID_ATTR_ALIGN_HOR_JUSTIFY,       SFX_ITEM_POOLABLE },
-        { SID_ATTR_NUMBERFORMAT_ONE_AREA,   SFX_ITEM_POOLABLE },
-        { SID_ATTR_NUMBERFORMAT_INFO,       SFX_ITEM_POOLABLE }
+        { 0, SfxItemPoolFlags::NONE },
+        { SID_ATTR_NUMBERFORMAT_VALUE,      SfxItemPoolFlags::POOLABLE },
+        { SID_ATTR_ALIGN_HOR_JUSTIFY,       SfxItemPoolFlags::POOLABLE },
+        { SID_ATTR_NUMBERFORMAT_ONE_AREA,   SfxItemPoolFlags::POOLABLE },
+        { SID_ATTR_NUMBERFORMAT_INFO,       SfxItemPoolFlags::POOLABLE }
     };
     static const sal_uInt16 aAttrMap[] =
     {
diff --git a/editeng/source/editeng/editdoc.cxx b/editeng/source/editeng/editdoc.cxx
index 90594d0..faa6825 100644
--- a/editeng/source/editeng/editdoc.cxx
+++ b/editeng/source/editeng/editdoc.cxx
@@ -161,61 +161,61 @@ bool IsScriptItemValid( sal_uInt16 nItemId, short nScriptType )
 }
 
 const SfxItemInfo aItemInfos[EDITITEMCOUNT] = {
-        { SID_ATTR_FRAMEDIRECTION, SFX_ITEM_POOLABLE },         // EE_PARA_WRITINGDIR
-        { 0, SFX_ITEM_POOLABLE },                               // EE_PARA_XMLATTRIBS
-        { SID_ATTR_PARA_HANGPUNCTUATION, SFX_ITEM_POOLABLE },   // EE_PARA_HANGINGPUNCTUATION
-        { SID_ATTR_PARA_FORBIDDEN_RULES, SFX_ITEM_POOLABLE },
-        { SID_ATTR_PARA_SCRIPTSPACE, SFX_ITEM_POOLABLE },       // EE_PARA_ASIANCJKSPACING
-        { SID_ATTR_NUMBERING_RULE, SFX_ITEM_POOLABLE },         // EE_PARA_NUMBULL
-        { 0, SFX_ITEM_POOLABLE },                               // EE_PARA_HYPHENATE
-        { 0, SFX_ITEM_POOLABLE },                               // EE_PARA_BULLETSTATE
-        { 0, SFX_ITEM_POOLABLE },                               // EE_PARA_OUTLLRSPACE
-        { SID_ATTR_PARA_OUTLLEVEL, SFX_ITEM_POOLABLE },         // EE_PARA_OUTLLEVEL
-        { SID_ATTR_PARA_BULLET, SFX_ITEM_POOLABLE },            // EE_PARA_BULLET
-        { SID_ATTR_LRSPACE, SFX_ITEM_POOLABLE },                // EE_PARA_LRSPACE
-        { SID_ATTR_ULSPACE, SFX_ITEM_POOLABLE },                // EE_PARA_ULSPACE
-        { SID_ATTR_PARA_LINESPACE, SFX_ITEM_POOLABLE },         // EE_PARA_SBL
-        { SID_ATTR_PARA_ADJUST, SFX_ITEM_POOLABLE },            // EE_PARA_JUST
-        { SID_ATTR_TABSTOP, SFX_ITEM_POOLABLE },                // EE_PARA_TABS
-        { SID_ATTR_ALIGN_HOR_JUSTIFY_METHOD, SFX_ITEM_POOLABLE }, // EE_PARA_JUST_METHOD
-        { SID_ATTR_ALIGN_VER_JUSTIFY, SFX_ITEM_POOLABLE },      // EE_PARA_VER_JUST
-        { SID_ATTR_CHAR_COLOR, SFX_ITEM_POOLABLE },
-        { SID_ATTR_CHAR_FONT, SFX_ITEM_POOLABLE },
-        { SID_ATTR_CHAR_FONTHEIGHT, SFX_ITEM_POOLABLE },
-        { SID_ATTR_CHAR_SCALEWIDTH, SFX_ITEM_POOLABLE },
-        { SID_ATTR_CHAR_WEIGHT, SFX_ITEM_POOLABLE },
-        { SID_ATTR_CHAR_UNDERLINE, SFX_ITEM_POOLABLE },
-        { SID_ATTR_CHAR_STRIKEOUT, SFX_ITEM_POOLABLE },
-        { SID_ATTR_CHAR_POSTURE, SFX_ITEM_POOLABLE },
-        { SID_ATTR_CHAR_CONTOUR, SFX_ITEM_POOLABLE },
-        { SID_ATTR_CHAR_SHADOWED, SFX_ITEM_POOLABLE },
-        { SID_ATTR_CHAR_ESCAPEMENT, SFX_ITEM_POOLABLE },
-        { SID_ATTR_CHAR_AUTOKERN, SFX_ITEM_POOLABLE },
-        { SID_ATTR_CHAR_KERNING, SFX_ITEM_POOLABLE },
-        { SID_ATTR_CHAR_WORDLINEMODE, SFX_ITEM_POOLABLE },
-        { SID_ATTR_CHAR_LANGUAGE, SFX_ITEM_POOLABLE },
-        { SID_ATTR_CHAR_CJK_LANGUAGE, SFX_ITEM_POOLABLE },
-        { SID_ATTR_CHAR_CTL_LANGUAGE, SFX_ITEM_POOLABLE },
-        { SID_ATTR_CHAR_CJK_FONT, SFX_ITEM_POOLABLE },
-        { SID_ATTR_CHAR_CTL_FONT, SFX_ITEM_POOLABLE },
-        { SID_ATTR_CHAR_CJK_FONTHEIGHT, SFX_ITEM_POOLABLE },
-        { SID_ATTR_CHAR_CTL_FONTHEIGHT, SFX_ITEM_POOLABLE },
-        { SID_ATTR_CHAR_CJK_WEIGHT, SFX_ITEM_POOLABLE },
-        { SID_ATTR_CHAR_CTL_WEIGHT, SFX_ITEM_POOLABLE },
-        { SID_ATTR_CHAR_CJK_POSTURE, SFX_ITEM_POOLABLE },
-        { SID_ATTR_CHAR_CTL_POSTURE, SFX_ITEM_POOLABLE },
-        { SID_ATTR_CHAR_EMPHASISMARK, SFX_ITEM_POOLABLE },
-        { SID_ATTR_CHAR_RELIEF, SFX_ITEM_POOLABLE },
-        { 0, SFX_ITEM_POOLABLE },                           // EE_CHAR_RUBI_DUMMY
-        { 0, SFX_ITEM_POOLABLE },                           // EE_CHAR_XMLATTRIBS
-        { SID_ATTR_CHAR_OVERLINE, SFX_ITEM_POOLABLE },
-        { SID_ATTR_CHAR_CASEMAP, SFX_ITEM_POOLABLE },       // EE_CHAR_CASEMAP
-        { SID_ATTR_CHAR_GRABBAG, SFX_ITEM_POOLABLE },       // EE_CHAR_GRABBAG
-        { 0, SFX_ITEM_POOLABLE },                           // EE_CHAR_BKGCOLOR
-        { 0, SFX_ITEM_POOLABLE },                           // EE_FEATURE_TAB
-        { 0, SFX_ITEM_POOLABLE },                           // EE_FEATURE_LINEBR
-        { SID_ATTR_CHAR_CHARSETCOLOR, SFX_ITEM_POOLABLE },  // EE_FEATURE_NOTCONV
-        { SID_FIELD, SFX_ITEM_POOLABLE }
+        { SID_ATTR_FRAMEDIRECTION, SfxItemPoolFlags::POOLABLE },         // EE_PARA_WRITINGDIR
+        { 0, SfxItemPoolFlags::POOLABLE },                               // EE_PARA_XMLATTRIBS
+        { SID_ATTR_PARA_HANGPUNCTUATION, SfxItemPoolFlags::POOLABLE },   // EE_PARA_HANGINGPUNCTUATION
+        { SID_ATTR_PARA_FORBIDDEN_RULES, SfxItemPoolFlags::POOLABLE },
+        { SID_ATTR_PARA_SCRIPTSPACE, SfxItemPoolFlags::POOLABLE },       // EE_PARA_ASIANCJKSPACING
+        { SID_ATTR_NUMBERING_RULE, SfxItemPoolFlags::POOLABLE },         // EE_PARA_NUMBULL
+        { 0, SfxItemPoolFlags::POOLABLE },                               // EE_PARA_HYPHENATE
+        { 0, SfxItemPoolFlags::POOLABLE },                               // EE_PARA_BULLETSTATE
+        { 0, SfxItemPoolFlags::POOLABLE },                               // EE_PARA_OUTLLRSPACE
+        { SID_ATTR_PARA_OUTLLEVEL, SfxItemPoolFlags::POOLABLE },         // EE_PARA_OUTLLEVEL
+        { SID_ATTR_PARA_BULLET, SfxItemPoolFlags::POOLABLE },            // EE_PARA_BULLET
+        { SID_ATTR_LRSPACE, SfxItemPoolFlags::POOLABLE },                // EE_PARA_LRSPACE
+        { SID_ATTR_ULSPACE, SfxItemPoolFlags::POOLABLE },                // EE_PARA_ULSPACE
+        { SID_ATTR_PARA_LINESPACE, SfxItemPoolFlags::POOLABLE },         // EE_PARA_SBL
+        { SID_ATTR_PARA_ADJUST, SfxItemPoolFlags::POOLABLE },            // EE_PARA_JUST
+        { SID_ATTR_TABSTOP, SfxItemPoolFlags::POOLABLE },                // EE_PARA_TABS
+        { SID_ATTR_ALIGN_HOR_JUSTIFY_METHOD, SfxItemPoolFlags::POOLABLE }, // EE_PARA_JUST_METHOD
+        { SID_ATTR_ALIGN_VER_JUSTIFY, SfxItemPoolFlags::POOLABLE },      // EE_PARA_VER_JUST
+        { SID_ATTR_CHAR_COLOR, SfxItemPoolFlags::POOLABLE },
+        { SID_ATTR_CHAR_FONT, SfxItemPoolFlags::POOLABLE },
+        { SID_ATTR_CHAR_FONTHEIGHT, SfxItemPoolFlags::POOLABLE },
+        { SID_ATTR_CHAR_SCALEWIDTH, SfxItemPoolFlags::POOLABLE },
+        { SID_ATTR_CHAR_WEIGHT, SfxItemPoolFlags::POOLABLE },
+        { SID_ATTR_CHAR_UNDERLINE, SfxItemPoolFlags::POOLABLE },
+        { SID_ATTR_CHAR_STRIKEOUT, SfxItemPoolFlags::POOLABLE },
+        { SID_ATTR_CHAR_POSTURE, SfxItemPoolFlags::POOLABLE },
+        { SID_ATTR_CHAR_CONTOUR, SfxItemPoolFlags::POOLABLE },
+        { SID_ATTR_CHAR_SHADOWED, SfxItemPoolFlags::POOLABLE },
+        { SID_ATTR_CHAR_ESCAPEMENT, SfxItemPoolFlags::POOLABLE },
+        { SID_ATTR_CHAR_AUTOKERN, SfxItemPoolFlags::POOLABLE },
+        { SID_ATTR_CHAR_KERNING, SfxItemPoolFlags::POOLABLE },
+        { SID_ATTR_CHAR_WORDLINEMODE, SfxItemPoolFlags::POOLABLE },
+        { SID_ATTR_CHAR_LANGUAGE, SfxItemPoolFlags::POOLABLE },
+        { SID_ATTR_CHAR_CJK_LANGUAGE, SfxItemPoolFlags::POOLABLE },
+        { SID_ATTR_CHAR_CTL_LANGUAGE, SfxItemPoolFlags::POOLABLE },
+        { SID_ATTR_CHAR_CJK_FONT, SfxItemPoolFlags::POOLABLE },
+        { SID_ATTR_CHAR_CTL_FONT, SfxItemPoolFlags::POOLABLE },
+        { SID_ATTR_CHAR_CJK_FONTHEIGHT, SfxItemPoolFlags::POOLABLE },
+        { SID_ATTR_CHAR_CTL_FONTHEIGHT, SfxItemPoolFlags::POOLABLE },
+        { SID_ATTR_CHAR_CJK_WEIGHT, SfxItemPoolFlags::POOLABLE },
+        { SID_ATTR_CHAR_CTL_WEIGHT, SfxItemPoolFlags::POOLABLE },
+        { SID_ATTR_CHAR_CJK_POSTURE, SfxItemPoolFlags::POOLABLE },
+        { SID_ATTR_CHAR_CTL_POSTURE, SfxItemPoolFlags::POOLABLE },
+        { SID_ATTR_CHAR_EMPHASISMARK, SfxItemPoolFlags::POOLABLE },
+        { SID_ATTR_CHAR_RELIEF, SfxItemPoolFlags::POOLABLE },
+        { 0, SfxItemPoolFlags::POOLABLE },                           // EE_CHAR_RUBI_DUMMY
+        { 0, SfxItemPoolFlags::POOLABLE },                           // EE_CHAR_XMLATTRIBS
+        { SID_ATTR_CHAR_OVERLINE, SfxItemPoolFlags::POOLABLE },
+        { SID_ATTR_CHAR_CASEMAP, SfxItemPoolFlags::POOLABLE },       // EE_CHAR_CASEMAP
+        { SID_ATTR_CHAR_GRABBAG, SfxItemPoolFlags::POOLABLE },       // EE_CHAR_GRABBAG
+        { 0, SfxItemPoolFlags::POOLABLE },                           // EE_CHAR_BKGCOLOR
+        { 0, SfxItemPoolFlags::POOLABLE },                           // EE_FEATURE_TAB
+        { 0, SfxItemPoolFlags::POOLABLE },                           // EE_FEATURE_LINEBR
+        { SID_ATTR_CHAR_CHARSETCOLOR, SfxItemPoolFlags::POOLABLE },  // EE_FEATURE_NOTCONV
+        { SID_FIELD, SfxItemPoolFlags::POOLABLE }
 };
 
 const sal_uInt16 aV1Map[] = {
diff --git a/extensions/source/propctrlr/fontdialog.cxx b/extensions/source/propctrlr/fontdialog.cxx
index 8030bf8..9001fcf 100644
--- a/extensions/source/propctrlr/fontdialog.cxx
+++ b/extensions/source/propctrlr/fontdialog.cxx
@@ -520,26 +520,26 @@ namespace pcr
         // create the pool
         static SfxItemInfo const aItemInfos[CFID_LAST_ITEM_ID - CFID_FIRST_ITEM_ID + 1] =
         {
-            { SID_ATTR_CHAR_FONT,               0 },
-            { SID_ATTR_CHAR_FONTHEIGHT,         0 },
-            { SID_ATTR_CHAR_WEIGHT,             0 },
-            { SID_ATTR_CHAR_POSTURE,            0 },
-            { SID_ATTR_CHAR_LANGUAGE,           0 },
-            { SID_ATTR_CHAR_UNDERLINE,          0 },
-            { SID_ATTR_CHAR_STRIKEOUT,          0 },
-            { SID_ATTR_CHAR_WORDLINEMODE,       0 },
-            { SID_ATTR_CHAR_COLOR,              0 },
-            { SID_ATTR_CHAR_RELIEF,             0 },
-            { SID_ATTR_CHAR_EMPHASISMARK,       0 },
-            { 0,                                0 },
-            { 0,                                0 },
-            { 0,                                0 },
-            { 0,                                0 },
-            { 0,                                0 },
-            { 0,                                0 },
-            { 0,                                0 },
-            { 0,                                0 },
-            { SID_ATTR_CHAR_FONTLIST,           0 }
+            { SID_ATTR_CHAR_FONT,               SfxItemPoolFlags::NONE },
+            { SID_ATTR_CHAR_FONTHEIGHT,         SfxItemPoolFlags::NONE },
+            { SID_ATTR_CHAR_WEIGHT,             SfxItemPoolFlags::NONE },
+            { SID_ATTR_CHAR_POSTURE,            SfxItemPoolFlags::NONE },
+            { SID_ATTR_CHAR_LANGUAGE,           SfxItemPoolFlags::NONE },
+            { SID_ATTR_CHAR_UNDERLINE,          SfxItemPoolFlags::NONE },
+            { SID_ATTR_CHAR_STRIKEOUT,          SfxItemPoolFlags::NONE },
+            { SID_ATTR_CHAR_WORDLINEMODE,       SfxItemPoolFlags::NONE },
+            { SID_ATTR_CHAR_COLOR,              SfxItemPoolFlags::NONE },
+            { SID_ATTR_CHAR_RELIEF,             SfxItemPoolFlags::NONE },
+            { SID_ATTR_CHAR_EMPHASISMARK,       SfxItemPoolFlags::NONE },
+            { 0,                                SfxItemPoolFlags::NONE },
+            { 0,                                SfxItemPoolFlags::NONE },
+            { 0,                                SfxItemPoolFlags::NONE },
+            { 0,                                SfxItemPoolFlags::NONE },
+            { 0,                                SfxItemPoolFlags::NONE },
+            { 0,                                SfxItemPoolFlags::NONE },
+            { 0,                                SfxItemPoolFlags::NONE },
+            { 0,                                SfxItemPoolFlags::NONE },
+            { SID_ATTR_CHAR_FONTLIST,           SfxItemPoolFlags::NONE }
         };
 
         _rpPool = new SfxItemPool(OUString("PCRControlFontItemPool"), CFID_FIRST_ITEM_ID, CFID_LAST_ITEM_ID,
diff --git a/include/svl/itempool.hxx b/include/svl/itempool.hxx
index b6944db..39f0b79 100644
--- a/include/svl/itempool.hxx
+++ b/include/svl/itempool.hxx
@@ -24,6 +24,7 @@
 #include <svl/poolitem.hxx>
 #include <svl/svldllapi.h>
 #include <tools/solar.h>
+#include <o3tl/typed_flags_set.hxx>
 
 class SvStream;
 class SfxBroadcaster;
@@ -31,13 +32,21 @@ struct SfxItemPool_Impl;
 
 #define SFX_WHICH_MAX 4999
 
-#define SFX_ITEM_POOLABLE           0x0001
-#define SFX_ITEM_NOT_POOLABLE       0x0002
+enum class SfxItemPoolFlags
+{
+    NONE               = 0x00,
+    POOLABLE           = 0x01,
+    NOT_POOLABLE       = 0x02,
+};
+namespace o3tl
+{
+    template<> struct typed_flags<SfxItemPoolFlags> : is_typed_flags<SfxItemPoolFlags, 0x03> {};
+}
 
 struct SfxItemInfo
 {
-    sal_uInt16      _nSID;
-    sal_uInt16      _nFlags;
+    sal_uInt16       _nSID;
+    SfxItemPoolFlags _nFlags;
 };
 
 class SfxStyleSheetIterator;
@@ -75,7 +84,7 @@ private:
     sal_uInt16                      GetIndex_Impl(sal_uInt16 nWhich) const;
     sal_uInt16                      GetSize_Impl() const;
 
-    SVL_DLLPRIVATE bool             IsItemFlag_Impl( sal_uInt16 nWhich, sal_uInt16 nFlag ) const;
+    SVL_DLLPRIVATE bool             IsItemFlag_Impl( sal_uInt16 nWhich, SfxItemPoolFlags nFlag ) const;
 
 public:
     // for default SfxItemSet::CTOR, set default WhichRanges
@@ -188,8 +197,8 @@ public:
 
     void                            Delete();
 
-    bool                            IsItemFlag( sal_uInt16 nWhich, sal_uInt16 nFlag ) const;
-    bool                            IsItemFlag( const SfxPoolItem &rItem, sal_uInt16 nFlag ) const
+    bool                            IsItemFlag( sal_uInt16 nWhich, SfxItemPoolFlags nFlag ) const;
+    bool                            IsItemFlag( const SfxPoolItem &rItem, SfxItemPoolFlags nFlag ) const
                                     { return IsItemFlag( rItem.Which(), nFlag ); }
     void                            SetItemInfos( const SfxItemInfo *pInfos );
     sal_uInt16                      GetWhich( sal_uInt16 nSlot, bool bDeep = true ) const;
diff --git a/reportdesign/source/ui/misc/UITools.cxx b/reportdesign/source/ui/misc/UITools.cxx
index 41cc15e..01533c7 100644
--- a/reportdesign/source/ui/misc/UITools.cxx
+++ b/reportdesign/source/ui/misc/UITools.cxx
@@ -604,46 +604,46 @@ bool openCharDialog( const uno::Reference<report::XReportControlFormat >& _rxRep
     // UNO->ItemSet
     static SfxItemInfo aItemInfos[] =
     {
-        { SID_ATTR_CHAR_FONT, SFX_ITEM_POOLABLE },
-        { SID_ATTR_CHAR_FONTHEIGHT, SFX_ITEM_POOLABLE },
-        { SID_ATTR_CHAR_LANGUAGE, SFX_ITEM_POOLABLE },
-        { SID_ATTR_CHAR_POSTURE, SFX_ITEM_POOLABLE },
-        { SID_ATTR_CHAR_WEIGHT, SFX_ITEM_POOLABLE },
-        { SID_ATTR_CHAR_SHADOWED, SFX_ITEM_POOLABLE },
-        { SID_ATTR_CHAR_WORDLINEMODE, SFX_ITEM_POOLABLE },
-        { SID_ATTR_CHAR_CONTOUR, SFX_ITEM_POOLABLE },
-        { SID_ATTR_CHAR_STRIKEOUT, SFX_ITEM_POOLABLE },
-        { SID_ATTR_CHAR_UNDERLINE, SFX_ITEM_POOLABLE },
-        { SID_ATTR_CHAR_COLOR, SFX_ITEM_POOLABLE },
-        { SID_ATTR_CHAR_KERNING, SFX_ITEM_POOLABLE },
-        { SID_ATTR_CHAR_CASEMAP, SFX_ITEM_POOLABLE },
-        { SID_ATTR_CHAR_ESCAPEMENT, SFX_ITEM_POOLABLE },
-        { SID_ATTR_CHAR_FONTLIST, SFX_ITEM_POOLABLE },
-        { SID_ATTR_CHAR_AUTOKERN, SFX_ITEM_POOLABLE },
-        { SID_COLOR_TABLE, SFX_ITEM_POOLABLE },
-        { SID_ATTR_FLASH, SFX_ITEM_POOLABLE },
-        { SID_ATTR_CHAR_EMPHASISMARK, SFX_ITEM_POOLABLE },
-        { SID_ATTR_CHAR_TWO_LINES, SFX_ITEM_POOLABLE },
-        { SID_ATTR_CHAR_ROTATED, SFX_ITEM_POOLABLE },
-        { SID_ATTR_CHAR_SCALEWIDTH, SFX_ITEM_POOLABLE },
-        { SID_ATTR_CHAR_RELIEF, SFX_ITEM_POOLABLE },
-        { SID_ATTR_CHAR_HIDDEN, SFX_ITEM_POOLABLE },
-        { SID_ATTR_BRUSH, SFX_ITEM_POOLABLE },
-        { SID_ATTR_ALIGN_HOR_JUSTIFY, SFX_ITEM_POOLABLE },
-        { SID_ATTR_ALIGN_VER_JUSTIFY, SFX_ITEM_POOLABLE },
+        { SID_ATTR_CHAR_FONT, SfxItemPoolFlags::POOLABLE },
+        { SID_ATTR_CHAR_FONTHEIGHT, SfxItemPoolFlags::POOLABLE },
+        { SID_ATTR_CHAR_LANGUAGE, SfxItemPoolFlags::POOLABLE },
+        { SID_ATTR_CHAR_POSTURE, SfxItemPoolFlags::POOLABLE },
+        { SID_ATTR_CHAR_WEIGHT, SfxItemPoolFlags::POOLABLE },
+        { SID_ATTR_CHAR_SHADOWED, SfxItemPoolFlags::POOLABLE },
+        { SID_ATTR_CHAR_WORDLINEMODE, SfxItemPoolFlags::POOLABLE },
+        { SID_ATTR_CHAR_CONTOUR, SfxItemPoolFlags::POOLABLE },
+        { SID_ATTR_CHAR_STRIKEOUT, SfxItemPoolFlags::POOLABLE },
+        { SID_ATTR_CHAR_UNDERLINE, SfxItemPoolFlags::POOLABLE },
+        { SID_ATTR_CHAR_COLOR, SfxItemPoolFlags::POOLABLE },
+        { SID_ATTR_CHAR_KERNING, SfxItemPoolFlags::POOLABLE },
+        { SID_ATTR_CHAR_CASEMAP, SfxItemPoolFlags::POOLABLE },
+        { SID_ATTR_CHAR_ESCAPEMENT, SfxItemPoolFlags::POOLABLE },
+        { SID_ATTR_CHAR_FONTLIST, SfxItemPoolFlags::POOLABLE },
+        { SID_ATTR_CHAR_AUTOKERN, SfxItemPoolFlags::POOLABLE },
+        { SID_COLOR_TABLE, SfxItemPoolFlags::POOLABLE },
+        { SID_ATTR_FLASH, SfxItemPoolFlags::POOLABLE },
+        { SID_ATTR_CHAR_EMPHASISMARK, SfxItemPoolFlags::POOLABLE },
+        { SID_ATTR_CHAR_TWO_LINES, SfxItemPoolFlags::POOLABLE },
+        { SID_ATTR_CHAR_ROTATED, SfxItemPoolFlags::POOLABLE },
+        { SID_ATTR_CHAR_SCALEWIDTH, SfxItemPoolFlags::POOLABLE },
+        { SID_ATTR_CHAR_RELIEF, SfxItemPoolFlags::POOLABLE },
+        { SID_ATTR_CHAR_HIDDEN, SfxItemPoolFlags::POOLABLE },
+        { SID_ATTR_BRUSH, SfxItemPoolFlags::POOLABLE },
+        { SID_ATTR_ALIGN_HOR_JUSTIFY, SfxItemPoolFlags::POOLABLE },
+        { SID_ATTR_ALIGN_VER_JUSTIFY, SfxItemPoolFlags::POOLABLE },
 
         // Asian
-        { SID_ATTR_CHAR_CJK_FONT, SFX_ITEM_POOLABLE },
-        { SID_ATTR_CHAR_CJK_FONTHEIGHT, SFX_ITEM_POOLABLE },
-        { SID_ATTR_CHAR_CJK_LANGUAGE, SFX_ITEM_POOLABLE },
-        { SID_ATTR_CHAR_CJK_POSTURE, SFX_ITEM_POOLABLE },
-        { SID_ATTR_CHAR_CJK_WEIGHT, SFX_ITEM_POOLABLE },
+        { SID_ATTR_CHAR_CJK_FONT, SfxItemPoolFlags::POOLABLE },
+        { SID_ATTR_CHAR_CJK_FONTHEIGHT, SfxItemPoolFlags::POOLABLE },
+        { SID_ATTR_CHAR_CJK_LANGUAGE, SfxItemPoolFlags::POOLABLE },
+        { SID_ATTR_CHAR_CJK_POSTURE, SfxItemPoolFlags::POOLABLE },
+        { SID_ATTR_CHAR_CJK_WEIGHT, SfxItemPoolFlags::POOLABLE },
         // Complex
-        { SID_ATTR_CHAR_CTL_FONT, SFX_ITEM_POOLABLE },
-        { SID_ATTR_CHAR_CTL_FONTHEIGHT, SFX_ITEM_POOLABLE },
-        { SID_ATTR_CHAR_CTL_LANGUAGE, SFX_ITEM_POOLABLE },
-        { SID_ATTR_CHAR_CTL_POSTURE, SFX_ITEM_POOLABLE },
-        { SID_ATTR_CHAR_CTL_WEIGHT, SFX_ITEM_POOLABLE }
+        { SID_ATTR_CHAR_CTL_FONT, SfxItemPoolFlags::POOLABLE },
+        { SID_ATTR_CHAR_CTL_FONTHEIGHT, SfxItemPoolFlags::POOLABLE },
+        { SID_ATTR_CHAR_CTL_LANGUAGE, SfxItemPoolFlags::POOLABLE },
+        { SID_ATTR_CHAR_CTL_POSTURE, SfxItemPoolFlags::POOLABLE },
+        { SID_ATTR_CHAR_CTL_WEIGHT, SfxItemPoolFlags::POOLABLE }
     };
     vcl::Window* pParent = VCLUnoHelper::GetWindow( _rxParentWindow );
     ::std::unique_ptr<FontList> pFontList(new FontList( pParent ));
diff --git a/reportdesign/source/ui/report/ReportController.cxx b/reportdesign/source/ui/report/ReportController.cxx
index b02d01f..6733961 100644
--- a/reportdesign/source/ui/report/ReportController.cxx
+++ b/reportdesign/source/ui/report/ReportController.cxx
@@ -2364,35 +2364,35 @@ void OReportController::openPageDialog(const uno::Reference<report::XSection>& _
     // UNO->ItemSet
     static SfxItemInfo aItemInfos[] =
     {
-        { SID_ATTR_LRSPACE,     SFX_ITEM_POOLABLE },
-        { SID_ATTR_ULSPACE,     SFX_ITEM_POOLABLE },
-        { SID_ATTR_PAGE,        SFX_ITEM_POOLABLE },
-        { SID_ATTR_PAGE_SIZE,   SFX_ITEM_POOLABLE },
-        { SID_ENUM_PAGE_MODE,   SFX_ITEM_POOLABLE },
-        { SID_PAPER_START,      SFX_ITEM_POOLABLE },
-        { SID_PAPER_END,        SFX_ITEM_POOLABLE },
-        { SID_ATTR_BRUSH,       SFX_ITEM_POOLABLE },
-        { XATTR_FILLSTYLE,      SFX_ITEM_POOLABLE },
-        { XATTR_FILLCOLOR,      SFX_ITEM_POOLABLE },
-        { XATTR_FILLGRADIENT,       SFX_ITEM_POOLABLE },
-        { XATTR_FILLHATCH,      SFX_ITEM_POOLABLE },
-        { XATTR_FILLBITMAP,     SFX_ITEM_POOLABLE },
-        { XATTR_FILLTRANSPARENCE,       SFX_ITEM_POOLABLE },
-        { XATTR_GRADIENTSTEPCOUNT,      SFX_ITEM_POOLABLE },
-        { XATTR_FILLBMP_TILE,       SFX_ITEM_POOLABLE },
-        { XATTR_FILLBMP_POS,        SFX_ITEM_POOLABLE },
-        { XATTR_FILLBMP_SIZEX,      SFX_ITEM_POOLABLE },
-        { XATTR_FILLBMP_SIZEY,      SFX_ITEM_POOLABLE },
-        { XATTR_FILLBMP_SIZELOG,        SFX_ITEM_POOLABLE },
-        { XATTR_FILLBMP_TILEOFFSETX,    SFX_ITEM_POOLABLE },
-        { XATTR_FILLBMP_TILEOFFSETY,    SFX_ITEM_POOLABLE },
-        { XATTR_FILLBMP_STRETCH,        SFX_ITEM_POOLABLE },
-        { XATTR_FILLBMP_POSOFFSETX,     SFX_ITEM_POOLABLE },
-        { XATTR_FILLBMP_POSOFFSETY,     SFX_ITEM_POOLABLE },
-        { XATTR_FILLFLOATTRANSPARENCE,  SFX_ITEM_POOLABLE },
-        { XATTR_SECONDARYFILLCOLOR,     SFX_ITEM_POOLABLE },
-        { XATTR_FILLBACKGROUND,     SFX_ITEM_POOLABLE },
-        { SID_ATTR_METRIC,      SFX_ITEM_POOLABLE }
+        { SID_ATTR_LRSPACE,     SfxItemPoolFlags::POOLABLE },
+        { SID_ATTR_ULSPACE,     SfxItemPoolFlags::POOLABLE },
+        { SID_ATTR_PAGE,        SfxItemPoolFlags::POOLABLE },
+        { SID_ATTR_PAGE_SIZE,   SfxItemPoolFlags::POOLABLE },
+        { SID_ENUM_PAGE_MODE,   SfxItemPoolFlags::POOLABLE },
+        { SID_PAPER_START,      SfxItemPoolFlags::POOLABLE },
+        { SID_PAPER_END,        SfxItemPoolFlags::POOLABLE },
+        { SID_ATTR_BRUSH,       SfxItemPoolFlags::POOLABLE },
+        { XATTR_FILLSTYLE,      SfxItemPoolFlags::POOLABLE },
+        { XATTR_FILLCOLOR,      SfxItemPoolFlags::POOLABLE },
+        { XATTR_FILLGRADIENT,       SfxItemPoolFlags::POOLABLE },
+        { XATTR_FILLHATCH,      SfxItemPoolFlags::POOLABLE },
+        { XATTR_FILLBITMAP,     SfxItemPoolFlags::POOLABLE },
+        { XATTR_FILLTRANSPARENCE,       SfxItemPoolFlags::POOLABLE },
+        { XATTR_GRADIENTSTEPCOUNT,      SfxItemPoolFlags::POOLABLE },
+        { XATTR_FILLBMP_TILE,       SfxItemPoolFlags::POOLABLE },
+        { XATTR_FILLBMP_POS,        SfxItemPoolFlags::POOLABLE },
+        { XATTR_FILLBMP_SIZEX,      SfxItemPoolFlags::POOLABLE },
+        { XATTR_FILLBMP_SIZEY,      SfxItemPoolFlags::POOLABLE },
+        { XATTR_FILLBMP_SIZELOG,        SfxItemPoolFlags::POOLABLE },
+        { XATTR_FILLBMP_TILEOFFSETX,    SfxItemPoolFlags::POOLABLE },
+        { XATTR_FILLBMP_TILEOFFSETY,    SfxItemPoolFlags::POOLABLE },
+        { XATTR_FILLBMP_STRETCH,        SfxItemPoolFlags::POOLABLE },
+        { XATTR_FILLBMP_POSOFFSETX,     SfxItemPoolFlags::POOLABLE },
+        { XATTR_FILLBMP_POSOFFSETY,     SfxItemPoolFlags::POOLABLE },
+        { XATTR_FILLFLOATTRANSPARENCE,  SfxItemPoolFlags::POOLABLE },
+        { XATTR_SECONDARYFILLCOLOR,     SfxItemPoolFlags::POOLABLE },
+        { XATTR_FILLBACKGROUND,     SfxItemPoolFlags::POOLABLE },
+        { SID_ATTR_METRIC,      SfxItemPoolFlags::POOLABLE }
     };
 
     MeasurementSystem eSystem = SvtSysLocale().GetLocaleData().getMeasurementSystemEnum();
@@ -4240,7 +4240,7 @@ void OReportController::openZoomDialog()
     {
         static SfxItemInfo aItemInfos[] =
         {
-            { SID_ATTR_ZOOM, SFX_ITEM_POOLABLE }
+            { SID_ATTR_ZOOM, SfxItemPoolFlags::POOLABLE }
         };
         SfxPoolItem* pDefaults[] =
         {
diff --git a/sc/source/core/data/docpool.cxx b/sc/source/core/data/docpool.cxx
index eba1d98..2effa6d 100644
--- a/sc/source/core/data/docpool.cxx
+++ b/sc/source/core/data/docpool.cxx
@@ -91,99 +91,99 @@ sal_uInt16* ScDocumentPool::pVersionMap12 = 0;
 
 static SfxItemInfo const  aItemInfos[] =
 {
-    { SID_ATTR_CHAR_FONT,           SFX_ITEM_POOLABLE },    // ATTR_FONT
-    { SID_ATTR_CHAR_FONTHEIGHT,     SFX_ITEM_POOLABLE },    // ATTR_FONT_HEIGHT
-    { SID_ATTR_CHAR_WEIGHT,         SFX_ITEM_POOLABLE },    // ATTR_FONT_WEIGHT
-    { SID_ATTR_CHAR_POSTURE,        SFX_ITEM_POOLABLE },    // ATTR_FONT_POSTURE
-    { SID_ATTR_CHAR_UNDERLINE,      SFX_ITEM_POOLABLE },    // ATTR_FONT_UNDERLINE
-    { SID_ATTR_CHAR_OVERLINE,       SFX_ITEM_POOLABLE },    // ATTR_FONT_OVERLINE
-    { SID_ATTR_CHAR_STRIKEOUT,      SFX_ITEM_POOLABLE },    // ATTR_FONT_CROSSEDOUT
-    { SID_ATTR_CHAR_CONTOUR,        SFX_ITEM_POOLABLE },    // ATTR_FONT_CONTOUR
-    { SID_ATTR_CHAR_SHADOWED,       SFX_ITEM_POOLABLE },    // ATTR_FONT_SHADOWED
-    { SID_ATTR_CHAR_COLOR,          SFX_ITEM_POOLABLE },    // ATTR_FONT_COLOR
-    { SID_ATTR_CHAR_LANGUAGE,       SFX_ITEM_POOLABLE },    // ATTR_FONT_LANGUAGE
-    { SID_ATTR_CHAR_CJK_FONT,       SFX_ITEM_POOLABLE },    // ATTR_CJK_FONT            from 614
-    { SID_ATTR_CHAR_CJK_FONTHEIGHT, SFX_ITEM_POOLABLE },    // ATTR_CJK_FONT_HEIGHT     from 614
-    { SID_ATTR_CHAR_CJK_WEIGHT,     SFX_ITEM_POOLABLE },    // ATTR_CJK_FONT_WEIGHT     from 614
-    { SID_ATTR_CHAR_CJK_POSTURE,    SFX_ITEM_POOLABLE },    // ATTR_CJK_FONT_POSTURE    from 614
-    { SID_ATTR_CHAR_CJK_LANGUAGE,   SFX_ITEM_POOLABLE },    // ATTR_CJK_FONT_LANGUAGE   from 614
-    { SID_ATTR_CHAR_CTL_FONT,       SFX_ITEM_POOLABLE },    // ATTR_CTL_FONT            from 614
-    { SID_ATTR_CHAR_CTL_FONTHEIGHT, SFX_ITEM_POOLABLE },    // ATTR_CTL_FONT_HEIGHT     from 614
-    { SID_ATTR_CHAR_CTL_WEIGHT,     SFX_ITEM_POOLABLE },    // ATTR_CTL_FONT_WEIGHT     from 614
-    { SID_ATTR_CHAR_CTL_POSTURE,    SFX_ITEM_POOLABLE },    // ATTR_CTL_FONT_POSTURE    from 614
-    { SID_ATTR_CHAR_CTL_LANGUAGE,   SFX_ITEM_POOLABLE },    // ATTR_CTL_FONT_LANGUAGE   from 614
-    { SID_ATTR_CHAR_EMPHASISMARK,   SFX_ITEM_POOLABLE },    // ATTR_FONT_EMPHASISMARK   from 614
-    { 0,                            SFX_ITEM_POOLABLE },    // ATTR_USERDEF             from 614 / 641c
-    { SID_ATTR_CHAR_WORDLINEMODE,   SFX_ITEM_POOLABLE },    // ATTR_FONT_WORDLINE       from 632b
-    { SID_ATTR_CHAR_RELIEF,         SFX_ITEM_POOLABLE },    // ATTR_FONT_RELIEF         from 632b
-    { SID_ATTR_ALIGN_HYPHENATION,   SFX_ITEM_POOLABLE },    // ATTR_HYPHENATE           from 632b
-    { 0,                            SFX_ITEM_POOLABLE },    // ATTR_SCRIPTSPACE         from 614d
-    { 0,                            SFX_ITEM_POOLABLE },    // ATTR_HANGPUNCTUATION     from 614d
-    { SID_ATTR_PARA_FORBIDDEN_RULES,SFX_ITEM_POOLABLE },    // ATTR_FORBIDDEN_RULES     from 614d
-    { SID_ATTR_ALIGN_HOR_JUSTIFY,   SFX_ITEM_POOLABLE },    // ATTR_HOR_JUSTIFY
-    { SID_ATTR_ALIGN_HOR_JUSTIFY_METHOD, SFX_ITEM_POOLABLE }, // ATTR_HOR_JUSTIFY_METHOD
-    { SID_ATTR_ALIGN_INDENT,        SFX_ITEM_POOLABLE },    // ATTR_INDENT          from 350
-    { SID_ATTR_ALIGN_VER_JUSTIFY,   SFX_ITEM_POOLABLE },    // ATTR_VER_JUSTIFY
-    { SID_ATTR_ALIGN_VER_JUSTIFY_METHOD, SFX_ITEM_POOLABLE }, // ATTR_VER_JUSTIFY_METHOD
-    { SID_ATTR_ALIGN_STACKED,       SFX_ITEM_POOLABLE },    // ATTR_STACKED         from 680/dr14 (replaces ATTR_ORIENTATION)
-    { SID_ATTR_ALIGN_DEGREES,       SFX_ITEM_POOLABLE },    // ATTR_ROTATE_VALUE    from 367
-    { SID_ATTR_ALIGN_LOCKPOS,       SFX_ITEM_POOLABLE },    // ATTR_ROTATE_MODE     from 367
-    { SID_ATTR_ALIGN_ASIANVERTICAL, SFX_ITEM_POOLABLE },    // ATTR_VERTICAL_ASIAN  from 642
-    { SID_ATTR_FRAMEDIRECTION,      SFX_ITEM_POOLABLE },    // ATTR_WRITINGDIR      from 643
-    { SID_ATTR_ALIGN_LINEBREAK,     SFX_ITEM_POOLABLE },    // ATTR_LINEBREAK
-    { SID_ATTR_ALIGN_SHRINKTOFIT,   SFX_ITEM_POOLABLE },    // ATTR_SHRINKTOFIT     from 680/dr14
-    { SID_ATTR_BORDER_DIAG_TLBR,    SFX_ITEM_POOLABLE },    // ATTR_BORDER_TLBR     from 680/dr14
-    { SID_ATTR_BORDER_DIAG_BLTR,    SFX_ITEM_POOLABLE },    // ATTR_BORDER_BLTR     from 680/dr14
-    { SID_ATTR_ALIGN_MARGIN,        SFX_ITEM_POOLABLE },    // ATTR_MARGIN
-    { 0,                            SFX_ITEM_POOLABLE },    // ATTR_MERGE
-    { 0,                            SFX_ITEM_POOLABLE },    // ATTR_MERGE_FLAG
-    { SID_ATTR_NUMBERFORMAT_VALUE,  SFX_ITEM_POOLABLE },    // ATTR_VALUE_FORMAT
-    { ATTR_LANGUAGE_FORMAT,         SFX_ITEM_POOLABLE },    // ATTR_LANGUAGE_FORMAT from 329, is combined with SID_ATTR_NUMBERFORMAT_VALUE in the dialog
-    { SID_ATTR_BRUSH,               SFX_ITEM_POOLABLE },    // ATTR_BACKGROUND
-    { SID_SCATTR_PROTECTION,        SFX_ITEM_POOLABLE },    // ATTR_PROTECTION
-    { SID_ATTR_BORDER_OUTER,        SFX_ITEM_POOLABLE },    // ATTR_BORDER
-    { SID_ATTR_BORDER_INNER,        SFX_ITEM_POOLABLE },    // ATTR_BORDER_INNER
-    { SID_ATTR_BORDER_SHADOW,       SFX_ITEM_POOLABLE },    // ATTR_SHADOW
-    { 0,                            SFX_ITEM_POOLABLE },    // ATTR_VALIDDATA
-    { 0,                            SFX_ITEM_POOLABLE },    // ATTR_CONDITIONAL
-    { 0,                            SFX_ITEM_POOLABLE },    // ATTR_HYPERLINK
-    { 0,                            SFX_ITEM_POOLABLE },    // ATTR_PATTERN
-    { SID_ATTR_LRSPACE,             SFX_ITEM_POOLABLE },    // ATTR_LRSPACE
-    { SID_ATTR_ULSPACE,             SFX_ITEM_POOLABLE },    // ATTR_ULSPACE
-    { SID_ATTR_PAGE,                SFX_ITEM_POOLABLE },    // ATTR_PAGE
-    { 0,                            SFX_ITEM_POOLABLE },    // ATTR_PAGE_PAPERTRAY, since 303 just a dummy
-    { SID_ATTR_PAGE_PAPERBIN,       SFX_ITEM_POOLABLE },    // ATTR_PAGE_PAPERBIN
-    { SID_ATTR_PAGE_SIZE,           SFX_ITEM_POOLABLE },    // ATTR_PAGE_SIZE
-    { SID_ATTR_PAGE_MAXSIZE,        SFX_ITEM_POOLABLE },    // ATTR_PAGE_MAXSIZE
-    { SID_ATTR_PAGE_EXT1,           SFX_ITEM_POOLABLE },    // ATTR_PAGE_HORCENTER
-    { SID_ATTR_PAGE_EXT2,           SFX_ITEM_POOLABLE },    // ATTR_PAGE_VERCENTER
-    { SID_ATTR_PAGE_ON,             SFX_ITEM_POOLABLE },    // ATTR_PAGE_ON
-    { SID_ATTR_PAGE_DYNAMIC,        SFX_ITEM_POOLABLE },    // ATTR_PAGE_DYNAMIC
-    { SID_ATTR_PAGE_SHARED,         SFX_ITEM_POOLABLE },    // ATTR_PAGE_SHARED
-    { SID_SCATTR_PAGE_NOTES,        SFX_ITEM_POOLABLE },    // ATTR_PAGE_NOTES
-    { SID_SCATTR_PAGE_GRID,         SFX_ITEM_POOLABLE },    // ATTR_PAGE_GRID
-    { SID_SCATTR_PAGE_HEADERS,      SFX_ITEM_POOLABLE },    // ATTR_PAGE_HEADERS
-    { SID_SCATTR_PAGE_CHARTS,       SFX_ITEM_POOLABLE },    // ATTR_PAGE_CHARTS
-    { SID_SCATTR_PAGE_OBJECTS,      SFX_ITEM_POOLABLE },    // ATTR_PAGE_OBJECTS
-    { SID_SCATTR_PAGE_DRAWINGS,     SFX_ITEM_POOLABLE },    // ATTR_PAGE_DRAWINGS
-    { SID_SCATTR_PAGE_TOPDOWN,      SFX_ITEM_POOLABLE },    // ATTR_PAGE_TOPDOWN
-    { SID_SCATTR_PAGE_SCALE,        SFX_ITEM_POOLABLE },    // ATTR_PAGE_SCALE
-    { SID_SCATTR_PAGE_SCALETOPAGES, SFX_ITEM_POOLABLE },    // ATTR_PAGE_SCALETOPAGES
-    { SID_SCATTR_PAGE_FIRSTPAGENO,  SFX_ITEM_POOLABLE },    // ATTR_PAGE_FIRSTPAGENO
-    { SID_SCATTR_PAGE_PRINTAREA,    SFX_ITEM_POOLABLE },    // ATTR_PAGE_PRINTAREA
-    { SID_SCATTR_PAGE_REPEATROW,    SFX_ITEM_POOLABLE },    // ATTR_PAGE_REPEATROW
-    { SID_SCATTR_PAGE_REPEATCOL,    SFX_ITEM_POOLABLE },    // ATTR_PAGE_REPEATCOL
-    { SID_SCATTR_PAGE_PRINTTABLES,  SFX_ITEM_POOLABLE },    // ATTR_PAGE_PRINTTABLES
-    { SID_SCATTR_PAGE_HEADERLEFT,   SFX_ITEM_POOLABLE },    // ATTR_PAGE_HEADERLEFT
-    { SID_SCATTR_PAGE_FOOTERLEFT,   SFX_ITEM_POOLABLE },    // ATTR_PAGE_FOOTERLEFT
-    { SID_SCATTR_PAGE_HEADERRIGHT,  SFX_ITEM_POOLABLE },    // ATTR_PAGE_HEADERRIGHT
-    { SID_SCATTR_PAGE_FOOTERRIGHT,  SFX_ITEM_POOLABLE },    // ATTR_PAGE_FOOTERRIGHT
-    { SID_ATTR_PAGE_HEADERSET,      SFX_ITEM_POOLABLE },    // ATTR_PAGE_HEADERSET
-    { SID_ATTR_PAGE_FOOTERSET,      SFX_ITEM_POOLABLE },    // ATTR_PAGE_FOOTERSET
-    { SID_SCATTR_PAGE_FORMULAS,     SFX_ITEM_POOLABLE },    // ATTR_PAGE_FORMULAS
-    { SID_SCATTR_PAGE_NULLVALS,     SFX_ITEM_POOLABLE },    // ATTR_PAGE_NULLVALS
-    { SID_SCATTR_PAGE_SCALETO,      SFX_ITEM_POOLABLE },    // ATTR_PAGE_SCALETO
-    { 0,                            SFX_ITEM_POOLABLE }     // ATTR_HIDDEN
+    { SID_ATTR_CHAR_FONT,           SfxItemPoolFlags::POOLABLE },    // ATTR_FONT
+    { SID_ATTR_CHAR_FONTHEIGHT,     SfxItemPoolFlags::POOLABLE },    // ATTR_FONT_HEIGHT
+    { SID_ATTR_CHAR_WEIGHT,         SfxItemPoolFlags::POOLABLE },    // ATTR_FONT_WEIGHT
+    { SID_ATTR_CHAR_POSTURE,        SfxItemPoolFlags::POOLABLE },    // ATTR_FONT_POSTURE
+    { SID_ATTR_CHAR_UNDERLINE,      SfxItemPoolFlags::POOLABLE },    // ATTR_FONT_UNDERLINE
+    { SID_ATTR_CHAR_OVERLINE,       SfxItemPoolFlags::POOLABLE },    // ATTR_FONT_OVERLINE
+    { SID_ATTR_CHAR_STRIKEOUT,      SfxItemPoolFlags::POOLABLE },    // ATTR_FONT_CROSSEDOUT
+    { SID_ATTR_CHAR_CONTOUR,        SfxItemPoolFlags::POOLABLE },    // ATTR_FONT_CONTOUR
+    { SID_ATTR_CHAR_SHADOWED,       SfxItemPoolFlags::POOLABLE },    // ATTR_FONT_SHADOWED
+    { SID_ATTR_CHAR_COLOR,          SfxItemPoolFlags::POOLABLE },    // ATTR_FONT_COLOR
+    { SID_ATTR_CHAR_LANGUAGE,       SfxItemPoolFlags::POOLABLE },    // ATTR_FONT_LANGUAGE
+    { SID_ATTR_CHAR_CJK_FONT,       SfxItemPoolFlags::POOLABLE },    // ATTR_CJK_FONT            from 614
+    { SID_ATTR_CHAR_CJK_FONTHEIGHT, SfxItemPoolFlags::POOLABLE },    // ATTR_CJK_FONT_HEIGHT     from 614
+    { SID_ATTR_CHAR_CJK_WEIGHT,     SfxItemPoolFlags::POOLABLE },    // ATTR_CJK_FONT_WEIGHT     from 614
+    { SID_ATTR_CHAR_CJK_POSTURE,    SfxItemPoolFlags::POOLABLE },    // ATTR_CJK_FONT_POSTURE    from 614
+    { SID_ATTR_CHAR_CJK_LANGUAGE,   SfxItemPoolFlags::POOLABLE },    // ATTR_CJK_FONT_LANGUAGE   from 614
+    { SID_ATTR_CHAR_CTL_FONT,       SfxItemPoolFlags::POOLABLE },    // ATTR_CTL_FONT            from 614
+    { SID_ATTR_CHAR_CTL_FONTHEIGHT, SfxItemPoolFlags::POOLABLE },    // ATTR_CTL_FONT_HEIGHT     from 614
+    { SID_ATTR_CHAR_CTL_WEIGHT,     SfxItemPoolFlags::POOLABLE },    // ATTR_CTL_FONT_WEIGHT     from 614
+    { SID_ATTR_CHAR_CTL_POSTURE,    SfxItemPoolFlags::POOLABLE },    // ATTR_CTL_FONT_POSTURE    from 614
+    { SID_ATTR_CHAR_CTL_LANGUAGE,   SfxItemPoolFlags::POOLABLE },    // ATTR_CTL_FONT_LANGUAGE   from 614
+    { SID_ATTR_CHAR_EMPHASISMARK,   SfxItemPoolFlags::POOLABLE },    // ATTR_FONT_EMPHASISMARK   from 614
+    { 0,                            SfxItemPoolFlags::POOLABLE },    // ATTR_USERDEF             from 614 / 641c
+    { SID_ATTR_CHAR_WORDLINEMODE,   SfxItemPoolFlags::POOLABLE },    // ATTR_FONT_WORDLINE       from 632b
+    { SID_ATTR_CHAR_RELIEF,         SfxItemPoolFlags::POOLABLE },    // ATTR_FONT_RELIEF         from 632b
+    { SID_ATTR_ALIGN_HYPHENATION,   SfxItemPoolFlags::POOLABLE },    // ATTR_HYPHENATE           from 632b
+    { 0,                            SfxItemPoolFlags::POOLABLE },    // ATTR_SCRIPTSPACE         from 614d
+    { 0,                            SfxItemPoolFlags::POOLABLE },    // ATTR_HANGPUNCTUATION     from 614d
+    { SID_ATTR_PARA_FORBIDDEN_RULES,SfxItemPoolFlags::POOLABLE },    // ATTR_FORBIDDEN_RULES     from 614d
+    { SID_ATTR_ALIGN_HOR_JUSTIFY,   SfxItemPoolFlags::POOLABLE },    // ATTR_HOR_JUSTIFY
+    { SID_ATTR_ALIGN_HOR_JUSTIFY_METHOD, SfxItemPoolFlags::POOLABLE }, // ATTR_HOR_JUSTIFY_METHOD
+    { SID_ATTR_ALIGN_INDENT,        SfxItemPoolFlags::POOLABLE },    // ATTR_INDENT          from 350
+    { SID_ATTR_ALIGN_VER_JUSTIFY,   SfxItemPoolFlags::POOLABLE },    // ATTR_VER_JUSTIFY
+    { SID_ATTR_ALIGN_VER_JUSTIFY_METHOD, SfxItemPoolFlags::POOLABLE }, // ATTR_VER_JUSTIFY_METHOD
+    { SID_ATTR_ALIGN_STACKED,       SfxItemPoolFlags::POOLABLE },    // ATTR_STACKED         from 680/dr14 (replaces ATTR_ORIENTATION)
+    { SID_ATTR_ALIGN_DEGREES,       SfxItemPoolFlags::POOLABLE },    // ATTR_ROTATE_VALUE    from 367
+    { SID_ATTR_ALIGN_LOCKPOS,       SfxItemPoolFlags::POOLABLE },    // ATTR_ROTATE_MODE     from 367
+    { SID_ATTR_ALIGN_ASIANVERTICAL, SfxItemPoolFlags::POOLABLE },    // ATTR_VERTICAL_ASIAN  from 642
+    { SID_ATTR_FRAMEDIRECTION,      SfxItemPoolFlags::POOLABLE },    // ATTR_WRITINGDIR      from 643
+    { SID_ATTR_ALIGN_LINEBREAK,     SfxItemPoolFlags::POOLABLE },    // ATTR_LINEBREAK
+    { SID_ATTR_ALIGN_SHRINKTOFIT,   SfxItemPoolFlags::POOLABLE },    // ATTR_SHRINKTOFIT     from 680/dr14
+    { SID_ATTR_BORDER_DIAG_TLBR,    SfxItemPoolFlags::POOLABLE },    // ATTR_BORDER_TLBR     from 680/dr14
+    { SID_ATTR_BORDER_DIAG_BLTR,    SfxItemPoolFlags::POOLABLE },    // ATTR_BORDER_BLTR     from 680/dr14
+    { SID_ATTR_ALIGN_MARGIN,        SfxItemPoolFlags::POOLABLE },    // ATTR_MARGIN
+    { 0,                            SfxItemPoolFlags::POOLABLE },    // ATTR_MERGE
+    { 0,                            SfxItemPoolFlags::POOLABLE },    // ATTR_MERGE_FLAG
+    { SID_ATTR_NUMBERFORMAT_VALUE,  SfxItemPoolFlags::POOLABLE },    // ATTR_VALUE_FORMAT
+    { ATTR_LANGUAGE_FORMAT,         SfxItemPoolFlags::POOLABLE },    // ATTR_LANGUAGE_FORMAT from 329, is combined with SID_ATTR_NUMBERFORMAT_VALUE in the dialog
+    { SID_ATTR_BRUSH,               SfxItemPoolFlags::POOLABLE },    // ATTR_BACKGROUND
+    { SID_SCATTR_PROTECTION,        SfxItemPoolFlags::POOLABLE },    // ATTR_PROTECTION
+    { SID_ATTR_BORDER_OUTER,        SfxItemPoolFlags::POOLABLE },    // ATTR_BORDER
+    { SID_ATTR_BORDER_INNER,        SfxItemPoolFlags::POOLABLE },    // ATTR_BORDER_INNER
+    { SID_ATTR_BORDER_SHADOW,       SfxItemPoolFlags::POOLABLE },    // ATTR_SHADOW
+    { 0,                            SfxItemPoolFlags::POOLABLE },    // ATTR_VALIDDATA
+    { 0,                            SfxItemPoolFlags::POOLABLE },    // ATTR_CONDITIONAL
+    { 0,                            SfxItemPoolFlags::POOLABLE },    // ATTR_HYPERLINK
+    { 0,                            SfxItemPoolFlags::POOLABLE },    // ATTR_PATTERN
+    { SID_ATTR_LRSPACE,             SfxItemPoolFlags::POOLABLE },    // ATTR_LRSPACE
+    { SID_ATTR_ULSPACE,             SfxItemPoolFlags::POOLABLE },    // ATTR_ULSPACE
+    { SID_ATTR_PAGE,                SfxItemPoolFlags::POOLABLE },    // ATTR_PAGE
+    { 0,                            SfxItemPoolFlags::POOLABLE },    // ATTR_PAGE_PAPERTRAY, since 303 just a dummy
+    { SID_ATTR_PAGE_PAPERBIN,       SfxItemPoolFlags::POOLABLE },    // ATTR_PAGE_PAPERBIN
+    { SID_ATTR_PAGE_SIZE,           SfxItemPoolFlags::POOLABLE },    // ATTR_PAGE_SIZE
+    { SID_ATTR_PAGE_MAXSIZE,        SfxItemPoolFlags::POOLABLE },    // ATTR_PAGE_MAXSIZE
+    { SID_ATTR_PAGE_EXT1,           SfxItemPoolFlags::POOLABLE },    // ATTR_PAGE_HORCENTER
+    { SID_ATTR_PAGE_EXT2,           SfxItemPoolFlags::POOLABLE },    // ATTR_PAGE_VERCENTER
+    { SID_ATTR_PAGE_ON,             SfxItemPoolFlags::POOLABLE },    // ATTR_PAGE_ON
+    { SID_ATTR_PAGE_DYNAMIC,        SfxItemPoolFlags::POOLABLE },    // ATTR_PAGE_DYNAMIC
+    { SID_ATTR_PAGE_SHARED,         SfxItemPoolFlags::POOLABLE },    // ATTR_PAGE_SHARED
+    { SID_SCATTR_PAGE_NOTES,        SfxItemPoolFlags::POOLABLE },    // ATTR_PAGE_NOTES
+    { SID_SCATTR_PAGE_GRID,         SfxItemPoolFlags::POOLABLE },    // ATTR_PAGE_GRID
+    { SID_SCATTR_PAGE_HEADERS,      SfxItemPoolFlags::POOLABLE },    // ATTR_PAGE_HEADERS
+    { SID_SCATTR_PAGE_CHARTS,       SfxItemPoolFlags::POOLABLE },    // ATTR_PAGE_CHARTS
+    { SID_SCATTR_PAGE_OBJECTS,      SfxItemPoolFlags::POOLABLE },    // ATTR_PAGE_OBJECTS
+    { SID_SCATTR_PAGE_DRAWINGS,     SfxItemPoolFlags::POOLABLE },    // ATTR_PAGE_DRAWINGS
+    { SID_SCATTR_PAGE_TOPDOWN,      SfxItemPoolFlags::POOLABLE },    // ATTR_PAGE_TOPDOWN
+    { SID_SCATTR_PAGE_SCALE,        SfxItemPoolFlags::POOLABLE },    // ATTR_PAGE_SCALE
+    { SID_SCATTR_PAGE_SCALETOPAGES, SfxItemPoolFlags::POOLABLE },    // ATTR_PAGE_SCALETOPAGES
+    { SID_SCATTR_PAGE_FIRSTPAGENO,  SfxItemPoolFlags::POOLABLE },    // ATTR_PAGE_FIRSTPAGENO
+    { SID_SCATTR_PAGE_PRINTAREA,    SfxItemPoolFlags::POOLABLE },    // ATTR_PAGE_PRINTAREA
+    { SID_SCATTR_PAGE_REPEATROW,    SfxItemPoolFlags::POOLABLE },    // ATTR_PAGE_REPEATROW
+    { SID_SCATTR_PAGE_REPEATCOL,    SfxItemPoolFlags::POOLABLE },    // ATTR_PAGE_REPEATCOL
+    { SID_SCATTR_PAGE_PRINTTABLES,  SfxItemPoolFlags::POOLABLE },    // ATTR_PAGE_PRINTTABLES
+    { SID_SCATTR_PAGE_HEADERLEFT,   SfxItemPoolFlags::POOLABLE },    // ATTR_PAGE_HEADERLEFT
+    { SID_SCATTR_PAGE_FOOTERLEFT,   SfxItemPoolFlags::POOLABLE },    // ATTR_PAGE_FOOTERLEFT
+    { SID_SCATTR_PAGE_HEADERRIGHT,  SfxItemPoolFlags::POOLABLE },    // ATTR_PAGE_HEADERRIGHT
+    { SID_SCATTR_PAGE_FOOTERRIGHT,  SfxItemPoolFlags::POOLABLE },    // ATTR_PAGE_FOOTERRIGHT
+    { SID_ATTR_PAGE_HEADERSET,      SfxItemPoolFlags::POOLABLE },    // ATTR_PAGE_HEADERSET
+    { SID_ATTR_PAGE_FOOTERSET,      SfxItemPoolFlags::POOLABLE },    // ATTR_PAGE_FOOTERSET
+    { SID_SCATTR_PAGE_FORMULAS,     SfxItemPoolFlags::POOLABLE },    // ATTR_PAGE_FORMULAS
+    { SID_SCATTR_PAGE_NULLVALS,     SfxItemPoolFlags::POOLABLE },    // ATTR_PAGE_NULLVALS
+    { SID_SCATTR_PAGE_SCALETO,      SfxItemPoolFlags::POOLABLE },    // ATTR_PAGE_SCALETO
+    { 0,                            SfxItemPoolFlags::POOLABLE }     // ATTR_HIDDEN
 };
 static_assert(
     SAL_N_ELEMENTS(aItemInfos) == ATTR_ENDINDEX - ATTR_STARTINDEX + 1, "these must match");
diff --git a/sc/source/ui/app/msgpool.cxx b/sc/source/ui/app/msgpool.cxx
index 9e87642..ee6d269 100644
--- a/sc/source/ui/app/msgpool.cxx
+++ b/sc/source/ui/app/msgpool.cxx
@@ -26,16 +26,16 @@
 
 static SfxItemInfo const aMsgItemInfos[] =
 {
-    { 0,                         SFX_ITEM_POOLABLE },   // SCITEM_STRING
-    { 0,                         SFX_ITEM_POOLABLE },   // SCITEM_SEARCHDATA - stop using this!
-    { SID_SORT,                  SFX_ITEM_POOLABLE },   // SCITEM_SORTDATA
-    { SID_QUERY,                 SFX_ITEM_POOLABLE },   // SCITEM_QUERYDATA
-    { SID_SUBTOTALS,             SFX_ITEM_POOLABLE },   // SCITEM_SUBTDATA
-    { SID_CONSOLIDATE,           SFX_ITEM_POOLABLE },   // SCITEM_CONSOLIDATEDATA
-    { SID_PIVOT_TABLE,           SFX_ITEM_POOLABLE },   // SCITEM_PIVOTDATA
-    { SID_SOLVE,                 SFX_ITEM_POOLABLE },   // SCITEM_SOLVEDATA
-    { SID_SCUSERLISTS,           SFX_ITEM_POOLABLE },   // SCITEM_USERLIST
-    { SID_PRINTER_NOTFOUND_WARN, SFX_ITEM_POOLABLE }    // SCITEM_PRINTWARN
+    { 0,                         SfxItemPoolFlags::POOLABLE },   // SCITEM_STRING
+    { 0,                         SfxItemPoolFlags::POOLABLE },   // SCITEM_SEARCHDATA - stop using this!
+    { SID_SORT,                  SfxItemPoolFlags::POOLABLE },   // SCITEM_SORTDATA
+    { SID_QUERY,                 SfxItemPoolFlags::POOLABLE },   // SCITEM_QUERYDATA
+    { SID_SUBTOTALS,             SfxItemPoolFlags::POOLABLE },   // SCITEM_SUBTDATA
+    { SID_CONSOLIDATE,           SfxItemPoolFlags::POOLABLE },   // SCITEM_CONSOLIDATEDATA
+    { SID_PIVOT_TABLE,           SfxItemPoolFlags::POOLABLE },   // SCITEM_PIVOTDATA
+    { SID_SOLVE,                 SfxItemPoolFlags::POOLABLE },   // SCITEM_SOLVEDATA
+    { SID_SCUSERLISTS,           SfxItemPoolFlags::POOLABLE },   // SCITEM_USERLIST
+    { SID_PRINTER_NOTFOUND_WARN, SfxItemPoolFlags::POOLABLE }    // SCITEM_PRINTWARN
 };
 
 ScMessagePool::ScMessagePool()
diff --git a/sfx2/source/explorer/nochaos.cxx b/sfx2/source/explorer/nochaos.cxx
index cb746f9..b8b81f8 100644
--- a/sfx2/source/explorer/nochaos.cxx
+++ b/sfx2/source/explorer/nochaos.cxx
@@ -41,7 +41,7 @@ class CntStaticPoolDefaults_Impl: private boost::noncopyable
     SfxItemInfo*  m_pItemInfos;
 
 private:
-    inline void Insert( SfxPoolItem* pItem, sal_uInt16 nSID, sal_uInt16 nFlags );
+    inline void Insert( SfxPoolItem* pItem, sal_uInt16 nSID, SfxItemPoolFlags nFlags );
 
 public:
     CntStaticPoolDefaults_Impl( CntItemPool* pPool );
@@ -163,7 +163,7 @@ sal_uInt16 CntItemPool::Release()
 
 inline void CntStaticPoolDefaults_Impl::Insert(
          SfxPoolItem* pItem,        /* Static Pool Default Item */
-         sal_uInt16 nSID, sal_uInt16 nFlags  /* Item Info */    )
+         sal_uInt16 nSID, SfxItemPoolFlags nFlags  /* Item Info */    )
 {
     sal_uInt16 nPos = pItem->Which() - WID_CHAOS_START;
 
@@ -193,7 +193,7 @@ CntStaticPoolDefaults_Impl::CntStaticPoolDefaults_Impl( CntItemPool* /*pPool*/ )
     Insert(
         new SfxStringItem( WID_CHAOS_START, OUString() ),
         0,
-        SFX_ITEM_POOLABLE );
+        SfxItemPoolFlags::POOLABLE );
 }
 
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/svl/README b/svl/README
index 2665c1a..57cb60c 100644
--- a/svl/README
+++ b/svl/README
@@ -19,7 +19,7 @@ A small reference counted piece of data.  Many subclasses, each with a
 unique integer to identify its type (WhichId).  Can be compared for equality
 (operator==), Clone()d, and converted to/from uno::Any (QueryValue/PutValue).
 
-A pool item may have value semantics (SFX_ITEM_POOLABLE), meaning that
+A pool item may have value semantics (SfxItemPoolFlags::POOLABLE), meaning that
 there will generally be only one instance that compares equal per item pool,
 or not, in which case the item will be Clone()d quite a bit.
 
diff --git a/svl/qa/unit/items/test_itempool.cxx b/svl/qa/unit/items/test_itempool.cxx
index 469287e..f42ee3f 100644
--- a/svl/qa/unit/items/test_itempool.cxx
+++ b/svl/qa/unit/items/test_itempool.cxx
@@ -35,10 +35,10 @@ class PoolItemTest : public CppUnit::TestFixture
 void PoolItemTest::testPool()
 {
     SfxItemInfo aItems[] =
-        { { 0, SFX_ITEM_POOLABLE },
-          { 1, 0 /* not poolable */ },
-          { 2, SFX_ITEM_NOT_POOLABLE },
-          { 3, 0 /* not poolable */}
+        { { 0, SfxItemPoolFlags::POOLABLE },
+          { 1, SfxItemPoolFlags::NONE /* not poolable */ },
+          { 2, SfxItemPoolFlags::NOT_POOLABLE },
+          { 3, SfxItemPoolFlags::NONE /* not poolable */}
         };
 
     SfxItemPool *pPool = new SfxItemPool("testpool", 0, 3, aItems);
diff --git a/svl/source/items/itempool.cxx b/svl/source/items/itempool.cxx
index 6157961..b92e0ba 100644
--- a/svl/source/items/itempool.cxx
+++ b/svl/source/items/itempool.cxx
@@ -114,15 +114,14 @@ const SfxPoolItem* SfxItemPool::GetPoolDefaultItem( sal_uInt16 nWhich ) const
 
 
 
-bool SfxItemPool::IsItemFlag_Impl( sal_uInt16 nPos, sal_uInt16 nFlag ) const
+bool SfxItemPool::IsItemFlag_Impl( sal_uInt16 nPos, SfxItemPoolFlags nFlag ) const
 {
-    sal_uInt16 nItemFlag = pItemInfos[nPos]._nFlags;
-    return nFlag == (nItemFlag & nFlag);
+    return bool(pItemInfos[nPos]._nFlags & nFlag);
 }
 
 
 
-bool SfxItemPool::IsItemFlag( sal_uInt16 nWhich, sal_uInt16 nFlag ) const
+bool SfxItemPool::IsItemFlag( sal_uInt16 nWhich, SfxItemPoolFlags nFlag ) const
 {
     for ( const SfxItemPool *pPool = this; pPool; pPool = pPool->pImp->mpSecondary )
     {
@@ -154,7 +153,7 @@ SfxBroadcaster& SfxItemPool::BC()
  * 'pItemInfos' is a USHORT array arranged in the same way, which holds
  *  SlotIds and Flags. These SlotIds can be 0, if the affected Items are
  *  exclusively used in the Core.
- *  The flags allow for e.g. enabling value sharing (SFX_ITEM_POOLABLE).
+ *  The flags allow for e.g. enabling value sharing (SfxItemPoolFlags::POOLABLE).
  *
  *  If the Pool is supposed to hold SfxSetItems, the ctor cannot yet contain
  *  static Defaults. This needs to be done afterwards, using
@@ -657,7 +656,7 @@ const SfxPoolItem& SfxItemPool::Put( const SfxPoolItem& rItem, sal_uInt16 nWhich
     // SID or not poolable (new definition)?
     sal_uInt16 nIndex = bSID ? USHRT_MAX : GetIndex_Impl(nWhich);
     if ( USHRT_MAX == nIndex ||
-         IsItemFlag_Impl( nIndex, SFX_ITEM_NOT_POOLABLE ) )
+         IsItemFlag_Impl( nIndex, SfxItemPoolFlags::NOT_POOLABLE ) )
     {
         SFX_ASSERT( USHRT_MAX != nIndex || rItem.Which() != nWhich ||
                     !IsDefaultItem(&rItem) || rItem.GetKind() == SFX_ITEMS_DELETEONIDLE,
@@ -684,7 +683,7 @@ const SfxPoolItem& SfxItemPool::Put( const SfxPoolItem& rItem, sal_uInt16 nWhich
 
     // Is this a 'poolable' item - ie. should we re-use and return
     // the same underlying item for equivalent (==) SfxPoolItems?
-    if ( IsItemFlag_Impl( nIndex, SFX_ITEM_POOLABLE ) )
+    if ( IsItemFlag_Impl( nIndex, SfxItemPoolFlags::POOLABLE ) )
     {
         // if is already in a pool, then it is worth checking if it is in this one.
         if ( IsPooledItem(&rItem) )
@@ -745,10 +744,10 @@ const SfxPoolItem& SfxItemPool::Put( const SfxPoolItem& rItem, sal_uInt16 nWhich
     SFX_ASSERT( rItem.Type() == pNewItem->Type(), nWhich, "unequal types in Put(): no Clone()?" )
     if ( !rItem.ISA(SfxSetItem) )
     {
-        SFX_ASSERT( !IsItemFlag(nWhich, SFX_ITEM_POOLABLE) ||
+        SFX_ASSERT( !IsItemFlag(nWhich, SfxItemPoolFlags::POOLABLE) ||
                     rItem == *pNewItem,
                     nWhich, "unequal items in Put(): no operator==?" );
-        SFX_ASSERT( !IsItemFlag(*pNewItem, SFX_ITEM_POOLABLE) ||
+        SFX_ASSERT( !IsItemFlag(*pNewItem, SfxItemPoolFlags::POOLABLE) ||
                     *pNewItem == rItem,
                     nWhich, "unequal items in Put(): no operator==?" );
     }
@@ -812,7 +811,7 @@ void SfxItemPool::Remove( const SfxPoolItem& rItem )
 
     // SID or not poolable (new definition)?
     sal_uInt16 nIndex = bSID ? USHRT_MAX : GetIndex_Impl(nWhich);
-    if ( bSID || IsItemFlag_Impl( nIndex, SFX_ITEM_NOT_POOLABLE ) )
+    if ( bSID || IsItemFlag_Impl( nIndex, SfxItemPoolFlags::NOT_POOLABLE ) )
     {
         SFX_ASSERT( USHRT_MAX != nIndex ||
                     !IsDefaultItem(&rItem), rItem.Which(),
diff --git a/svl/source/items/itemset.cxx b/svl/source/items/itemset.cxx
index 22e4318..018a6ae 100644
--- a/svl/source/items/itemset.cxx
+++ b/svl/source/items/itemset.cxx
@@ -60,7 +60,7 @@ const sal_Char *DbgCheckItemSet( const void* pVoid )
                     ) && "SfxItemSet: invalid which-id" );
             assert((IsInvalidItem(pItem) || !pItem->Which() ||
                     !SfxItemPool::IsWhich(pItem->Which()) ||
-                    pSet->GetPool()->IsItemFlag(nWh, SFX_ITEM_NOT_POOLABLE) ||
+                    pSet->GetPool()->IsItemFlag(nWh, SfxItemPoolFlags::NOT_POOLABLE) ||
                     SFX_ITEMS_NULL != pSet->GetPool()->GetSurrogate(pItem)
                    ) && "SfxItemSet: item in set which is not in pool" );
         }
@@ -215,7 +215,7 @@ SfxItemSet::SfxItemSet( const SfxItemSet& rASet )
              IsStaticDefaultItem(*ppSrc) )  // Defaults that are not to be pooled?
             // Just copy the pointer
             *ppDst = *ppSrc;
-        else if (m_pPool->IsItemFlag( **ppSrc, SFX_ITEM_POOLABLE ))
+        else if (m_pPool->IsItemFlag( **ppSrc, SfxItemPoolFlags::POOLABLE ))
         {
             // Just copy the pointer and increase RefCount
             *ppDst = *ppSrc;
@@ -529,7 +529,7 @@ const SfxPoolItem* SfxItemSet::Put( const SfxPoolItem& rItem, sal_uInt16 nWhich
                     }
                 }
             }
-            SFX_ASSERT( !m_pPool->IsItemFlag(nWhich, SFX_ITEM_POOLABLE) ||
+            SFX_ASSERT( !m_pPool->IsItemFlag(nWhich, SfxItemPoolFlags::POOLABLE) ||
                         rItem.ISA(SfxSetItem) || **ppFnd == rItem,
                         nWhich, "putted Item unequal" );
             return *ppFnd;
@@ -1503,7 +1503,7 @@ bool SfxItemSet::operator==(const SfxItemSet &rCmp) const
                         rCmp.GetItemState( nWh, false, &pItem2 ) ||
                      ( pItem1 != pItem2 &&
                         ( !pItem1 || IsInvalidItem(pItem1) ||
-                          (m_pPool->IsItemFlag(*pItem1, SFX_ITEM_POOLABLE) &&
+                          (m_pPool->IsItemFlag(*pItem1, SfxItemPoolFlags::POOLABLE) &&
                             *pItem1 != *pItem2 ) ) ) )
                     return false;
             }
@@ -1526,7 +1526,7 @@ bool SfxItemSet::operator==(const SfxItemSet &rCmp) const
         if ( *ppItem1 != *ppItem2 &&
              ( ( !*ppItem1 || !*ppItem2 ) ||
                ( IsInvalidItem(*ppItem1) || IsInvalidItem(*ppItem2) ) ||
-               (m_pPool->IsItemFlag(**ppItem1, SFX_ITEM_POOLABLE)) ||
+               (m_pPool->IsItemFlag(**ppItem1, SfxItemPoolFlags::POOLABLE)) ||
                  **ppItem1 != **ppItem2 ) )
             return false;
 
diff --git a/svl/source/items/poolio.cxx b/svl/source/items/poolio.cxx
index 0465036..b9b89de 100644
--- a/svl/source/items/poolio.cxx
+++ b/svl/source/items/poolio.cxx
@@ -198,7 +198,7 @@ SvStream &SfxItemPool::Store(SvStream &rStream) const
 
                 // ! Poolable is not even saved in the Pool
                 // And itemsets/plain-items depending on the round
-                if ( *itrArr && IsItemFlag(**ppDefItem, SFX_ITEM_POOLABLE) &&
+                if ( *itrArr && IsItemFlag(**ppDefItem, SfxItemPoolFlags::POOLABLE) &&
                      pImp->bInSetItem == (bool) (*ppDefItem)->ISA(SfxSetItem) )
                 {
                     // Own signature, global WhichId and ItemVersion
@@ -720,7 +720,7 @@ sal_uInt16 SfxItemPool::GetSize_Impl() const
  * Loads surrogate from 'rStream' and returns the corresponding SfxPoolItem
  * from the rRefPool.
  * If the surrogate contained within the stream == SFX_ITEMS_DIRECT
- * (!SFX_ITEM_POOLABLE), we return 0 and the Item is to be loaded directly
+ * (!SfxItemPoolFlags::POOLABLE), we return 0 and the Item is to be loaded directly
  * from the stream.
  * We also return 0 for 0xfffffff0 (SFX_ITEMS_NULL) and rWhich is set to 0,
  * making the Items unavailable.
@@ -852,7 +852,7 @@ bool SfxItemPool::StoreSurrogate ( SvStream& rStream, const SfxPoolItem*  pItem)
 {
     if ( pItem )
     {
-        bool bRealSurrogate = IsItemFlag(*pItem, SFX_ITEM_POOLABLE);
+        bool bRealSurrogate = IsItemFlag(*pItem, SfxItemPoolFlags::POOLABLE);
         rStream.WriteUInt32( bRealSurrogate
                         ? GetSurrogate( pItem )
                         : SFX_ITEMS_DIRECT  );
diff --git a/svl/source/items/stylepool.cxx b/svl/source/items/stylepool.cxx
index 1471b88..301572d 100644
--- a/svl/source/items/stylepool.cxx
+++ b/svl/source/items/stylepool.cxx
@@ -405,7 +405,7 @@ StylePool::SfxItemSet_Pointer_t StylePoolImpl::insertItemSet( const SfxItemSet&
     }
     while( pItem )
     {
-        if( !rSet.GetPool()->IsItemFlag(pItem->Which(), SFX_ITEM_POOLABLE ) )
+        if( !rSet.GetPool()->IsItemFlag(pItem->Which(), SfxItemPoolFlags::POOLABLE ) )
             bNonPoolable = true;
         if ( !xFoundIgnorableItems.get() ||
              ( xFoundIgnorableItems.get() &&
@@ -422,7 +422,7 @@ StylePool::SfxItemSet_Pointer_t StylePoolImpl::insertItemSet( const SfxItemSet&
         pItem = aIgnorableItemsIter.GetCurItem();
         while( pItem )
         {
-            if( !rSet.GetPool()->IsItemFlag(pItem->Which(), SFX_ITEM_POOLABLE ) )
+            if( !rSet.GetPool()->IsItemFlag(pItem->Which(), SfxItemPoolFlags::POOLABLE ) )
                 bNonPoolable = true;
             pCurNode = pCurNode->findChildNode( *pItem, true );
             pItem = aIgnorableItemsIter.NextItem();
diff --git a/svx/source/svdraw/svdattr.cxx b/svx/source/svdraw/svdattr.cxx
index 3380f21..4bd62ac 100644
--- a/svx/source/svdraw/svdattr.cxx
+++ b/svx/source/svdraw/svdattr.cxx
@@ -117,7 +117,7 @@ SdrItemPool::SdrItemPool(
     // init the non-persistent items
     for(sal_uInt16 i(SDRATTR_NOTPERSIST_FIRST); i <= SDRATTR_NOTPERSIST_LAST; i++)
     {
-        mpLocalItemInfos[i - SDRATTR_START]._nFlags=0;
+        mpLocalItemInfos[i - SDRATTR_START]._nFlags = SfxItemPoolFlags::NONE;
     }
 
     // init own PoolDefaults
diff --git a/svx/source/xoutdev/xpool.cxx b/svx/source/xoutdev/xpool.cxx
index 765cb80..1cbaff0 100644
--- a/svx/source/xoutdev/xpool.cxx
+++ b/svx/source/xoutdev/xpool.cxx
@@ -119,7 +119,7 @@ XOutdevItemPool::XOutdevItemPool(
     for(sal_uInt16 i(GetFirstWhich()); i <= GetLastWhich(); i++)
     {
         mpLocalItemInfos[i - XATTR_START]._nSID = 0;
-        mpLocalItemInfos[i - XATTR_START]._nFlags = SFX_ITEM_POOLABLE;
+        mpLocalItemInfos[i - XATTR_START]._nFlags = SfxItemPoolFlags::POOLABLE;
     }
 
     mpLocalItemInfos[XATTR_LINESTYLE        -XATTR_START]._nSID = SID_ATTR_LINE_STYLE;
diff --git a/sw/source/core/bastyp/init.cxx b/sw/source/core/bastyp/init.cxx
index 11a73ab..c830709 100644
--- a/sw/source/core/bastyp/init.cxx
+++ b/sw/source/core/bastyp/init.cxx
@@ -265,171 +265,171 @@ SwDfltAttrTab aAttrTab;
 
 SfxItemInfo aSlotTab[] =
 {
-    { SID_ATTR_CHAR_CASEMAP, SFX_ITEM_POOLABLE },       // RES_CHRATR_CASEMAP
-    { SID_ATTR_CHAR_CHARSETCOLOR, SFX_ITEM_POOLABLE },  // RES_CHRATR_CHARSETCOLOR
-    { SID_ATTR_CHAR_COLOR, SFX_ITEM_POOLABLE },         // RES_CHRATR_COLOR
-    { SID_ATTR_CHAR_CONTOUR, SFX_ITEM_POOLABLE },       // RES_CHRATR_CONTOUR
-    { SID_ATTR_CHAR_STRIKEOUT, SFX_ITEM_POOLABLE },     // RES_CHRATR_CROSSEDOUT
-    { SID_ATTR_CHAR_ESCAPEMENT, SFX_ITEM_POOLABLE },    // RES_CHRATR_ESCAPEMENT
-    { SID_ATTR_CHAR_FONT, SFX_ITEM_POOLABLE },          // RES_CHRATR_FONT
-    { SID_ATTR_CHAR_FONTHEIGHT, SFX_ITEM_POOLABLE },    // RES_CHRATR_FONTSIZE
-    { SID_ATTR_CHAR_KERNING, SFX_ITEM_POOLABLE },       // RES_CHRATR_KERNING
-    { SID_ATTR_CHAR_LANGUAGE, SFX_ITEM_POOLABLE },      // RES_CHRATR_LANGUAGE
-    { SID_ATTR_CHAR_POSTURE, SFX_ITEM_POOLABLE },       // RES_CHRATR_POSTURE
-    { SID_ATTR_CHAR_PROPSIZE, SFX_ITEM_POOLABLE },      // RES_CHRATR_PROPORTIONALFONTSIZE
-    { SID_ATTR_CHAR_SHADOWED, SFX_ITEM_POOLABLE },      // RES_CHRATR_SHADOWED
-    { SID_ATTR_CHAR_UNDERLINE, SFX_ITEM_POOLABLE },     // RES_CHRATR_UNDERLINE
-    { SID_ATTR_CHAR_WEIGHT, SFX_ITEM_POOLABLE },        // RES_CHRATR_WEIGHT
-    { SID_ATTR_CHAR_WORDLINEMODE, SFX_ITEM_POOLABLE },  // RES_CHRATR_WORDLINEMODE
-    { SID_ATTR_CHAR_AUTOKERN, SFX_ITEM_POOLABLE },      // RES_CHRATR_AUTOKERN
-    { SID_ATTR_FLASH, SFX_ITEM_POOLABLE },              // RES_CHRATR_BLINK
-    { 0, SFX_ITEM_POOLABLE },                           // RES_CHRATR_NOLINEBREAK
-    { 0, SFX_ITEM_POOLABLE },                           // RES_CHRATR_NOHYPHEN
-    { SID_ATTR_BRUSH_CHAR, SFX_ITEM_POOLABLE },         // RES_CHRATR_BACKGROUND
-    { SID_ATTR_CHAR_CJK_FONT, SFX_ITEM_POOLABLE },      // RES_CHRATR_CJK_FONT
-    { SID_ATTR_CHAR_CJK_FONTHEIGHT, SFX_ITEM_POOLABLE },// RES_CHRATR_CJK_FONTSIZE
-    { SID_ATTR_CHAR_CJK_LANGUAGE, SFX_ITEM_POOLABLE },  // RES_CHRATR_CJK_LANGUAGE
-    { SID_ATTR_CHAR_CJK_POSTURE, SFX_ITEM_POOLABLE },   // RES_CHRATR_CJK_POSTURE
-    { SID_ATTR_CHAR_CJK_WEIGHT, SFX_ITEM_POOLABLE },    // RES_CHRATR_CJK_WEIGHT
-    { SID_ATTR_CHAR_CTL_FONT, SFX_ITEM_POOLABLE },      // RES_CHRATR_CTL_FONT
-    { SID_ATTR_CHAR_CTL_FONTHEIGHT, SFX_ITEM_POOLABLE },// RES_CHRATR_CTL_FONTSIZE
-    { SID_ATTR_CHAR_CTL_LANGUAGE, SFX_ITEM_POOLABLE },  // RES_CHRATR_CTL_LANGUAGE
-    { SID_ATTR_CHAR_CTL_POSTURE, SFX_ITEM_POOLABLE },   // RES_CHRATR_CTL_POSTURE
-    { SID_ATTR_CHAR_CTL_WEIGHT, SFX_ITEM_POOLABLE },    // RES_CHRATR_CTL_WEIGHT
-    { SID_ATTR_CHAR_ROTATED, SFX_ITEM_POOLABLE },       // RES_CHRATR_ROTATE
-    { SID_ATTR_CHAR_EMPHASISMARK, SFX_ITEM_POOLABLE },  // RES_CHRATR_EMPHASIS_MARK
-    { SID_ATTR_CHAR_TWO_LINES, SFX_ITEM_POOLABLE },     // RES_CHRATR_TWO_LINES
-    { SID_ATTR_CHAR_SCALEWIDTH, SFX_ITEM_POOLABLE },    // RES_CHRATR_SCALEW
-    { SID_ATTR_CHAR_RELIEF, SFX_ITEM_POOLABLE },        // RES_CHRATR_RELIEF
-    { SID_ATTR_CHAR_HIDDEN, SFX_ITEM_POOLABLE },        // RES_CHRATR_HIDDEN
-    { SID_ATTR_CHAR_OVERLINE, SFX_ITEM_POOLABLE },      // RES_CHRATR_OVERLINE
-    { 0, SFX_ITEM_POOLABLE },                           // RES_CHRATR_RSID
-    { 0, SFX_ITEM_POOLABLE },                           // RES_CHRATR_BOX
-    { 0, SFX_ITEM_POOLABLE },                           // RES_CHRATR_SHADOW
-    { 0, SFX_ITEM_POOLABLE },                           // RES_CHRATR_HIGHLIGHT
-    { SID_ATTR_CHAR_GRABBAG, SFX_ITEM_POOLABLE },       // RES_CHRATR_GRABBAG
-    { 0, SFX_ITEM_POOLABLE },                           // RES_CHRATR_BIDIRTL
-    { 0, SFX_ITEM_POOLABLE },                           // RES_CHRATR_IDCTHINT
-
-    { 0, 0 },                                           // RES_TXTATR_REFMARK
-    { 0, 0 },                                           // RES_TXTATR_TOXMARK
-    { 0, 0 },                                           // RES_TXTATR_META
-    { 0, 0 },                                           // RES_TXTATR_METAFIELD
-    { 0, SFX_ITEM_POOLABLE },                           // RES_TXTATR_AUTOFMT
-    { FN_TXTATR_INET, 0 },                              // RES_TXTATR_INETFMT
-    { 0, 0 },                                           // RES_TXTATR_CHARFMT
-    { SID_ATTR_CHAR_CJK_RUBY, 0 },                      // RES_TXTATR_CJK_RUBY
-    { 0, SFX_ITEM_POOLABLE },                           // RES_TXTATR_UNKNOWN_CONTAINER
-    { 0, 0 },                                           // RES_TXTATR_INPUTFIELD
-
-    { 0, 0 },                                           // RES_TXTATR_FIELD
-    { 0, 0 },                                           // RES_TXTATR_FLYCNT
-    { 0, 0 },                                           // RES_TXTATR_FTN
-    { 0, 0 },                                           // RES_TXTATR_ANNOTATION
-    { 0, SFX_ITEM_POOLABLE },                           // RES_TXTATR_DUMMY3
-    { 0, SFX_ITEM_POOLABLE },                           // RES_TXTATR_DUMMY1
-    { 0, SFX_ITEM_POOLABLE },                           // RES_TXTATR_DUMMY2
-
-    { SID_ATTR_PARA_LINESPACE, SFX_ITEM_POOLABLE },     // RES_PARATR_LINESPACING
-    { SID_ATTR_PARA_ADJUST, SFX_ITEM_POOLABLE },        // RES_PARATR_ADJUST
-    { SID_ATTR_PARA_SPLIT, SFX_ITEM_POOLABLE },         // RES_PARATR_SPLIT
-    { SID_ATTR_PARA_ORPHANS, SFX_ITEM_POOLABLE },       // RES_PARATR_ORPHANS
-    { SID_ATTR_PARA_WIDOWS, SFX_ITEM_POOLABLE },        // RES_PARATR_WIDOWS
-    { SID_ATTR_TABSTOP, SFX_ITEM_POOLABLE },            // RES_PARATR_TABSTOP
-    { SID_ATTR_PARA_HYPHENZONE, SFX_ITEM_POOLABLE },    // RES_PARATR_HYPHENZONE
-    { FN_FORMAT_DROPCAPS, 0 },                          // RES_PARATR_DROP
-    { SID_ATTR_PARA_REGISTER, SFX_ITEM_POOLABLE },      // RES_PARATR_REGISTER
-    { SID_ATTR_PARA_NUMRULE, SFX_ITEM_POOLABLE },       // RES_PARATR_NUMRULE
-    { SID_ATTR_PARA_SCRIPTSPACE, SFX_ITEM_POOLABLE },   // RES_PARATR_SCRIPTSPACE
-    { SID_ATTR_PARA_HANGPUNCTUATION, SFX_ITEM_POOLABLE },// RES_PARATR_HANGINGPUNCTUATION
-
-    { SID_ATTR_PARA_FORBIDDEN_RULES, SFX_ITEM_POOLABLE },// RES_PARATR_FORBIDDEN_RULES
-    { SID_PARA_VERTALIGN, SFX_ITEM_POOLABLE },          // RES_PARATR_VERTALIGN
-    { SID_ATTR_PARA_SNAPTOGRID, SFX_ITEM_POOLABLE },    // RES_PARATR_SNAPTOGRID
-    { SID_ATTR_BORDER_CONNECT, SFX_ITEM_POOLABLE },     // RES_PARATR_CONNECT_BORDER
-
-    { SID_ATTR_PARA_OUTLINE_LEVEL, SFX_ITEM_POOLABLE }, // RES_PARATR_OUTLINELEVEL //#outline level
-    { 0, SFX_ITEM_POOLABLE },                           // RES_PARATR_RSID
-    { 0, SFX_ITEM_POOLABLE },                           // RES_PARATR_GRABBAG
-    { 0, SFX_ITEM_POOLABLE },                           // RES_PARATR_LIST_ID
-    { 0, SFX_ITEM_POOLABLE },                           // RES_PARATR_LIST_LEVEL
-    { 0, SFX_ITEM_POOLABLE },                           // RES_PARATR_LIST_ISRESTART
-    { 0, SFX_ITEM_POOLABLE },                           // RES_PARATR_LIST_RESTARTVALUE
-    { 0, SFX_ITEM_POOLABLE },                           // RES_PARATR_LIST_ISCOUNTED
-
-    { 0, SFX_ITEM_POOLABLE },                           // RES_FILL_ORDER
-    { 0, SFX_ITEM_POOLABLE },                           // RES_FRM_SIZE
-    { SID_ATTR_PAGE_PAPERBIN, SFX_ITEM_POOLABLE },      // RES_PAPER_BIN
-    { SID_ATTR_LRSPACE, SFX_ITEM_POOLABLE },            // RES_LR_SPACE
-    { SID_ATTR_ULSPACE, SFX_ITEM_POOLABLE },            // RES_UL_SPACE
-    { 0, 0 },                                           // RES_PAGEDESC
-    { SID_ATTR_PARA_PAGEBREAK, SFX_ITEM_POOLABLE },     // RES_BREAK
-    { 0, 0 },                                           // RES_CNTNT
-    { 0, SFX_ITEM_POOLABLE },                           // RES_HEADER
-    { 0, SFX_ITEM_POOLABLE },                           // RES_FOOTER
-    { 0, SFX_ITEM_POOLABLE },                           // RES_PRINT
-    { FN_OPAQUE, SFX_ITEM_POOLABLE },                   // RES_OPAQUE
-    { FN_SET_PROTECT, SFX_ITEM_POOLABLE },              // RES_PROTECT
-    { FN_SURROUND, SFX_ITEM_POOLABLE },                 // RES_SURROUND
-    { FN_VERT_ORIENT, SFX_ITEM_POOLABLE },              // RES_VERT_ORIENT
-    { FN_HORI_ORIENT, SFX_ITEM_POOLABLE },              // RES_HORI_ORIENT
-    { 0, 0 },                                           // RES_ANCHOR
-    { SID_ATTR_BRUSH, SFX_ITEM_POOLABLE },              // RES_BACKGROUND
-    { SID_ATTR_BORDER_OUTER, SFX_ITEM_POOLABLE },       // RES_BOX
-    { SID_ATTR_BORDER_SHADOW, SFX_ITEM_POOLABLE },      // RES_SHADOW
-    { SID_ATTR_MACROITEM, SFX_ITEM_POOLABLE },          // RES_FRMMACRO
-    { FN_ATTR_COLUMNS, SFX_ITEM_POOLABLE },             // RES_COL
-    { SID_ATTR_PARA_KEEP, SFX_ITEM_POOLABLE },          // RES_KEEP
-    { 0, SFX_ITEM_POOLABLE },                           // RES_URL
-    { 0, SFX_ITEM_POOLABLE },                           // RES_EDIT_IN_READONLY
-
-    { 0, SFX_ITEM_POOLABLE },                           // RES_LAYOUT_SPLIT
-    { 0, 0 },                                           // RES_CHAIN
-    { 0, SFX_ITEM_POOLABLE },                           // RES_TEXTGRID
-    { FN_FORMAT_LINENUMBER, SFX_ITEM_POOLABLE },        // RES_LINENUMBER
-    { 0, SFX_ITEM_POOLABLE },                           // RES_FTN_AT_TXTEND
-    { 0, SFX_ITEM_POOLABLE },                           // RES_END_AT_TXTEND
-    { 0, SFX_ITEM_POOLABLE },                           // RES_COLUMNBALANCE
-
-    { SID_ATTR_FRAMEDIRECTION, SFX_ITEM_POOLABLE },     // RES_FRAMEDIR
-
-    { SID_ATTR_HDFT_DYNAMIC_SPACING, SFX_ITEM_POOLABLE },// RES_HEADER_FOOTER_EAT_SPACING
-    { FN_TABLE_ROW_SPLIT, SFX_ITEM_POOLABLE },          // RES_ROW_SPLIT
+    { SID_ATTR_CHAR_CASEMAP, SfxItemPoolFlags::POOLABLE },       // RES_CHRATR_CASEMAP
+    { SID_ATTR_CHAR_CHARSETCOLOR, SfxItemPoolFlags::POOLABLE },  // RES_CHRATR_CHARSETCOLOR
+    { SID_ATTR_CHAR_COLOR, SfxItemPoolFlags::POOLABLE },         // RES_CHRATR_COLOR
+    { SID_ATTR_CHAR_CONTOUR, SfxItemPoolFlags::POOLABLE },       // RES_CHRATR_CONTOUR
+    { SID_ATTR_CHAR_STRIKEOUT, SfxItemPoolFlags::POOLABLE },     // RES_CHRATR_CROSSEDOUT
+    { SID_ATTR_CHAR_ESCAPEMENT, SfxItemPoolFlags::POOLABLE },    // RES_CHRATR_ESCAPEMENT
+    { SID_ATTR_CHAR_FONT, SfxItemPoolFlags::POOLABLE },          // RES_CHRATR_FONT
+    { SID_ATTR_CHAR_FONTHEIGHT, SfxItemPoolFlags::POOLABLE },    // RES_CHRATR_FONTSIZE
+    { SID_ATTR_CHAR_KERNING, SfxItemPoolFlags::POOLABLE },       // RES_CHRATR_KERNING
+    { SID_ATTR_CHAR_LANGUAGE, SfxItemPoolFlags::POOLABLE },      // RES_CHRATR_LANGUAGE
+    { SID_ATTR_CHAR_POSTURE, SfxItemPoolFlags::POOLABLE },       // RES_CHRATR_POSTURE
+    { SID_ATTR_CHAR_PROPSIZE, SfxItemPoolFlags::POOLABLE },      // RES_CHRATR_PROPORTIONALFONTSIZE
+    { SID_ATTR_CHAR_SHADOWED, SfxItemPoolFlags::POOLABLE },      // RES_CHRATR_SHADOWED
+    { SID_ATTR_CHAR_UNDERLINE, SfxItemPoolFlags::POOLABLE },     // RES_CHRATR_UNDERLINE
+    { SID_ATTR_CHAR_WEIGHT, SfxItemPoolFlags::POOLABLE },        // RES_CHRATR_WEIGHT
+    { SID_ATTR_CHAR_WORDLINEMODE, SfxItemPoolFlags::POOLABLE },  // RES_CHRATR_WORDLINEMODE
+    { SID_ATTR_CHAR_AUTOKERN, SfxItemPoolFlags::POOLABLE },      // RES_CHRATR_AUTOKERN
+    { SID_ATTR_FLASH, SfxItemPoolFlags::POOLABLE },              // RES_CHRATR_BLINK
+    { 0, SfxItemPoolFlags::POOLABLE },                           // RES_CHRATR_NOLINEBREAK
+    { 0, SfxItemPoolFlags::POOLABLE },                           // RES_CHRATR_NOHYPHEN
+    { SID_ATTR_BRUSH_CHAR, SfxItemPoolFlags::POOLABLE },         // RES_CHRATR_BACKGROUND
+    { SID_ATTR_CHAR_CJK_FONT, SfxItemPoolFlags::POOLABLE },      // RES_CHRATR_CJK_FONT
+    { SID_ATTR_CHAR_CJK_FONTHEIGHT, SfxItemPoolFlags::POOLABLE },// RES_CHRATR_CJK_FONTSIZE
+    { SID_ATTR_CHAR_CJK_LANGUAGE, SfxItemPoolFlags::POOLABLE },  // RES_CHRATR_CJK_LANGUAGE
+    { SID_ATTR_CHAR_CJK_POSTURE, SfxItemPoolFlags::POOLABLE },   // RES_CHRATR_CJK_POSTURE
+    { SID_ATTR_CHAR_CJK_WEIGHT, SfxItemPoolFlags::POOLABLE },    // RES_CHRATR_CJK_WEIGHT
+    { SID_ATTR_CHAR_CTL_FONT, SfxItemPoolFlags::POOLABLE },      // RES_CHRATR_CTL_FONT
+    { SID_ATTR_CHAR_CTL_FONTHEIGHT, SfxItemPoolFlags::POOLABLE },// RES_CHRATR_CTL_FONTSIZE
+    { SID_ATTR_CHAR_CTL_LANGUAGE, SfxItemPoolFlags::POOLABLE },  // RES_CHRATR_CTL_LANGUAGE
+    { SID_ATTR_CHAR_CTL_POSTURE, SfxItemPoolFlags::POOLABLE },   // RES_CHRATR_CTL_POSTURE
+    { SID_ATTR_CHAR_CTL_WEIGHT, SfxItemPoolFlags::POOLABLE },    // RES_CHRATR_CTL_WEIGHT
+    { SID_ATTR_CHAR_ROTATED, SfxItemPoolFlags::POOLABLE },       // RES_CHRATR_ROTATE
+    { SID_ATTR_CHAR_EMPHASISMARK, SfxItemPoolFlags::POOLABLE },  // RES_CHRATR_EMPHASIS_MARK
+    { SID_ATTR_CHAR_TWO_LINES, SfxItemPoolFlags::POOLABLE },     // RES_CHRATR_TWO_LINES
+    { SID_ATTR_CHAR_SCALEWIDTH, SfxItemPoolFlags::POOLABLE },    // RES_CHRATR_SCALEW
+    { SID_ATTR_CHAR_RELIEF, SfxItemPoolFlags::POOLABLE },        // RES_CHRATR_RELIEF
+    { SID_ATTR_CHAR_HIDDEN, SfxItemPoolFlags::POOLABLE },        // RES_CHRATR_HIDDEN
+    { SID_ATTR_CHAR_OVERLINE, SfxItemPoolFlags::POOLABLE },      // RES_CHRATR_OVERLINE
+    { 0, SfxItemPoolFlags::POOLABLE },                           // RES_CHRATR_RSID
+    { 0, SfxItemPoolFlags::POOLABLE },                           // RES_CHRATR_BOX
+    { 0, SfxItemPoolFlags::POOLABLE },                           // RES_CHRATR_SHADOW
+    { 0, SfxItemPoolFlags::POOLABLE },                           // RES_CHRATR_HIGHLIGHT
+    { SID_ATTR_CHAR_GRABBAG, SfxItemPoolFlags::POOLABLE },       // RES_CHRATR_GRABBAG
+    { 0, SfxItemPoolFlags::POOLABLE },                           // RES_CHRATR_BIDIRTL
+    { 0, SfxItemPoolFlags::POOLABLE },                           // RES_CHRATR_IDCTHINT
+
+    { 0, SfxItemPoolFlags::NONE },                               // RES_TXTATR_REFMARK
+    { 0, SfxItemPoolFlags::NONE },                               // RES_TXTATR_TOXMARK
+    { 0, SfxItemPoolFlags::NONE },                               // RES_TXTATR_META
+    { 0, SfxItemPoolFlags::NONE },                               // RES_TXTATR_METAFIELD
+    { 0, SfxItemPoolFlags::POOLABLE },                           // RES_TXTATR_AUTOFMT
+    { FN_TXTATR_INET, SfxItemPoolFlags::NONE },                  // RES_TXTATR_INETFMT
+    { 0, SfxItemPoolFlags::NONE },                               // RES_TXTATR_CHARFMT
+    { SID_ATTR_CHAR_CJK_RUBY, SfxItemPoolFlags::NONE },          // RES_TXTATR_CJK_RUBY
+    { 0, SfxItemPoolFlags::POOLABLE },                           // RES_TXTATR_UNKNOWN_CONTAINER
+    { 0, SfxItemPoolFlags::NONE },                               // RES_TXTATR_INPUTFIELD
+
+    { 0, SfxItemPoolFlags::NONE },                               // RES_TXTATR_FIELD
+    { 0, SfxItemPoolFlags::NONE },                               // RES_TXTATR_FLYCNT
+    { 0, SfxItemPoolFlags::NONE },                               // RES_TXTATR_FTN
+    { 0, SfxItemPoolFlags::NONE },                               // RES_TXTATR_ANNOTATION
+    { 0, SfxItemPoolFlags::POOLABLE },                           // RES_TXTATR_DUMMY3
+    { 0, SfxItemPoolFlags::POOLABLE },                           // RES_TXTATR_DUMMY1
+    { 0, SfxItemPoolFlags::POOLABLE },                           // RES_TXTATR_DUMMY2
+
+    { SID_ATTR_PARA_LINESPACE, SfxItemPoolFlags::POOLABLE },     // RES_PARATR_LINESPACING
+    { SID_ATTR_PARA_ADJUST, SfxItemPoolFlags::POOLABLE },        // RES_PARATR_ADJUST
+    { SID_ATTR_PARA_SPLIT, SfxItemPoolFlags::POOLABLE },         // RES_PARATR_SPLIT
+    { SID_ATTR_PARA_ORPHANS, SfxItemPoolFlags::POOLABLE },       // RES_PARATR_ORPHANS
+    { SID_ATTR_PARA_WIDOWS, SfxItemPoolFlags::POOLABLE },        // RES_PARATR_WIDOWS
+    { SID_ATTR_TABSTOP, SfxItemPoolFlags::POOLABLE },            // RES_PARATR_TABSTOP
+    { SID_ATTR_PARA_HYPHENZONE, SfxItemPoolFlags::POOLABLE },    // RES_PARATR_HYPHENZONE
+    { FN_FORMAT_DROPCAPS, SfxItemPoolFlags::NONE },              // RES_PARATR_DROP
+    { SID_ATTR_PARA_REGISTER, SfxItemPoolFlags::POOLABLE },      // RES_PARATR_REGISTER
+    { SID_ATTR_PARA_NUMRULE, SfxItemPoolFlags::POOLABLE },       // RES_PARATR_NUMRULE
+    { SID_ATTR_PARA_SCRIPTSPACE, SfxItemPoolFlags::POOLABLE },   // RES_PARATR_SCRIPTSPACE
+    { SID_ATTR_PARA_HANGPUNCTUATION, SfxItemPoolFlags::POOLABLE },// RES_PARATR_HANGINGPUNCTUATION
+
+    { SID_ATTR_PARA_FORBIDDEN_RULES, SfxItemPoolFlags::POOLABLE },// RES_PARATR_FORBIDDEN_RULES
+    { SID_PARA_VERTALIGN, SfxItemPoolFlags::POOLABLE },          // RES_PARATR_VERTALIGN
+    { SID_ATTR_PARA_SNAPTOGRID, SfxItemPoolFlags::POOLABLE },    // RES_PARATR_SNAPTOGRID
+    { SID_ATTR_BORDER_CONNECT, SfxItemPoolFlags::POOLABLE },     // RES_PARATR_CONNECT_BORDER
+
+    { SID_ATTR_PARA_OUTLINE_LEVEL, SfxItemPoolFlags::POOLABLE }, // RES_PARATR_OUTLINELEVEL //#outline level
+    { 0, SfxItemPoolFlags::POOLABLE },                           // RES_PARATR_RSID
+    { 0, SfxItemPoolFlags::POOLABLE },                           // RES_PARATR_GRABBAG
+    { 0, SfxItemPoolFlags::POOLABLE },                           // RES_PARATR_LIST_ID
+    { 0, SfxItemPoolFlags::POOLABLE },                           // RES_PARATR_LIST_LEVEL
+    { 0, SfxItemPoolFlags::POOLABLE },                           // RES_PARATR_LIST_ISRESTART
+    { 0, SfxItemPoolFlags::POOLABLE },                           // RES_PARATR_LIST_RESTARTVALUE
+    { 0, SfxItemPoolFlags::POOLABLE },                           // RES_PARATR_LIST_ISCOUNTED
+
+    { 0, SfxItemPoolFlags::POOLABLE },                           // RES_FILL_ORDER
+    { 0, SfxItemPoolFlags::POOLABLE },                           // RES_FRM_SIZE
+    { SID_ATTR_PAGE_PAPERBIN, SfxItemPoolFlags::POOLABLE },      // RES_PAPER_BIN
+    { SID_ATTR_LRSPACE, SfxItemPoolFlags::POOLABLE },            // RES_LR_SPACE
+    { SID_ATTR_ULSPACE, SfxItemPoolFlags::POOLABLE },            // RES_UL_SPACE
+    { 0, SfxItemPoolFlags::NONE },                               // RES_PAGEDESC
+    { SID_ATTR_PARA_PAGEBREAK, SfxItemPoolFlags::POOLABLE },     // RES_BREAK
+    { 0, SfxItemPoolFlags::NONE },                               // RES_CNTNT
+    { 0, SfxItemPoolFlags::POOLABLE },                           // RES_HEADER
+    { 0, SfxItemPoolFlags::POOLABLE },                           // RES_FOOTER
+    { 0, SfxItemPoolFlags::POOLABLE },                           // RES_PRINT
+    { FN_OPAQUE, SfxItemPoolFlags::POOLABLE },                   // RES_OPAQUE
+    { FN_SET_PROTECT, SfxItemPoolFlags::POOLABLE },              // RES_PROTECT
+    { FN_SURROUND, SfxItemPoolFlags::POOLABLE },                 // RES_SURROUND
+    { FN_VERT_ORIENT, SfxItemPoolFlags::POOLABLE },              // RES_VERT_ORIENT
+    { FN_HORI_ORIENT, SfxItemPoolFlags::POOLABLE },              // RES_HORI_ORIENT
+    { 0, SfxItemPoolFlags::NONE },                               // RES_ANCHOR
+    { SID_ATTR_BRUSH, SfxItemPoolFlags::POOLABLE },              // RES_BACKGROUND
+    { SID_ATTR_BORDER_OUTER, SfxItemPoolFlags::POOLABLE },       // RES_BOX
+    { SID_ATTR_BORDER_SHADOW, SfxItemPoolFlags::POOLABLE },      // RES_SHADOW
+    { SID_ATTR_MACROITEM, SfxItemPoolFlags::POOLABLE },          // RES_FRMMACRO
+    { FN_ATTR_COLUMNS, SfxItemPoolFlags::POOLABLE },             // RES_COL
+    { SID_ATTR_PARA_KEEP, SfxItemPoolFlags::POOLABLE },          // RES_KEEP
+    { 0, SfxItemPoolFlags::POOLABLE },                           // RES_URL
+    { 0, SfxItemPoolFlags::POOLABLE },                           // RES_EDIT_IN_READONLY
+
+    { 0, SfxItemPoolFlags::POOLABLE },                           // RES_LAYOUT_SPLIT
+    { 0, SfxItemPoolFlags::NONE },                               // RES_CHAIN
+    { 0, SfxItemPoolFlags::POOLABLE },                           // RES_TEXTGRID
+    { FN_FORMAT_LINENUMBER, SfxItemPoolFlags::POOLABLE },        // RES_LINENUMBER
+    { 0, SfxItemPoolFlags::POOLABLE },                           // RES_FTN_AT_TXTEND
+    { 0, SfxItemPoolFlags::POOLABLE },                           // RES_END_AT_TXTEND
+    { 0, SfxItemPoolFlags::POOLABLE },                           // RES_COLUMNBALANCE
+
+    { SID_ATTR_FRAMEDIRECTION, SfxItemPoolFlags::POOLABLE },     // RES_FRAMEDIR
+
+    { SID_ATTR_HDFT_DYNAMIC_SPACING, SfxItemPoolFlags::POOLABLE },// RES_HEADER_FOOTER_EAT_SPACING
+    { FN_TABLE_ROW_SPLIT, SfxItemPoolFlags::POOLABLE },          // RES_ROW_SPLIT
     // #i18732# - use slot-id define in svx
-    { SID_SW_FOLLOW_TEXT_FLOW, SFX_ITEM_POOLABLE },     // RES_FOLLOW_TEXT_FLOW
+    { SID_SW_FOLLOW_TEXT_FLOW, SfxItemPoolFlags::POOLABLE },     // RES_FOLLOW_TEXT_FLOW
     // #i29550#
-    { SID_SW_COLLAPSING_BORDERS, SFX_ITEM_POOLABLE },   // RES_COLLAPSING_BORDERS
+    { SID_SW_COLLAPSING_BORDERS, SfxItemPoolFlags::POOLABLE },   // RES_COLLAPSING_BORDERS
     // #i28701#
-    { SID_SW_WRAP_INFLUENCE_ON_OBJPOS, SFX_ITEM_POOLABLE },// RES_WRAP_INFLUENCE_ON_OBJPOS
-    { 0, 0 },                                           // RES_AUTO_STYLE
-    { 0, SFX_ITEM_POOLABLE },                           // RES_FRMATR_STYLE_NAME
-    { 0, SFX_ITEM_POOLABLE },                           // RES_FRMATR_CONDITIONAL_STYLE_NAME
-    { 0, SFX_ITEM_POOLABLE },                           // RES_FRMATR_GRABBAG
-    { 0, SFX_ITEM_POOLABLE },                           // RES_TEXT_VERT_ADJUST
-
-    { 0, SFX_ITEM_POOLABLE },                           // RES_GRFATR_MIRRORGRF
-    { SID_ATTR_GRAF_CROP, SFX_ITEM_POOLABLE },          // RES_GRFATR_CROPGRF
-    { 0, SFX_ITEM_POOLABLE },                           // RES_GRFATR_ROTATION,
-    { 0, SFX_ITEM_POOLABLE },                           // RES_GRFATR_LUMINANCE,
-    { 0, SFX_ITEM_POOLABLE },                           // RES_GRFATR_CONTRAST,
-    { 0, SFX_ITEM_POOLABLE },                           // RES_GRFATR_CHANNELR,
-    { 0, SFX_ITEM_POOLABLE },                           // RES_GRFATR_CHANNELG,
-    { 0, SFX_ITEM_POOLABLE },                           // RES_GRFATR_CHANNELB,
-    { 0, SFX_ITEM_POOLABLE },                           // RES_GRFATR_GAMMA,
-    { 0, SFX_ITEM_POOLABLE },                           // RES_GRFATR_INVERT,
-    { 0, SFX_ITEM_POOLABLE },                           // RES_GRFATR_TRANSPARENCY,
-    { 0, SFX_ITEM_POOLABLE },                           // RES_GRFATR_DUMMY1,
-    { 0, SFX_ITEM_POOLABLE },                           // RES_GRFATR_DUMMY2,
-    { 0, SFX_ITEM_POOLABLE },                           // RES_GRFATR_DUMMY3,
-    { 0, SFX_ITEM_POOLABLE },                           // RES_GRFATR_DUMMY4,
-    { 0, SFX_ITEM_POOLABLE },                           // RES_GRFATR_DUMMY5,
-    { 0, SFX_ITEM_POOLABLE },                           // RES_GRFATR_DUMMY6,
-
-    { 0, SFX_ITEM_POOLABLE },                           // RES_BOXATR_FORMAT
-    { 0, 0 },                                           // RES_BOXATR_FORMULA,
-    { 0, SFX_ITEM_POOLABLE },                           // RES_BOXATR_VALUE
-
-    { 0, SFX_ITEM_POOLABLE }                            // RES_UNKNOWNATR_CONTAINER
+    { SID_SW_WRAP_INFLUENCE_ON_OBJPOS, SfxItemPoolFlags::POOLABLE },// RES_WRAP_INFLUENCE_ON_OBJPOS
+    { 0, SfxItemPoolFlags::NONE },                               // RES_AUTO_STYLE
+    { 0, SfxItemPoolFlags::POOLABLE },                           // RES_FRMATR_STYLE_NAME
+    { 0, SfxItemPoolFlags::POOLABLE },                           // RES_FRMATR_CONDITIONAL_STYLE_NAME
+    { 0, SfxItemPoolFlags::POOLABLE },                           // RES_FRMATR_GRABBAG
+    { 0, SfxItemPoolFlags::POOLABLE },                           // RES_TEXT_VERT_ADJUST
+
+    { 0, SfxItemPoolFlags::POOLABLE },                           // RES_GRFATR_MIRRORGRF
+    { SID_ATTR_GRAF_CROP, SfxItemPoolFlags::POOLABLE },          // RES_GRFATR_CROPGRF
+    { 0, SfxItemPoolFlags::POOLABLE },                           // RES_GRFATR_ROTATION,
+    { 0, SfxItemPoolFlags::POOLABLE },                           // RES_GRFATR_LUMINANCE,
+    { 0, SfxItemPoolFlags::POOLABLE },                           // RES_GRFATR_CONTRAST,
+    { 0, SfxItemPoolFlags::POOLABLE },                           // RES_GRFATR_CHANNELR,
+    { 0, SfxItemPoolFlags::POOLABLE },                           // RES_GRFATR_CHANNELG,
+    { 0, SfxItemPoolFlags::POOLABLE },                           // RES_GRFATR_CHANNELB,
+    { 0, SfxItemPoolFlags::POOLABLE },                           // RES_GRFATR_GAMMA,
+    { 0, SfxItemPoolFlags::POOLABLE },                           // RES_GRFATR_INVERT,
+    { 0, SfxItemPoolFlags::POOLABLE },                           // RES_GRFATR_TRANSPARENCY,
+    { 0, SfxItemPoolFlags::POOLABLE },                           // RES_GRFATR_DUMMY1,
+    { 0, SfxItemPoolFlags::POOLABLE },                           // RES_GRFATR_DUMMY2,
+    { 0, SfxItemPoolFlags::POOLABLE },                           // RES_GRFATR_DUMMY3,
+    { 0, SfxItemPoolFlags::POOLABLE },                           // RES_GRFATR_DUMMY4,
+    { 0, SfxItemPoolFlags::POOLABLE },                           // RES_GRFATR_DUMMY5,
+    { 0, SfxItemPoolFlags::POOLABLE },                           // RES_GRFATR_DUMMY6,
+
+    { 0, SfxItemPoolFlags::POOLABLE },                           // RES_BOXATR_FORMAT
+    { 0, SfxItemPoolFlags::NONE },                               // RES_BOXATR_FORMULA,
+    { 0, SfxItemPoolFlags::POOLABLE },                           // RES_BOXATR_VALUE
+
+    { 0, SfxItemPoolFlags::POOLABLE }                            // RES_UNKNOWNATR_CONTAINER
 };
 
 sal_uInt16* SwAttrPool::pVersionMap1 = 0;
commit d208cf834f4f191558ae27ea7a8c7a31b8e440a6
Author: Noel Grandin <noel at peralex.com>
Date:   Mon Apr 13 13:21:04 2015 +0200

    convert SIGNATURESTATE_ constants to scoped enum
    
    Change-Id: I715e39599464a199a8b78ec274bfe47b90fc4bb7
    Reviewed-on: https://gerrit.libreoffice.org/15301
    Tested-by: Noel Grandin <noelgrandin at gmail.com>
    Reviewed-by: Noel Grandin <noelgrandin at gmail.com>

diff --git a/basctl/source/basicide/basides1.cxx b/basctl/source/basicide/basides1.cxx
index eabb0a2..4a952ca 100644
--- a/basctl/source/basicide/basides1.cxx
+++ b/basctl/source/basicide/basides1.cxx
@@ -733,13 +733,13 @@ void Shell::GetState(SfxItemSet &rSet)
             break;
             case SID_SIGNATURE:
             {
-                sal_uInt16 nState = 0;
+                SignatureState nState = SignatureState::NOSIGNATURES;
                 if ( pCurWin )
                 {
                     DocumentSignature aSignature( pCurWin->GetDocument() );
                     nState = aSignature.getScriptingSignatureState();
                 }
-                rSet.Put( SfxUInt16Item( SID_SIGNATURE, nState ) );
+                rSet.Put( SfxUInt16Item( SID_SIGNATURE, static_cast<sal_uInt16>(nState) ) );
             }
             break;
             case SID_BASICIDE_MODULEDLG:
diff --git a/basctl/source/basicide/basides2.cxx b/basctl/source/basicide/basides2.cxx
index 874f797..1801060 100644
--- a/basctl/source/basicide/basides2.cxx
+++ b/basctl/source/basicide/basides2.cxx
@@ -106,7 +106,7 @@ void Shell::SetMDITitle()
         aTitleBuf = IDE_RESSTR(RID_STR_ALL) ;
 
     DocumentSignature aCurSignature( m_aCurDocument );
-    if ( aCurSignature.getScriptingSignatureState() == SIGNATURESTATE_SIGNATURES_OK )
+    if ( aCurSignature.getScriptingSignatureState() == SignatureState::OK )
     {
         aTitleBuf = aTitleBuf + " " + IDE_RESSTR(RID_STR_SIGNED) + " ";
     }
diff --git a/basctl/source/basicide/docsignature.cxx b/basctl/source/basicide/docsignature.cxx
index 0212f9e..dd1626a 100644
--- a/basctl/source/basicide/docsignature.cxx
+++ b/basctl/source/basicide/docsignature.cxx
@@ -80,11 +80,11 @@ namespace basctl
             m_pImpl->pShell->SignScriptingContent();
     }
 
-    sal_uInt16 DocumentSignature::getScriptingSignatureState() const
+    SignatureState DocumentSignature::getScriptingSignatureState() const
     {
         if ( m_pImpl->pShell )
             return m_pImpl->pShell->GetScriptingSignatureState();
-        return SIGNATURESTATE_NOSIGNATURES;
+        return SignatureState::NOSIGNATURES;
     }
 
 } // namespace basctl
diff --git a/basctl/source/inc/docsignature.hxx b/basctl/source/inc/docsignature.hxx
index bc80115..adbefe8 100644
--- a/basctl/source/inc/docsignature.hxx
+++ b/basctl/source/inc/docsignature.hxx
@@ -20,8 +20,8 @@
 #define INCLUDED_BASCTL_SOURCE_INC_DOCSIGNATURE_HXX
 
 #include <com/sun/star/frame/XModel.hpp>
-
 #include <boost/scoped_ptr.hpp>
+#include <sfx2/signaturestate.hxx>
 
 
 namespace basctl
@@ -62,7 +62,7 @@ namespace basctl
 
             If the instance is not valid, then SIGNATURESTATE_NOSIGNATURES is returned.
         */
-        sal_uInt16  getScriptingSignatureState() const;
+        SignatureState getScriptingSignatureState() const;
 
     private:
         DocumentSignature();        // not implemented
diff --git a/dbaccess/source/core/dataaccess/ModelImpl.cxx b/dbaccess/source/core/dataaccess/ModelImpl.cxx
index 6d800cb..936ba5c 100644
--- a/dbaccess/source/core/dataaccess/ModelImpl.cxx
+++ b/dbaccess/source/core/dataaccess/ModelImpl.cxx
@@ -1345,10 +1345,10 @@ Reference< XEmbeddedScripts > ODatabaseModelImpl::getEmbeddedDocumentScripts() c
     return Reference< XEmbeddedScripts >( getModel_noCreate(), UNO_QUERY );
 }
 
-sal_Int16 ODatabaseModelImpl::getScriptingSignatureState()
+SignatureState ODatabaseModelImpl::getScriptingSignatureState()
 {
     // no support for signatures at the moment
-    return SIGNATURESTATE_NOSIGNATURES;
+    return SignatureState::NOSIGNATURES;
 }
 
 bool ODatabaseModelImpl::hasTrustedScriptingSignature( bool /*bAllowUIToAddAuthor*/ )
diff --git a/dbaccess/source/core/dataaccess/ModelImpl.hxx b/dbaccess/source/core/dataaccess/ModelImpl.hxx
index 72129d4..d51070c 100644
--- a/dbaccess/source/core/dataaccess/ModelImpl.hxx
+++ b/dbaccess/source/core/dataaccess/ModelImpl.hxx
@@ -474,7 +474,7 @@ public:
     virtual ::com::sun::star::uno::Reference< ::com::sun::star::embed::XStorage > getZipStorageToSign() SAL_OVERRIDE;
     virtual bool documentStorageHasMacros() const SAL_OVERRIDE;
     virtual ::com::sun::star::uno::Reference< ::com::sun::star::document::XEmbeddedScripts > getEmbeddedDocumentScripts() const SAL_OVERRIDE;
-    virtual sal_Int16 getScriptingSignatureState() SAL_OVERRIDE;
+    virtual SignatureState getScriptingSignatureState() SAL_OVERRIDE;
     virtual bool hasTrustedScriptingSignature( bool bAllowUIToAddAuthor ) SAL_OVERRIDE;
     virtual void showBrokenSignatureWarning( const ::com::sun::star::uno::Reference< ::com::sun::star::task::XInteractionHandler >& _rxInteraction ) const SAL_OVERRIDE;
 
diff --git a/include/sfx2/docfile.hxx b/include/sfx2/docfile.hxx
index 9e6160e..2964e19 100644
--- a/include/sfx2/docfile.hxx
+++ b/include/sfx2/docfile.hxx
@@ -23,6 +23,7 @@
 #include <com/sun/star/io/XSeekable.hpp>
 #include <sal/config.h>
 #include <sfx2/dllapi.h>
+#include <sfx2/signaturestate.hxx>
 #include <sal/types.h>
 #include <com/sun/star/util/RevisionTag.hpp>
 #include <com/sun/star/util/DateTime.hpp>
@@ -260,8 +261,8 @@ public:
     // the following two methods must be used and make sense only during saving currently
     // TODO/LATER: in future the signature state should be controlled by the medium not by the document
     //             in this case the methods will be used generally, and might need to be renamed
-    SAL_DLLPRIVATE sal_uInt16 GetCachedSignatureState_Impl();
-    SAL_DLLPRIVATE void       SetCachedSignatureState_Impl( sal_uInt16 nState );
+    SAL_DLLPRIVATE SignatureState GetCachedSignatureState_Impl();
+    SAL_DLLPRIVATE void       SetCachedSignatureState_Impl( SignatureState nState );
 
     static css::uno::Sequence < css::util::RevisionTag > GetVersionList(
                     const css::uno::Reference< css::embed::XStorage >& xStorage );
diff --git a/include/sfx2/docmacromode.hxx b/include/sfx2/docmacromode.hxx
index 6945c78..f245962 100644
--- a/include/sfx2/docmacromode.hxx
+++ b/include/sfx2/docmacromode.hxx
@@ -21,6 +21,7 @@
 #define INCLUDED_SFX2_DOCMACROMODE_HXX
 
 #include <sfx2/dllapi.h>
+#include <sfx2/signaturestate.hxx>
 
 #include <com/sun/star/task/XInteractionHandler.hpp>
 #include <com/sun/star/embed/XStorage.hpp>
@@ -148,7 +149,7 @@ namespace sfx2
 
             @seealso <sfx2/signaturestate.hxx>
         */
-        virtual sal_Int16
+        virtual SignatureState
                     getScriptingSignatureState() = 0;
 
         /** allows to detect whether there is a trusted scripting signature
diff --git a/include/sfx2/objsh.hxx b/include/sfx2/objsh.hxx
index 7e235d9..152e864 100644
--- a/include/sfx2/objsh.hxx
+++ b/include/sfx2/objsh.hxx
@@ -21,6 +21,7 @@
 
 #include <sal/config.h>
 #include <sfx2/dllapi.h>
+#include <sfx2/signaturestate.hxx>
 #include <sal/types.h>
 #include <com/sun/star/frame/XFrame.hpp>
 #include <com/sun/star/uno/Reference.h>
@@ -363,9 +364,9 @@ public:
     bool                        ExportTo( SfxMedium &rMedium );
 
     // xmlsec05, check with SFX team
-    sal_uInt16                  GetDocumentSignatureState();
+    SignatureState              GetDocumentSignatureState();
     void                        SignDocumentContent();
-    sal_uInt16                  GetScriptingSignatureState();
+    SignatureState              GetScriptingSignatureState();
     void                        SignScriptingContent();
 
     virtual SfxDocumentInfoDialog* CreateDocumentInfoDialog(
@@ -635,7 +636,7 @@ public:
     SAL_DLLPRIVATE void BreakMacroSign_Impl( bool bBreakMacroSing );
     SAL_DLLPRIVATE void CheckSecurityOnLoading_Impl();
     SAL_DLLPRIVATE void CheckForBrokenDocSignatures_Impl( const ::com::sun::star::uno::Reference< ::com::sun::star::task::XInteractionHandler >& xHandler );
-    SAL_DLLPRIVATE sal_uInt16 ImplCheckSignaturesInformation(
+    SAL_DLLPRIVATE SignatureState ImplCheckSignaturesInformation(
                 const ::com::sun::star::uno::Sequence< ::com::sun::star::security::DocumentSignatureInformation >& aInfos );
     SAL_DLLPRIVATE void CheckEncryption_Impl( const ::com::sun::star::uno::Reference< ::com::sun::star::task::XInteractionHandler >& xHandler );
     SAL_DLLPRIVATE void SetModifyPasswordEntered( bool bEntered = true );
@@ -696,7 +697,7 @@ public:
 
     // configuration items
     SAL_DLLPRIVATE SfxToolBoxConfig* GetToolBoxConfig_Impl();
-    SAL_DLLPRIVATE sal_uInt16 ImplGetSignatureState( bool bScriptingContent = false );
+    SAL_DLLPRIVATE SignatureState ImplGetSignatureState( bool bScriptingContent = false );
 
     SAL_DLLPRIVATE ::com::sun::star::uno::Sequence< ::com::sun::star::security::DocumentSignatureInformation >
         ImplAnalyzeSignature(
diff --git a/include/sfx2/signaturestate.hxx b/include/sfx2/signaturestate.hxx
index 0e795d5..b2bccf3 100644
--- a/include/sfx2/signaturestate.hxx
+++ b/include/sfx2/signaturestate.hxx
@@ -21,17 +21,20 @@
 #define INCLUDED_SFX2_SIGNATURESTATE_HXX
 
 // xmlsec05, check with SFX team
-#define SIGNATURESTATE_UNKNOWN                  (sal_Int16)(-1)
-#define SIGNATURESTATE_NOSIGNATURES             (sal_Int16)0
-#define SIGNATURESTATE_SIGNATURES_OK            (sal_Int16)1
-#define SIGNATURESTATE_SIGNATURES_BROKEN        (sal_Int16)2
-// State was SIGNATURES_OK, but doc is modified now
-#define SIGNATURESTATE_SIGNATURES_INVALID       (sal_Int16)3
-// signature is OK, but certificate could not be validated
-#define SIGNATURESTATE_SIGNATURES_NOTVALIDATED  (sal_Int16)4
-//signatur and certificate are ok,but not al files are signed, as was the case in
-//OOo 2.x - OOo 3.1.1. This state is only used  together with document signatures.
-#define SIGNATURESTATE_SIGNATURES_PARTIAL_OK    (sal_Int16)5
+enum class SignatureState
+{
+    UNKNOWN       = 0xffff, // used to be -1 when this was a sal_uInt16
+    NOSIGNATURES  = 0,
+    OK            = 1,
+    BROKEN        = 2,
+    // State was SignatureState::OK, but doc is modified now
+    INVALID       = 3,
+    // signature is OK, but certificate could not be validated
+    NOTVALIDATED  = 4,
+    //signatur and certificate are ok,but not al files are signed, as was the case in
+    //OOo 2.x - OOo 3.1.1. This state is only used  together with document signatures.
+    PARTIAL_OK    = 5
+};
 
 #endif // INCLUDED_SFX2_SIGNATURESTATE_HXX
 
diff --git a/sfx2/inc/guisaveas.hxx b/sfx2/inc/guisaveas.hxx
index 914094b..c409f15 100644
--- a/sfx2/inc/guisaveas.hxx
+++ b/sfx2/inc/guisaveas.hxx
@@ -63,7 +63,7 @@ public:
                     ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >& aArgsSequence,
                     bool bPreselectPassword,
                     const OUString& aUserSelectedName,
-                    sal_uInt16 nDocumentSignatureState = SIGNATURESTATE_NOSIGNATURES );
+                    SignatureState nDocumentSignatureState = SignatureState::NOSIGNATURES );
 
     static bool CheckFilterOptionsAppearence(
                     const ::com::sun::star::uno::Reference< ::com::sun::star::container::XNameAccess >& xFilterCFG,
diff --git a/sfx2/source/doc/docfile.cxx b/sfx2/source/doc/docfile.cxx
index 73deeca..cdd18ce 100644
--- a/sfx2/source/doc/docfile.cxx
+++ b/sfx2/source/doc/docfile.cxx
@@ -232,7 +232,7 @@ public:
     // the following member is changed and makes sense only during saving
     // TODO/LATER: in future the signature state should be controlled by the medium not by the document
     //             in this case the member will hold this information
-    sal_uInt16      m_nSignatureState;
+    SignatureState             m_nSignatureState;
 
     util::DateTime m_aDateTime;
 
@@ -275,7 +275,7 @@ SfxMedium_Impl::SfxMedium_Impl( SfxMedium* pAntiImplP ) :
     aExpireTime( Date( Date::SYSTEM ) + 10, tools::Time( tools::Time::SYSTEM ) ),
     pTempFile( NULL ),
     nLastStorageError( 0 ),
-    m_nSignatureState( SIGNATURESTATE_NOSIGNATURES )
+    m_nSignatureState( SignatureState::NOSIGNATURES )
 {
     aDoneLink.CreateMutex();
 }
@@ -3456,13 +3456,13 @@ bool SfxMedium::SignContents_Impl( bool bScriptingContent, const OUString& aODFV
 }
 
 
-sal_uInt16 SfxMedium::GetCachedSignatureState_Impl()
+SignatureState SfxMedium::GetCachedSignatureState_Impl()
 {
     return pImp->m_nSignatureState;
 }
 
 
-void SfxMedium::SetCachedSignatureState_Impl( sal_uInt16 nState )
+void SfxMedium::SetCachedSignatureState_Impl( SignatureState nState )
 {
     pImp->m_nSignatureState = nState;
 }
diff --git a/sfx2/source/doc/docmacromode.cxx b/sfx2/source/doc/docmacromode.cxx
index 54fd58e..9381651 100644
--- a/sfx2/source/doc/docmacromode.cxx
+++ b/sfx2/source/doc/docmacromode.cxx
@@ -246,8 +246,8 @@ namespace sfx2

... etc. - the rest is truncated


More information about the Libreoffice-commits mailing list