[Libreoffice-commits] core.git: chart2/source include/editeng include/svx sc/inc sw/inc sw/source

Mike Kaganski (via logerrit) logerrit at kemper.freedesktop.org
Fri Apr 3 08:23:12 UTC 2020


 chart2/source/inc/chartview/ChartSfxItemIds.hxx |  253 ++++++------
 include/editeng/eeitem.hxx                      |  133 +++---
 include/svx/svddef.hxx                          |  449 ++++++++++-----------
 include/svx/xdef.hxx                            |  110 ++---
 sc/inc/scitems.hxx                              |  222 +++++-----
 sw/inc/hintids.hxx                              |  503 ++++++++++++------------
 sw/source/core/edit/edlingu.cxx                 |    2 
 sw/source/filter/basflt/fltshell.cxx            |    2 
 sw/source/filter/ww8/wrtw8sty.cxx               |    2 
 9 files changed, 871 insertions(+), 805 deletions(-)

New commits:
commit 15984a6778f88982f135965a703c1e829fe8325c
Author:     Mike Kaganski <mike.kaganski at collabora.com>
AuthorDate: Fri Apr 3 00:04:27 2020 +0300
Commit:     Mike Kaganski <mike.kaganski at collabora.com>
CommitDate: Fri Apr 3 10:22:34 2020 +0200

    Turn defines into constexprs
    
    This allows to see actual values of the WhichIds in IDE easier
    
    Change-Id: I31106459cd262000444175d082eb349ff937488d
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/91513
    Tested-by: Jenkins
    Reviewed-by: Mike Kaganski <mike.kaganski at collabora.com>

diff --git a/chart2/source/inc/chartview/ChartSfxItemIds.hxx b/chart2/source/inc/chartview/ChartSfxItemIds.hxx
index 82e3f0a535f4..7c0e5555f374 100644
--- a/chart2/source/inc/chartview/ChartSfxItemIds.hxx
+++ b/chart2/source/inc/chartview/ChartSfxItemIds.hxx
@@ -19,6 +19,8 @@
 #ifndef INCLUDED_CHART2_SOURCE_INC_CHARTVIEW_CHARTSFXITEMIDS_HXX
 #define INCLUDED_CHART2_SOURCE_INC_CHARTVIEW_CHARTSFXITEMIDS_HXX
 
+#include <svl/typedwhich.hxx>
+
 class SvxSizeItem;
 class SfxIntegerListItem;
 class SfxBoolItem;
@@ -28,164 +30,167 @@ class SfxUInt32Item;
 class SvxChartIndicateItem;
 class SvxDoubleItem;
 class SvxBrushItem;
+class SvxChartKindErrorItem;
+class SvxChartTextOrderItem;
+class SvxChartRegressItem;
 
 // SCHATTR
 
 // can't this be changed to 0?
-#define SCHATTR_START                       1
-
-#define SCHATTR_DATADESCR_START             SCHATTR_START
-#define SCHATTR_DATADESCR_SHOW_NUMBER       TypedWhichId<SfxBoolItem>(SCHATTR_DATADESCR_START)
-#define SCHATTR_DATADESCR_SHOW_PERCENTAGE   TypedWhichId<SfxBoolItem>(SCHATTR_DATADESCR_START + 1)
-#define SCHATTR_DATADESCR_SHOW_CATEGORY     TypedWhichId<SfxBoolItem>(SCHATTR_DATADESCR_START + 2)
-#define SCHATTR_DATADESCR_SHOW_SYMBOL       TypedWhichId<SfxBoolItem>(SCHATTR_DATADESCR_START + 3)
-#define SCHATTR_DATADESCR_WRAP_TEXT         TypedWhichId<SfxBoolItem>(SCHATTR_DATADESCR_START + 4)
-#define SCHATTR_DATADESCR_SEPARATOR         TypedWhichId<SfxStringItem>(SCHATTR_DATADESCR_START + 5)
-#define SCHATTR_DATADESCR_PLACEMENT         TypedWhichId<SfxInt32Item>(SCHATTR_DATADESCR_START + 6)
-#define SCHATTR_DATADESCR_AVAILABLE_PLACEMENTS   TypedWhichId<SfxIntegerListItem>(SCHATTR_DATADESCR_START + 7)
-#define SCHATTR_DATADESCR_NO_PERCENTVALUE   TypedWhichId<SfxBoolItem>(SCHATTR_DATADESCR_START + 8) //percentage values should not be offered
-#define SCHATTR_PERCENT_NUMBERFORMAT_VALUE  TypedWhichId<SfxUInt32Item>(SCHATTR_DATADESCR_START + 9)
-#define SCHATTR_PERCENT_NUMBERFORMAT_SOURCE TypedWhichId<SfxBoolItem>(SCHATTR_DATADESCR_START + 10)
-#define SCHATTR_DATADESCR_END               SCHATTR_PERCENT_NUMBERFORMAT_SOURCE
+constexpr sal_uInt16 SCHATTR_START = 1;
+
+constexpr sal_uInt16                       SCHATTR_DATADESCR_START                (SCHATTR_START);
+constexpr TypedWhichId<SfxBoolItem>        SCHATTR_DATADESCR_SHOW_NUMBER          (SCHATTR_DATADESCR_START);
+constexpr TypedWhichId<SfxBoolItem>        SCHATTR_DATADESCR_SHOW_PERCENTAGE      (SCHATTR_DATADESCR_START + 1);
+constexpr TypedWhichId<SfxBoolItem>        SCHATTR_DATADESCR_SHOW_CATEGORY        (SCHATTR_DATADESCR_START + 2);
+constexpr TypedWhichId<SfxBoolItem>        SCHATTR_DATADESCR_SHOW_SYMBOL          (SCHATTR_DATADESCR_START + 3);
+constexpr TypedWhichId<SfxBoolItem>        SCHATTR_DATADESCR_WRAP_TEXT            (SCHATTR_DATADESCR_START + 4);
+constexpr TypedWhichId<SfxStringItem>      SCHATTR_DATADESCR_SEPARATOR            (SCHATTR_DATADESCR_START + 5);
+constexpr TypedWhichId<SfxInt32Item>       SCHATTR_DATADESCR_PLACEMENT            (SCHATTR_DATADESCR_START + 6);
+constexpr TypedWhichId<SfxIntegerListItem> SCHATTR_DATADESCR_AVAILABLE_PLACEMENTS (SCHATTR_DATADESCR_START + 7);
+constexpr TypedWhichId<SfxBoolItem>        SCHATTR_DATADESCR_NO_PERCENTVALUE      (SCHATTR_DATADESCR_START + 8); //percentage values should not be offered
+constexpr TypedWhichId<SfxUInt32Item>      SCHATTR_PERCENT_NUMBERFORMAT_VALUE     (SCHATTR_DATADESCR_START + 9);
+constexpr TypedWhichId<SfxBoolItem>        SCHATTR_PERCENT_NUMBERFORMAT_SOURCE    (SCHATTR_DATADESCR_START + 10);
+constexpr sal_uInt16                       SCHATTR_DATADESCR_END                  (SCHATTR_PERCENT_NUMBERFORMAT_SOURCE);
 
 //legend
-#define SCHATTR_LEGEND_START                (SCHATTR_DATADESCR_END + 1)
-#define SCHATTR_LEGEND_POS                  TypedWhichId<SfxInt32Item>(SCHATTR_LEGEND_START)
-#define SCHATTR_LEGEND_SHOW                 TypedWhichId<SfxBoolItem>(SCHATTR_LEGEND_START + 1)
-#define SCHATTR_LEGEND_NO_OVERLAY           TypedWhichId<SfxBoolItem>(SCHATTR_LEGEND_START + 2)
-#define SCHATTR_LEGEND_END                  SCHATTR_LEGEND_NO_OVERLAY
+constexpr sal_uInt16                 SCHATTR_LEGEND_START      (SCHATTR_DATADESCR_END + 1);
+constexpr TypedWhichId<SfxInt32Item> SCHATTR_LEGEND_POS        (SCHATTR_LEGEND_START);
+constexpr TypedWhichId<SfxBoolItem>  SCHATTR_LEGEND_SHOW       (SCHATTR_LEGEND_START + 1);
+constexpr TypedWhichId<SfxBoolItem>  SCHATTR_LEGEND_NO_OVERLAY (SCHATTR_LEGEND_START + 2);
+constexpr sal_uInt16                 SCHATTR_LEGEND_END        (SCHATTR_LEGEND_NO_OVERLAY);
 
 //text
-#define SCHATTR_TEXT_START                  (SCHATTR_LEGEND_END + 1)
-#define SCHATTR_TEXT_DEGREES                TypedWhichId<SfxInt32Item>(SCHATTR_TEXT_START)
-#define SCHATTR_TEXT_STACKED                TypedWhichId<SfxBoolItem>(SCHATTR_TEXT_START + 1)
-#define SCHATTR_TEXT_END                    SCHATTR_TEXT_STACKED
+constexpr sal_uInt16                 SCHATTR_TEXT_START   (SCHATTR_LEGEND_END + 1);
+constexpr TypedWhichId<SfxInt32Item> SCHATTR_TEXT_DEGREES (SCHATTR_TEXT_START);
+constexpr TypedWhichId<SfxBoolItem>  SCHATTR_TEXT_STACKED (SCHATTR_TEXT_START + 1);
+constexpr sal_uInt16                 SCHATTR_TEXT_END     (SCHATTR_TEXT_STACKED);
 
 // statistic
-#define SCHATTR_STAT_START                  (SCHATTR_TEXT_END + 1)
-#define SCHATTR_STAT_AVERAGE                TypedWhichId<SfxBoolItem>(SCHATTR_STAT_START)
-#define SCHATTR_STAT_KIND_ERROR             TypedWhichId<SvxChartKindErrorItem>(SCHATTR_STAT_START + 1)
-#define SCHATTR_STAT_PERCENT                TypedWhichId<SvxDoubleItem>(SCHATTR_STAT_START + 2)
-#define SCHATTR_STAT_BIGERROR               TypedWhichId<SvxDoubleItem>(SCHATTR_STAT_START + 3)
-#define SCHATTR_STAT_CONSTPLUS              TypedWhichId<SvxDoubleItem>(SCHATTR_STAT_START + 4)
-#define SCHATTR_STAT_CONSTMINUS             TypedWhichId<SvxDoubleItem>(SCHATTR_STAT_START + 5)
-#define SCHATTR_STAT_INDICATE               TypedWhichId<SvxChartIndicateItem>(SCHATTR_STAT_START + 6)
-#define SCHATTR_STAT_RANGE_POS              TypedWhichId<SfxStringItem>(SCHATTR_STAT_START + 7)
-#define SCHATTR_STAT_RANGE_NEG              TypedWhichId<SfxStringItem>(SCHATTR_STAT_START + 8)
-#define SCHATTR_STAT_ERRORBAR_TYPE          TypedWhichId<SfxBoolItem>(SCHATTR_STAT_START + 9)
-#define SCHATTR_STAT_END                    SCHATTR_STAT_ERRORBAR_TYPE
+constexpr sal_uInt16                          SCHATTR_STAT_START         (SCHATTR_TEXT_END + 1);
+constexpr TypedWhichId<SfxBoolItem>           SCHATTR_STAT_AVERAGE       (SCHATTR_STAT_START);
+constexpr TypedWhichId<SvxChartKindErrorItem> SCHATTR_STAT_KIND_ERROR    (SCHATTR_STAT_START + 1);
+constexpr TypedWhichId<SvxDoubleItem>         SCHATTR_STAT_PERCENT       (SCHATTR_STAT_START + 2);
+constexpr TypedWhichId<SvxDoubleItem>         SCHATTR_STAT_BIGERROR      (SCHATTR_STAT_START + 3);
+constexpr TypedWhichId<SvxDoubleItem>         SCHATTR_STAT_CONSTPLUS     (SCHATTR_STAT_START + 4);
+constexpr TypedWhichId<SvxDoubleItem>         SCHATTR_STAT_CONSTMINUS    (SCHATTR_STAT_START + 5);
+constexpr TypedWhichId<SvxChartIndicateItem>  SCHATTR_STAT_INDICATE      (SCHATTR_STAT_START + 6);
+constexpr TypedWhichId<SfxStringItem>         SCHATTR_STAT_RANGE_POS     (SCHATTR_STAT_START + 7);
+constexpr TypedWhichId<SfxStringItem>         SCHATTR_STAT_RANGE_NEG     (SCHATTR_STAT_START + 8);
+constexpr TypedWhichId<SfxBoolItem>           SCHATTR_STAT_ERRORBAR_TYPE (SCHATTR_STAT_START + 9);
+constexpr sal_uInt16                          SCHATTR_STAT_END           (SCHATTR_STAT_ERRORBAR_TYPE);
 
 // these attributes are for replacement of enum eChartStyle
 
-#define SCHATTR_STYLE_START             ( SCHATTR_STAT_END +1 )
+constexpr sal_uInt16                 SCHATTR_STYLE_START    (SCHATTR_STAT_END    + 1);
 
 // for whole chart
-#define SCHATTR_STYLE_DEEP              TypedWhichId<SfxBoolItem>( SCHATTR_STYLE_START     )
-#define SCHATTR_STYLE_3D                TypedWhichId<SfxBoolItem>( SCHATTR_STYLE_START + 1 )
-#define SCHATTR_STYLE_VERTICAL          TypedWhichId<SfxBoolItem>( SCHATTR_STYLE_START + 2 )
+constexpr TypedWhichId<SfxBoolItem>  SCHATTR_STYLE_DEEP     (SCHATTR_STYLE_START    );
+constexpr TypedWhichId<SfxBoolItem>  SCHATTR_STYLE_3D       (SCHATTR_STYLE_START + 1);
+constexpr TypedWhichId<SfxBoolItem>  SCHATTR_STYLE_VERTICAL (SCHATTR_STYLE_START + 2);
 
 // also for series
-#define SCHATTR_STYLE_BASETYPE          TypedWhichId<SfxInt32Item>( SCHATTR_STYLE_START + 3 )// Line,Area,...,Pie
-#define SCHATTR_STYLE_LINES             TypedWhichId<SfxBoolItem>( SCHATTR_STYLE_START + 4 )// draw line
-#define SCHATTR_STYLE_PERCENT           TypedWhichId<SfxBoolItem>( SCHATTR_STYLE_START + 5 )
-#define SCHATTR_STYLE_STACKED           TypedWhichId<SfxBoolItem>( SCHATTR_STYLE_START + 6 )
-#define SCHATTR_STYLE_SPLINES           TypedWhichId<SfxInt32Item>( SCHATTR_STYLE_START + 7 )
+constexpr TypedWhichId<SfxInt32Item> SCHATTR_STYLE_BASETYPE (SCHATTR_STYLE_START + 3);// Line,Area,...,Pie
+constexpr TypedWhichId<SfxBoolItem>  SCHATTR_STYLE_LINES    (SCHATTR_STYLE_START + 4);// draw line
+constexpr TypedWhichId<SfxBoolItem>  SCHATTR_STYLE_PERCENT  (SCHATTR_STYLE_START + 5);
+constexpr TypedWhichId<SfxBoolItem>  SCHATTR_STYLE_STACKED  (SCHATTR_STYLE_START + 6);
+constexpr TypedWhichId<SfxInt32Item> SCHATTR_STYLE_SPLINES  (SCHATTR_STYLE_START + 7);
 
 // also for data point
-#define SCHATTR_STYLE_SYMBOL            TypedWhichId<SfxInt32Item>( SCHATTR_STYLE_START + 8 )
-#define SCHATTR_STYLE_SHAPE             TypedWhichId<SfxInt32Item>( SCHATTR_STYLE_START + 9 )
-#define SCHATTR_STYLE_END               ( SCHATTR_STYLE_SHAPE )
+constexpr TypedWhichId<SfxInt32Item> SCHATTR_STYLE_SYMBOL   (SCHATTR_STYLE_START + 8);
+constexpr TypedWhichId<SfxInt32Item> SCHATTR_STYLE_SHAPE    (SCHATTR_STYLE_START + 9);
+constexpr sal_uInt16                 SCHATTR_STYLE_END      (SCHATTR_STYLE_SHAPE    );
 
-#define SCHATTR_AXIS                    TypedWhichId<SfxInt32Item>(SCHATTR_STYLE_END + 1)// see chtmodel.hxx defines CHART_AXIS_PRIMARY_X, etc.
+constexpr TypedWhichId<SfxInt32Item>          SCHATTR_AXIS                                 (SCHATTR_STYLE_END + 1); // see chtmodel.hxx defines CHART_AXIS_PRIMARY_X, etc.
 //Re-mapped:
-#define SCHATTR_AXIS_START              (SCHATTR_AXIS + 1)
+constexpr sal_uInt16                          SCHATTR_AXIS_START                           (SCHATTR_AXIS + 1);
 //axis scale
-#define SCHATTR_AXISTYPE                TypedWhichId<SfxInt32Item>(SCHATTR_AXIS_START)
-#define SCHATTR_AXIS_REVERSE            TypedWhichId<SfxBoolItem>(SCHATTR_AXIS_START + 1)
-#define SCHATTR_AXIS_AUTO_MIN           TypedWhichId<SfxBoolItem>(SCHATTR_AXIS_START + 2)
-#define SCHATTR_AXIS_MIN                TypedWhichId<SvxDoubleItem>(SCHATTR_AXIS_START + 3)
-#define SCHATTR_AXIS_AUTO_MAX           TypedWhichId<SfxBoolItem>(SCHATTR_AXIS_START + 4)
-#define SCHATTR_AXIS_MAX                TypedWhichId<SvxDoubleItem>(SCHATTR_AXIS_START + 5)
-#define SCHATTR_AXIS_AUTO_STEP_MAIN     TypedWhichId<SfxBoolItem>(SCHATTR_AXIS_START + 6)
-#define SCHATTR_AXIS_STEP_MAIN          TypedWhichId<SvxDoubleItem>(SCHATTR_AXIS_START + 7)
-#define SCHATTR_AXIS_MAIN_TIME_UNIT     TypedWhichId<SfxInt32Item>(SCHATTR_AXIS_START + 8)
-#define SCHATTR_AXIS_AUTO_STEP_HELP     TypedWhichId<SfxBoolItem>(SCHATTR_AXIS_START + 9)
-#define SCHATTR_AXIS_STEP_HELP          TypedWhichId<SfxInt32Item>(SCHATTR_AXIS_START + 10)
-#define SCHATTR_AXIS_HELP_TIME_UNIT     TypedWhichId<SfxInt32Item>(SCHATTR_AXIS_START + 11)
-#define SCHATTR_AXIS_AUTO_TIME_RESOLUTION   TypedWhichId<SfxBoolItem>(SCHATTR_AXIS_START + 12)
-#define SCHATTR_AXIS_TIME_RESOLUTION    TypedWhichId<SfxInt32Item>(SCHATTR_AXIS_START + 13)
-#define SCHATTR_AXIS_LOGARITHM          TypedWhichId<SfxBoolItem>(SCHATTR_AXIS_START + 14)
-#define SCHATTR_AXIS_AUTO_DATEAXIS      TypedWhichId<SfxBoolItem>(SCHATTR_AXIS_START + 15)
-#define SCHATTR_AXIS_ALLOW_DATEAXIS     TypedWhichId<SfxBoolItem>(SCHATTR_AXIS_START + 16)
-#define SCHATTR_AXIS_AUTO_ORIGIN        TypedWhichId<SfxBoolItem>(SCHATTR_AXIS_START + 17)
-#define SCHATTR_AXIS_ORIGIN             TypedWhichId<SvxDoubleItem>(SCHATTR_AXIS_START + 18)
+constexpr TypedWhichId<SfxInt32Item>          SCHATTR_AXISTYPE                             (SCHATTR_AXIS_START);
+constexpr TypedWhichId<SfxBoolItem>           SCHATTR_AXIS_REVERSE                         (SCHATTR_AXIS_START + 1);
+constexpr TypedWhichId<SfxBoolItem>           SCHATTR_AXIS_AUTO_MIN                        (SCHATTR_AXIS_START + 2);
+constexpr TypedWhichId<SvxDoubleItem>         SCHATTR_AXIS_MIN                             (SCHATTR_AXIS_START + 3);
+constexpr TypedWhichId<SfxBoolItem>           SCHATTR_AXIS_AUTO_MAX                        (SCHATTR_AXIS_START + 4);
+constexpr TypedWhichId<SvxDoubleItem>         SCHATTR_AXIS_MAX                             (SCHATTR_AXIS_START + 5);
+constexpr TypedWhichId<SfxBoolItem>           SCHATTR_AXIS_AUTO_STEP_MAIN                  (SCHATTR_AXIS_START + 6);
+constexpr TypedWhichId<SvxDoubleItem>         SCHATTR_AXIS_STEP_MAIN                       (SCHATTR_AXIS_START + 7);
+constexpr TypedWhichId<SfxInt32Item>          SCHATTR_AXIS_MAIN_TIME_UNIT                  (SCHATTR_AXIS_START + 8);
+constexpr TypedWhichId<SfxBoolItem>           SCHATTR_AXIS_AUTO_STEP_HELP                  (SCHATTR_AXIS_START + 9);
+constexpr TypedWhichId<SfxInt32Item>          SCHATTR_AXIS_STEP_HELP                       (SCHATTR_AXIS_START + 10);
+constexpr TypedWhichId<SfxInt32Item>          SCHATTR_AXIS_HELP_TIME_UNIT                  (SCHATTR_AXIS_START + 11);
+constexpr TypedWhichId<SfxBoolItem>           SCHATTR_AXIS_AUTO_TIME_RESOLUTION            (SCHATTR_AXIS_START + 12);
+constexpr TypedWhichId<SfxInt32Item>          SCHATTR_AXIS_TIME_RESOLUTION                 (SCHATTR_AXIS_START + 13);
+constexpr TypedWhichId<SfxBoolItem>           SCHATTR_AXIS_LOGARITHM                       (SCHATTR_AXIS_START + 14);
+constexpr TypedWhichId<SfxBoolItem>           SCHATTR_AXIS_AUTO_DATEAXIS                   (SCHATTR_AXIS_START + 15);
+constexpr TypedWhichId<SfxBoolItem>           SCHATTR_AXIS_ALLOW_DATEAXIS                  (SCHATTR_AXIS_START + 16);
+constexpr TypedWhichId<SfxBoolItem>           SCHATTR_AXIS_AUTO_ORIGIN                     (SCHATTR_AXIS_START + 17);
+constexpr TypedWhichId<SvxDoubleItem>         SCHATTR_AXIS_ORIGIN                          (SCHATTR_AXIS_START + 18);
 //axis position
-#define SCHATTR_AXIS_POSITION_START     (SCHATTR_AXIS_ORIGIN +1)
-#define SCHATTR_AXIS_TICKS              TypedWhichId<SfxInt32Item>(SCHATTR_AXIS_POSITION_START)
-#define SCHATTR_AXIS_HELPTICKS          TypedWhichId<SfxInt32Item>(SCHATTR_AXIS_POSITION_START + 1)
-#define SCHATTR_AXIS_POSITION           TypedWhichId<SfxInt32Item>(SCHATTR_AXIS_POSITION_START + 2)
-#define SCHATTR_AXIS_POSITION_VALUE     TypedWhichId<SvxDoubleItem>(SCHATTR_AXIS_POSITION_START + 3)
-#define SCHATTR_AXIS_CROSSING_MAIN_AXIS_NUMBERFORMAT    TypedWhichId<SfxUInt32Item>(SCHATTR_AXIS_POSITION_START + 4)
-#define SCHATTR_AXIS_LABEL_POSITION     TypedWhichId<SfxInt32Item>(SCHATTR_AXIS_POSITION_START + 5)
-#define SCHATTR_AXIS_MARK_POSITION      TypedWhichId<SfxInt32Item>(SCHATTR_AXIS_POSITION_START + 6)
+constexpr sal_uInt16                          SCHATTR_AXIS_POSITION_START                  (SCHATTR_AXIS_ORIGIN + 1);
+constexpr TypedWhichId<SfxInt32Item>          SCHATTR_AXIS_TICKS                           (SCHATTR_AXIS_POSITION_START);
+constexpr TypedWhichId<SfxInt32Item>          SCHATTR_AXIS_HELPTICKS                       (SCHATTR_AXIS_POSITION_START + 1);
+constexpr TypedWhichId<SfxInt32Item>          SCHATTR_AXIS_POSITION                        (SCHATTR_AXIS_POSITION_START + 2);
+constexpr TypedWhichId<SvxDoubleItem>         SCHATTR_AXIS_POSITION_VALUE                  (SCHATTR_AXIS_POSITION_START + 3);
+constexpr TypedWhichId<SfxUInt32Item>         SCHATTR_AXIS_CROSSING_MAIN_AXIS_NUMBERFORMAT (SCHATTR_AXIS_POSITION_START + 4);
+constexpr TypedWhichId<SfxInt32Item>          SCHATTR_AXIS_LABEL_POSITION                  (SCHATTR_AXIS_POSITION_START + 5);
+constexpr TypedWhichId<SfxInt32Item>          SCHATTR_AXIS_MARK_POSITION                   (SCHATTR_AXIS_POSITION_START + 6);
 //axis label
-#define SCHATTR_AXIS_LABEL_START        (SCHATTR_AXIS_MARK_POSITION +1)
-#define SCHATTR_AXIS_SHOWDESCR          TypedWhichId<SfxBoolItem>(SCHATTR_AXIS_LABEL_START)
-#define SCHATTR_AXIS_LABEL_ORDER        TypedWhichId<SvxChartTextOrderItem>(SCHATTR_AXIS_LABEL_START + 1)
-#define SCHATTR_AXIS_LABEL_OVERLAP      TypedWhichId<SfxBoolItem>(SCHATTR_AXIS_LABEL_START + 2)
-#define SCHATTR_AXIS_LABEL_BREAK        TypedWhichId<SfxBoolItem>(SCHATTR_AXIS_LABEL_START + 3)
-#define SCHATTR_AXIS_LABEL_END          SCHATTR_AXIS_LABEL_BREAK
+constexpr sal_uInt16                          SCHATTR_AXIS_LABEL_START                     (SCHATTR_AXIS_MARK_POSITION + 1);
+constexpr TypedWhichId<SfxBoolItem>           SCHATTR_AXIS_SHOWDESCR                       (SCHATTR_AXIS_LABEL_START);
+constexpr TypedWhichId<SvxChartTextOrderItem> SCHATTR_AXIS_LABEL_ORDER                     (SCHATTR_AXIS_LABEL_START + 1);
+constexpr TypedWhichId<SfxBoolItem>           SCHATTR_AXIS_LABEL_OVERLAP                   (SCHATTR_AXIS_LABEL_START + 2);
+constexpr TypedWhichId<SfxBoolItem>           SCHATTR_AXIS_LABEL_BREAK                     (SCHATTR_AXIS_LABEL_START + 3);
+constexpr sal_uInt16                          SCHATTR_AXIS_LABEL_END                       (SCHATTR_AXIS_LABEL_BREAK);
 
-#define SCHATTR_AXIS_END                SCHATTR_AXIS_LABEL_END
+constexpr sal_uInt16                          SCHATTR_AXIS_END                             (SCHATTR_AXIS_LABEL_END);
 
-#define SCHATTR_SYMBOL_BRUSH            TypedWhichId<SvxBrushItem>(SCHATTR_AXIS_END + 1)
-#define SCHATTR_STOCK_VOLUME            TypedWhichId<SfxBoolItem>(SCHATTR_AXIS_END + 2)
-#define SCHATTR_STOCK_UPDOWN            TypedWhichId<SfxBoolItem>(SCHATTR_AXIS_END + 3)
-#define SCHATTR_SYMBOL_SIZE             TypedWhichId<SvxSizeItem>(SCHATTR_AXIS_END + 4)
-#define SCHATTR_HIDE_DATA_POINT_LEGEND_ENTRY    TypedWhichId<SfxBoolItem>(SCHATTR_AXIS_END + 5)
+constexpr TypedWhichId<SvxBrushItem> SCHATTR_SYMBOL_BRUSH                 (SCHATTR_AXIS_END + 1);
+constexpr TypedWhichId<SfxBoolItem>  SCHATTR_STOCK_VOLUME                 (SCHATTR_AXIS_END + 2);
+constexpr TypedWhichId<SfxBoolItem>  SCHATTR_STOCK_UPDOWN                 (SCHATTR_AXIS_END + 3);
+constexpr TypedWhichId<SvxSizeItem>  SCHATTR_SYMBOL_SIZE                  (SCHATTR_AXIS_END + 4);
+constexpr TypedWhichId<SfxBoolItem>  SCHATTR_HIDE_DATA_POINT_LEGEND_ENTRY (SCHATTR_AXIS_END + 5);
 
 // non persistent items (binary format)
-#define SCHATTR_CHARTTYPE_START         (SCHATTR_HIDE_DATA_POINT_LEGEND_ENTRY + 1)
+constexpr sal_uInt16                       SCHATTR_CHARTTYPE_START                    (SCHATTR_HIDE_DATA_POINT_LEGEND_ENTRY + 1);
 
 // new from New Chart
-#define SCHATTR_BAR_OVERLAP             TypedWhichId<SfxInt32Item>(SCHATTR_CHARTTYPE_START )
-#define SCHATTR_BAR_GAPWIDTH            TypedWhichId<SfxInt32Item>(SCHATTR_CHARTTYPE_START + 1)
-#define SCHATTR_BAR_CONNECT             TypedWhichId<SfxBoolItem>(SCHATTR_CHARTTYPE_START + 2)
-#define SCHATTR_NUM_OF_LINES_FOR_BAR    TypedWhichId<SfxInt32Item>(SCHATTR_CHARTTYPE_START + 3)
-#define SCHATTR_SPLINE_ORDER            TypedWhichId<SfxInt32Item>(SCHATTR_CHARTTYPE_START + 4)
-#define SCHATTR_SPLINE_RESOLUTION       TypedWhichId<SfxInt32Item>(SCHATTR_CHARTTYPE_START + 5)
-#define SCHATTR_GROUP_BARS_PER_AXIS     TypedWhichId<SfxBoolItem>(SCHATTR_CHARTTYPE_START + 6)
-#define SCHATTR_STARTING_ANGLE          TypedWhichId<SfxInt32Item>(SCHATTR_CHARTTYPE_START + 7)
-#define SCHATTR_CLOCKWISE               TypedWhichId<SfxBoolItem>(SCHATTR_CHARTTYPE_START + 8)
-#define SCHATTR_MISSING_VALUE_TREATMENT     TypedWhichId<SfxInt32Item>(SCHATTR_CHARTTYPE_START + 9)
-#define SCHATTR_AVAILABLE_MISSING_VALUE_TREATMENTS TypedWhichId<SfxIntegerListItem>(SCHATTR_CHARTTYPE_START + 10)
-#define SCHATTR_INCLUDE_HIDDEN_CELLS    TypedWhichId<SfxBoolItem>(SCHATTR_CHARTTYPE_START + 11)
-#define SCHATTR_HIDE_LEGEND_ENTRY       TypedWhichId<SfxBoolItem>(SCHATTR_CHARTTYPE_START + 12)
-
-#define SCHATTR_CHARTTYPE_END           SCHATTR_HIDE_LEGEND_ENTRY
+constexpr TypedWhichId<SfxInt32Item>       SCHATTR_BAR_OVERLAP                        (SCHATTR_CHARTTYPE_START );
+constexpr TypedWhichId<SfxInt32Item>       SCHATTR_BAR_GAPWIDTH                       (SCHATTR_CHARTTYPE_START + 1);
+constexpr TypedWhichId<SfxBoolItem>        SCHATTR_BAR_CONNECT                        (SCHATTR_CHARTTYPE_START + 2);
+constexpr TypedWhichId<SfxInt32Item>       SCHATTR_NUM_OF_LINES_FOR_BAR               (SCHATTR_CHARTTYPE_START + 3);
+constexpr TypedWhichId<SfxInt32Item>       SCHATTR_SPLINE_ORDER                       (SCHATTR_CHARTTYPE_START + 4);
+constexpr TypedWhichId<SfxInt32Item>       SCHATTR_SPLINE_RESOLUTION                  (SCHATTR_CHARTTYPE_START + 5);
+constexpr TypedWhichId<SfxBoolItem>        SCHATTR_GROUP_BARS_PER_AXIS                (SCHATTR_CHARTTYPE_START + 6);
+constexpr TypedWhichId<SfxInt32Item>       SCHATTR_STARTING_ANGLE                     (SCHATTR_CHARTTYPE_START + 7);
+constexpr TypedWhichId<SfxBoolItem>        SCHATTR_CLOCKWISE                          (SCHATTR_CHARTTYPE_START + 8);
+constexpr TypedWhichId<SfxInt32Item>       SCHATTR_MISSING_VALUE_TREATMENT            (SCHATTR_CHARTTYPE_START + 9);
+constexpr TypedWhichId<SfxIntegerListItem> SCHATTR_AVAILABLE_MISSING_VALUE_TREATMENTS (SCHATTR_CHARTTYPE_START + 10);
+constexpr TypedWhichId<SfxBoolItem>        SCHATTR_INCLUDE_HIDDEN_CELLS               (SCHATTR_CHARTTYPE_START + 11);
+constexpr TypedWhichId<SfxBoolItem>        SCHATTR_HIDE_LEGEND_ENTRY                  (SCHATTR_CHARTTYPE_START + 12);
+
+constexpr sal_uInt16                       SCHATTR_CHARTTYPE_END                      (SCHATTR_HIDE_LEGEND_ENTRY);
 
 // items for transporting information to dialogs
-#define SCHATTR_MISC_START              (SCHATTR_CHARTTYPE_END + 1)
-#define SCHATTR_AXIS_FOR_ALL_SERIES     TypedWhichId<SfxInt32Item>(SCHATTR_MISC_START)
-#define SCHATTR_MISC_END                 SCHATTR_AXIS_FOR_ALL_SERIES
+constexpr sal_uInt16                 SCHATTR_MISC_START          (SCHATTR_CHARTTYPE_END + 1);
+constexpr TypedWhichId<SfxInt32Item> SCHATTR_AXIS_FOR_ALL_SERIES (SCHATTR_MISC_START);
+constexpr sal_uInt16                 SCHATTR_MISC_END            (SCHATTR_AXIS_FOR_ALL_SERIES);
 
 // regression curve
-#define SCHATTR_REGRESSION_START                (SCHATTR_MISC_END + 1)
-#define SCHATTR_REGRESSION_TYPE                 TypedWhichId<SvxChartRegressItem>(SCHATTR_REGRESSION_START)
-#define SCHATTR_REGRESSION_SHOW_EQUATION        TypedWhichId<SfxBoolItem>(SCHATTR_REGRESSION_START + 1)
-#define SCHATTR_REGRESSION_SHOW_COEFF           TypedWhichId<SfxBoolItem>(SCHATTR_REGRESSION_START + 2)
-#define SCHATTR_REGRESSION_DEGREE               TypedWhichId<SfxInt32Item>(SCHATTR_REGRESSION_START + 3)
-#define SCHATTR_REGRESSION_PERIOD               TypedWhichId<SfxInt32Item>(SCHATTR_REGRESSION_START + 4)
-#define SCHATTR_REGRESSION_EXTRAPOLATE_FORWARD  TypedWhichId<SvxDoubleItem>(SCHATTR_REGRESSION_START + 5)
-#define SCHATTR_REGRESSION_EXTRAPOLATE_BACKWARD TypedWhichId<SvxDoubleItem>(SCHATTR_REGRESSION_START + 6)
-#define SCHATTR_REGRESSION_SET_INTERCEPT        TypedWhichId<SfxBoolItem>(SCHATTR_REGRESSION_START + 7)
-#define SCHATTR_REGRESSION_INTERCEPT_VALUE      TypedWhichId<SvxDoubleItem>(SCHATTR_REGRESSION_START + 8)
-#define SCHATTR_REGRESSION_CURVE_NAME           TypedWhichId<SfxStringItem>(SCHATTR_REGRESSION_START + 9)
-#define SCHATTR_REGRESSION_XNAME                TypedWhichId<SfxStringItem>(SCHATTR_REGRESSION_START + 10)
-#define SCHATTR_REGRESSION_YNAME                TypedWhichId<SfxStringItem>(SCHATTR_REGRESSION_START + 11)
-#define SCHATTR_REGRESSION_END                   SCHATTR_REGRESSION_YNAME
-
-#define SCHATTR_END                     SCHATTR_REGRESSION_END
+constexpr sal_uInt16                        SCHATTR_REGRESSION_START                (SCHATTR_MISC_END + 1);
+constexpr TypedWhichId<SvxChartRegressItem> SCHATTR_REGRESSION_TYPE                 (SCHATTR_REGRESSION_START);
+constexpr TypedWhichId<SfxBoolItem>         SCHATTR_REGRESSION_SHOW_EQUATION        (SCHATTR_REGRESSION_START + 1);
+constexpr TypedWhichId<SfxBoolItem>         SCHATTR_REGRESSION_SHOW_COEFF           (SCHATTR_REGRESSION_START + 2);
+constexpr TypedWhichId<SfxInt32Item>        SCHATTR_REGRESSION_DEGREE               (SCHATTR_REGRESSION_START + 3);
+constexpr TypedWhichId<SfxInt32Item>        SCHATTR_REGRESSION_PERIOD               (SCHATTR_REGRESSION_START + 4);
+constexpr TypedWhichId<SvxDoubleItem>       SCHATTR_REGRESSION_EXTRAPOLATE_FORWARD  (SCHATTR_REGRESSION_START + 5);
+constexpr TypedWhichId<SvxDoubleItem>       SCHATTR_REGRESSION_EXTRAPOLATE_BACKWARD (SCHATTR_REGRESSION_START + 6);
+constexpr TypedWhichId<SfxBoolItem>         SCHATTR_REGRESSION_SET_INTERCEPT        (SCHATTR_REGRESSION_START + 7);
+constexpr TypedWhichId<SvxDoubleItem>       SCHATTR_REGRESSION_INTERCEPT_VALUE      (SCHATTR_REGRESSION_START + 8);
+constexpr TypedWhichId<SfxStringItem>       SCHATTR_REGRESSION_CURVE_NAME           (SCHATTR_REGRESSION_START + 9);
+constexpr TypedWhichId<SfxStringItem>       SCHATTR_REGRESSION_XNAME                (SCHATTR_REGRESSION_START + 10);
+constexpr TypedWhichId<SfxStringItem>       SCHATTR_REGRESSION_YNAME                (SCHATTR_REGRESSION_START + 11);
+constexpr sal_uInt16                        SCHATTR_REGRESSION_END                  (SCHATTR_REGRESSION_YNAME);
+
+constexpr sal_uInt16 SCHATTR_END (SCHATTR_REGRESSION_END);
 
 // values for Items
 
diff --git a/include/editeng/eeitem.hxx b/include/editeng/eeitem.hxx
index 060fa9a6f1a2..667890bf58c4 100644
--- a/include/editeng/eeitem.hxx
+++ b/include/editeng/eeitem.hxx
@@ -58,6 +58,9 @@ class SvxWeightItem;
 class SvxWordLineModeItem;
 class SvxBulletItem;
 class SvxNumBulletItem;
+class SvxJustifyMethodItem;
+class SvxVerJustifyItem;
+class SfxVoidItem;
 
 /*
  * NOTE: Changes in this file will probably require
@@ -65,79 +68,79 @@ class SvxNumBulletItem;
  *        as well.
 */
 
-#define EE_ITEMS_START              (OWN_ATTR_VALUE_END+1)
+constexpr sal_uInt16 EE_ITEMS_START(OWN_ATTR_VALUE_END + 1);
 
 // Paragraph attributes:
-#define EE_PARA_START               (EE_ITEMS_START+0)
-#define EE_PARA_WRITINGDIR          TypedWhichId<SvxFrameDirectionItem>(EE_PARA_START+0)
-#define EE_PARA_XMLATTRIBS          TypedWhichId<SvXMLAttrContainerItem>(EE_PARA_START+1)
-#define EE_PARA_HANGINGPUNCTUATION  TypedWhichId<SvxHangingPunctuationItem>(EE_PARA_START+2)
-#define EE_PARA_FORBIDDENRULES      TypedWhichId<SvxForbiddenRuleItem>(EE_PARA_START+3)
-#define EE_PARA_ASIANCJKSPACING     TypedWhichId<SvxScriptSpaceItem>(EE_PARA_START+4)
-#define EE_PARA_NUMBULLET           TypedWhichId<SvxNumBulletItem>(EE_PARA_START+5)
-#define EE_PARA_HYPHENATE           TypedWhichId<SfxBoolItem>(EE_PARA_START+6)
-#define EE_PARA_HYPHENATE_NO_CAPS   TypedWhichId<SfxBoolItem>(EE_PARA_START+7)
-#define EE_PARA_BULLETSTATE         TypedWhichId<SfxBoolItem>(EE_PARA_START+8)
-#define EE_PARA_OUTLLRSPACE         TypedWhichId<SvxLRSpaceItem>(EE_PARA_START+9)
-#define EE_PARA_OUTLLEVEL           TypedWhichId<SfxInt16Item>(EE_PARA_START+10)
-#define EE_PARA_BULLET              TypedWhichId<SvxBulletItem>(EE_PARA_START+11)
-#define EE_PARA_LRSPACE             TypedWhichId<SvxLRSpaceItem>(EE_PARA_START+12)
-#define EE_PARA_ULSPACE             TypedWhichId<SvxULSpaceItem>(EE_PARA_START+13)
-#define EE_PARA_SBL                 TypedWhichId<SvxLineSpacingItem>(EE_PARA_START+14)
-#define EE_PARA_JUST                TypedWhichId<SvxAdjustItem>(EE_PARA_START+15)
-#define EE_PARA_TABS                TypedWhichId<SvxTabStopItem>(EE_PARA_START+16)
-#define EE_PARA_JUST_METHOD         TypedWhichId<SvxJustifyMethodItem>(EE_PARA_START+17)
-#define EE_PARA_VER_JUST            TypedWhichId<SvxVerJustifyItem>(EE_PARA_START+18)
-#define EE_PARA_END                 (EE_PARA_START+18)
+constexpr sal_uInt16                              EE_PARA_START              (EE_ITEMS_START + 0);
+constexpr TypedWhichId<SvxFrameDirectionItem>     EE_PARA_WRITINGDIR         (EE_PARA_START+0);
+constexpr TypedWhichId<SvXMLAttrContainerItem>    EE_PARA_XMLATTRIBS         (EE_PARA_START+1);
+constexpr TypedWhichId<SvxHangingPunctuationItem> EE_PARA_HANGINGPUNCTUATION (EE_PARA_START+2);
+constexpr TypedWhichId<SvxForbiddenRuleItem>      EE_PARA_FORBIDDENRULES     (EE_PARA_START+3);
+constexpr TypedWhichId<SvxScriptSpaceItem>        EE_PARA_ASIANCJKSPACING    (EE_PARA_START+4);
+constexpr TypedWhichId<SvxNumBulletItem>          EE_PARA_NUMBULLET          (EE_PARA_START+5);
+constexpr TypedWhichId<SfxBoolItem>               EE_PARA_HYPHENATE          (EE_PARA_START+6);
+constexpr TypedWhichId<SfxBoolItem>               EE_PARA_HYPHENATE_NO_CAPS  (EE_PARA_START+7);
+constexpr TypedWhichId<SfxBoolItem>               EE_PARA_BULLETSTATE        (EE_PARA_START+8);
+constexpr TypedWhichId<SvxLRSpaceItem>            EE_PARA_OUTLLRSPACE        (EE_PARA_START+9);
+constexpr TypedWhichId<SfxInt16Item>              EE_PARA_OUTLLEVEL          (EE_PARA_START+10);
+constexpr TypedWhichId<SvxBulletItem>             EE_PARA_BULLET             (EE_PARA_START+11);
+constexpr TypedWhichId<SvxLRSpaceItem>            EE_PARA_LRSPACE            (EE_PARA_START+12);
+constexpr TypedWhichId<SvxULSpaceItem>            EE_PARA_ULSPACE            (EE_PARA_START+13);
+constexpr TypedWhichId<SvxLineSpacingItem>        EE_PARA_SBL                (EE_PARA_START+14);
+constexpr TypedWhichId<SvxAdjustItem>             EE_PARA_JUST               (EE_PARA_START+15);
+constexpr TypedWhichId<SvxTabStopItem>            EE_PARA_TABS               (EE_PARA_START+16);
+constexpr TypedWhichId<SvxJustifyMethodItem>      EE_PARA_JUST_METHOD        (EE_PARA_START+17);
+constexpr TypedWhichId<SvxVerJustifyItem>         EE_PARA_VER_JUST           (EE_PARA_START+18);
+constexpr sal_uInt16                              EE_PARA_END                (EE_PARA_START + 18);
 
 // Character attributes:
-#define EE_CHAR_START               (EE_PARA_END+1)
-#define EE_CHAR_COLOR               TypedWhichId<SvxColorItem>(EE_CHAR_START+0)
-#define EE_CHAR_FONTINFO            TypedWhichId<SvxFontItem>(EE_CHAR_START+1)
-#define EE_CHAR_FONTHEIGHT          TypedWhichId<SvxFontHeightItem>(EE_CHAR_START+2)
-#define EE_CHAR_FONTWIDTH           TypedWhichId<SvxCharScaleWidthItem>(EE_CHAR_START+3)
-#define EE_CHAR_WEIGHT              TypedWhichId<SvxWeightItem>(EE_CHAR_START+4)
-#define EE_CHAR_UNDERLINE           TypedWhichId<SvxUnderlineItem>(EE_CHAR_START+5)
-#define EE_CHAR_STRIKEOUT           TypedWhichId<SvxCrossedOutItem>(EE_CHAR_START+6)
-#define EE_CHAR_ITALIC              TypedWhichId<SvxPostureItem>(EE_CHAR_START+7)
-#define EE_CHAR_OUTLINE             TypedWhichId<SvxContourItem>(EE_CHAR_START+8)
-#define EE_CHAR_SHADOW              TypedWhichId<SvxShadowedItem>(EE_CHAR_START+9)
-#define EE_CHAR_ESCAPEMENT          TypedWhichId<SvxEscapementItem>(EE_CHAR_START+10)
-#define EE_CHAR_PAIRKERNING         TypedWhichId<SvxAutoKernItem>(EE_CHAR_START+11)
-#define EE_CHAR_KERNING             TypedWhichId<SvxKerningItem>(EE_CHAR_START+12)
-#define EE_CHAR_WLM                 TypedWhichId<SvxWordLineModeItem>(EE_CHAR_START+13)
-#define EE_CHAR_LANGUAGE            TypedWhichId<SvxLanguageItem>(EE_CHAR_START+14)
-#define EE_CHAR_LANGUAGE_CJK        TypedWhichId<SvxLanguageItem>(EE_CHAR_START+15)
-#define EE_CHAR_LANGUAGE_CTL        TypedWhichId<SvxLanguageItem>(EE_CHAR_START+16)
-#define EE_CHAR_FONTINFO_CJK        TypedWhichId<SvxFontItem>(EE_CHAR_START+17)
-#define EE_CHAR_FONTINFO_CTL        TypedWhichId<SvxFontItem>(EE_CHAR_START+18)
-#define EE_CHAR_FONTHEIGHT_CJK      TypedWhichId<SvxFontHeightItem>(EE_CHAR_START+19)
-#define EE_CHAR_FONTHEIGHT_CTL      TypedWhichId<SvxFontHeightItem>(EE_CHAR_START+20)
-#define EE_CHAR_WEIGHT_CJK          TypedWhichId<SvxWeightItem>(EE_CHAR_START+21)
-#define EE_CHAR_WEIGHT_CTL          TypedWhichId<SvxWeightItem>(EE_CHAR_START+22)
-#define EE_CHAR_ITALIC_CJK          TypedWhichId<SvxPostureItem>(EE_CHAR_START+23)
-#define EE_CHAR_ITALIC_CTL          TypedWhichId<SvxPostureItem>(EE_CHAR_START+24)
-#define EE_CHAR_EMPHASISMARK        TypedWhichId<SvxEmphasisMarkItem>(EE_CHAR_START+25)
-#define EE_CHAR_RELIEF              TypedWhichId<SvxCharReliefItem>(EE_CHAR_START+26)
-#define EE_CHAR_RUBI_DUMMY          TypedWhichId<SfxVoidItem>(EE_CHAR_START+27)
-#define EE_CHAR_XMLATTRIBS          TypedWhichId<SvXMLAttrContainerItem>(EE_CHAR_START+28)
-#define EE_CHAR_OVERLINE            TypedWhichId<SvxOverlineItem>(EE_CHAR_START+29)
-#define EE_CHAR_CASEMAP             TypedWhichId<SvxCaseMapItem>(EE_CHAR_START+30)
-#define EE_CHAR_GRABBAG             TypedWhichId<SfxGrabBagItem>(EE_CHAR_START+31)
-#define EE_CHAR_BKGCOLOR            TypedWhichId<SvxBackgroundColorItem>(EE_CHAR_START+32)
+constexpr sal_uInt16                           EE_CHAR_START          (EE_PARA_END + 1);
+constexpr TypedWhichId<SvxColorItem>           EE_CHAR_COLOR          (EE_CHAR_START+0);
+constexpr TypedWhichId<SvxFontItem>            EE_CHAR_FONTINFO       (EE_CHAR_START+1);
+constexpr TypedWhichId<SvxFontHeightItem>      EE_CHAR_FONTHEIGHT     (EE_CHAR_START+2);
+constexpr TypedWhichId<SvxCharScaleWidthItem>  EE_CHAR_FONTWIDTH      (EE_CHAR_START+3);
+constexpr TypedWhichId<SvxWeightItem>          EE_CHAR_WEIGHT         (EE_CHAR_START+4);
+constexpr TypedWhichId<SvxUnderlineItem>       EE_CHAR_UNDERLINE      (EE_CHAR_START+5);
+constexpr TypedWhichId<SvxCrossedOutItem>      EE_CHAR_STRIKEOUT      (EE_CHAR_START+6);
+constexpr TypedWhichId<SvxPostureItem>         EE_CHAR_ITALIC         (EE_CHAR_START+7);
+constexpr TypedWhichId<SvxContourItem>         EE_CHAR_OUTLINE        (EE_CHAR_START+8);
+constexpr TypedWhichId<SvxShadowedItem>        EE_CHAR_SHADOW         (EE_CHAR_START+9);
+constexpr TypedWhichId<SvxEscapementItem>      EE_CHAR_ESCAPEMENT     (EE_CHAR_START+10);
+constexpr TypedWhichId<SvxAutoKernItem>        EE_CHAR_PAIRKERNING    (EE_CHAR_START+11);
+constexpr TypedWhichId<SvxKerningItem>         EE_CHAR_KERNING        (EE_CHAR_START+12);
+constexpr TypedWhichId<SvxWordLineModeItem>    EE_CHAR_WLM            (EE_CHAR_START+13);
+constexpr TypedWhichId<SvxLanguageItem>        EE_CHAR_LANGUAGE       (EE_CHAR_START+14);
+constexpr TypedWhichId<SvxLanguageItem>        EE_CHAR_LANGUAGE_CJK   (EE_CHAR_START+15);
+constexpr TypedWhichId<SvxLanguageItem>        EE_CHAR_LANGUAGE_CTL   (EE_CHAR_START+16);
+constexpr TypedWhichId<SvxFontItem>            EE_CHAR_FONTINFO_CJK   (EE_CHAR_START+17);
+constexpr TypedWhichId<SvxFontItem>            EE_CHAR_FONTINFO_CTL   (EE_CHAR_START+18);
+constexpr TypedWhichId<SvxFontHeightItem>      EE_CHAR_FONTHEIGHT_CJK (EE_CHAR_START+19);
+constexpr TypedWhichId<SvxFontHeightItem>      EE_CHAR_FONTHEIGHT_CTL (EE_CHAR_START+20);
+constexpr TypedWhichId<SvxWeightItem>          EE_CHAR_WEIGHT_CJK     (EE_CHAR_START+21);
+constexpr TypedWhichId<SvxWeightItem>          EE_CHAR_WEIGHT_CTL     (EE_CHAR_START+22);
+constexpr TypedWhichId<SvxPostureItem>         EE_CHAR_ITALIC_CJK     (EE_CHAR_START+23);
+constexpr TypedWhichId<SvxPostureItem>         EE_CHAR_ITALIC_CTL     (EE_CHAR_START+24);
+constexpr TypedWhichId<SvxEmphasisMarkItem>    EE_CHAR_EMPHASISMARK   (EE_CHAR_START+25);
+constexpr TypedWhichId<SvxCharReliefItem>      EE_CHAR_RELIEF         (EE_CHAR_START+26);
+constexpr TypedWhichId<SfxVoidItem>            EE_CHAR_RUBI_DUMMY     (EE_CHAR_START+27);
+constexpr TypedWhichId<SvXMLAttrContainerItem> EE_CHAR_XMLATTRIBS     (EE_CHAR_START+28);
+constexpr TypedWhichId<SvxOverlineItem>        EE_CHAR_OVERLINE       (EE_CHAR_START+29);
+constexpr TypedWhichId<SvxCaseMapItem>         EE_CHAR_CASEMAP        (EE_CHAR_START+30);
+constexpr TypedWhichId<SfxGrabBagItem>         EE_CHAR_GRABBAG        (EE_CHAR_START+31);
+constexpr TypedWhichId<SvxBackgroundColorItem> EE_CHAR_BKGCOLOR       (EE_CHAR_START+32);
 
-#define EE_CHAR_END                 (EE_CHAR_START+32)
+constexpr sal_uInt16                           EE_CHAR_END            (EE_CHAR_START + 32);
 
-#define EE_FEATURE_START            (EE_CHAR_END+1)
-#define EE_FEATURE_TAB              (EE_FEATURE_START+0)
-#define EE_FEATURE_LINEBR           (EE_FEATURE_TAB+1)
-#define EE_FEATURE_NOTCONV          (EE_FEATURE_LINEBR+1)
-#define EE_FEATURE_FIELD            (EE_FEATURE_NOTCONV+1)
-#define EE_FEATURE_END              (EE_FEATURE_FIELD+0)
+constexpr sal_uInt16 EE_FEATURE_START   (EE_CHAR_END + 1);
+constexpr sal_uInt16 EE_FEATURE_TAB     (EE_FEATURE_START + 0);
+constexpr sal_uInt16 EE_FEATURE_LINEBR  (EE_FEATURE_TAB + 1);
+constexpr sal_uInt16 EE_FEATURE_NOTCONV (EE_FEATURE_LINEBR + 1);
+constexpr sal_uInt16 EE_FEATURE_FIELD   (EE_FEATURE_NOTCONV + 1);
+constexpr sal_uInt16 EE_FEATURE_END     (EE_FEATURE_FIELD + 0);
 
-#define EE_ITEMS_END                (EE_FEATURE_END)
+constexpr sal_uInt16 EE_ITEMS_END       (EE_FEATURE_END);
 
-#define EDITITEMCOUNT ( EE_ITEMS_END - EE_ITEMS_START + 1 )
+constexpr sal_uInt16 EDITITEMCOUNT (EE_ITEMS_END - EE_ITEMS_START + 1);
 
 #endif // _ INCLUDED_EDITENG_EEITEM_HXX
 
diff --git a/include/svx/svddef.hxx b/include/svx/svddef.hxx
index 54d9130e6be4..d80e4ed486ea 100644
--- a/include/svx/svddef.hxx
+++ b/include/svx/svddef.hxx
@@ -169,252 +169,257 @@ class SdrTextAniCountItem;
 class SdrTextAniStartInsideItem;
 class SdrTextAniStopInsideItem;
 class SdrTextAniDelayItem;
+class SdrMeasureScaleItem;
+class SdrRotateAllItem;
+class Svx3DTextureKindItem;
+class Svx3DTextureModeItem;
+class SvXMLAttrContainerItem;
 
-#define SDRATTR_START               XATTR_START                    /* 1000   */
-                                                                                                         /* Pool V4*/ /* Pool V3*/ /* Pool V2*/
-#define SDRATTR_SHADOW_FIRST            (XATTR_END + 1)                                                  /* 1067   */ /* 1067   */ /* 1050   */ /* Pool V1: 1036 */
-#define SDRATTR_SHADOW                  TypedWhichId<SdrOnOffItem>(SDRATTR_SHADOW_FIRST+ 0)              /*   1067 */ /*   1067 */ /*   1050 */
-#define SDRATTR_SHADOWCOLOR             TypedWhichId<XColorItem>(SDRATTR_SHADOW_FIRST+ 1)                /*   1068 */ /*   1068 */ /*   1051 */
-#define SDRATTR_SHADOWXDIST             TypedWhichId<SdrMetricItem>(SDRATTR_SHADOW_FIRST+ 2)             /*   1069 */ /*   1069 */ /*   1052 */
-#define SDRATTR_SHADOWYDIST             TypedWhichId<SdrMetricItem>(SDRATTR_SHADOW_FIRST+ 3)             /*   1070 */ /*   1070 */ /*   1053 */
-#define SDRATTR_SHADOWTRANSPARENCE      TypedWhichId<SdrPercentItem>(SDRATTR_SHADOW_FIRST+ 4)            /*   1071 */ /*   1071 */ /*   1054 */ /* Pool V2 */
-#define SDRATTR_SHADOW3D                TypedWhichId<SfxVoidItem>(SDRATTR_SHADOW_FIRST+ 5)               /*   1072 */ /*   1072 */ /*   1055 */ /* Pool V2 */
-#define SDRATTR_SHADOWPERSP             TypedWhichId<SfxVoidItem>(SDRATTR_SHADOW_FIRST+ 6)               /*   1073 */ /*   1073 */ /*   1056 */ /* Pool V2 */
-#define SDRATTR_SHADOW_LAST             (SDRATTR_SHADOWPERSP)                                            /* 1078   */ /* 1078   */ /* 1061   */ /* Pool V1: 1039 */
+constexpr sal_uInt16 SDRATTR_START (XATTR_START);                    /* 1000   */
+                                                                                                             /* Pool V4*/ /* Pool V3*/ /* Pool V2*/
+constexpr sal_uInt16                   SDRATTR_SHADOW_FIRST       (XATTR_END + 1);                           /* 1067   */ /* 1067   */ /* 1050   */ /* Pool V1: 1036 */
+constexpr TypedWhichId<SdrOnOffItem>   SDRATTR_SHADOW             (SDRATTR_SHADOW_FIRST+ 0);                 /*   1067 */ /*   1067 */ /*   1050 */
+constexpr TypedWhichId<XColorItem>     SDRATTR_SHADOWCOLOR        (SDRATTR_SHADOW_FIRST+ 1);                 /*   1068 */ /*   1068 */ /*   1051 */
+constexpr TypedWhichId<SdrMetricItem>  SDRATTR_SHADOWXDIST        (SDRATTR_SHADOW_FIRST+ 2);                 /*   1069 */ /*   1069 */ /*   1052 */
+constexpr TypedWhichId<SdrMetricItem>  SDRATTR_SHADOWYDIST        (SDRATTR_SHADOW_FIRST+ 3);                 /*   1070 */ /*   1070 */ /*   1053 */
+constexpr TypedWhichId<SdrPercentItem> SDRATTR_SHADOWTRANSPARENCE (SDRATTR_SHADOW_FIRST+ 4);                 /*   1071 */ /*   1071 */ /*   1054 */ /* Pool V2 */
+constexpr TypedWhichId<SfxVoidItem>    SDRATTR_SHADOW3D           (SDRATTR_SHADOW_FIRST+ 5);                 /*   1072 */ /*   1072 */ /*   1055 */ /* Pool V2 */
+constexpr TypedWhichId<SfxVoidItem>    SDRATTR_SHADOWPERSP        (SDRATTR_SHADOW_FIRST+ 6);                 /*   1073 */ /*   1073 */ /*   1056 */ /* Pool V2 */
+constexpr sal_uInt16                   SDRATTR_SHADOW_LAST        (SDRATTR_SHADOWPERSP);                     /* 1078   */ /* 1078   */ /* 1061   */ /* Pool V1: 1039 */
 
-#define SDRATTR_CAPTION_FIRST           (SDRATTR_SHADOW_LAST + 1)                                        /* 1080   */ /* 1080   */ /* 1063   */ /* Pool V1: 1041 */
-#define SDRATTR_CAPTIONTYPE             TypedWhichId<SdrCaptionTypeItem>(SDRATTR_CAPTION_FIRST+ 0)       /*   1080 */ /*   1080 */ /*   1063 */
-#define SDRATTR_CAPTIONFIXEDANGLE       TypedWhichId<SdrOnOffItem>(SDRATTR_CAPTION_FIRST+ 1)             /*   1081 */ /*   1081 */ /*   1064 */
-#define SDRATTR_CAPTIONANGLE            TypedWhichId<SdrAngleItem>(SDRATTR_CAPTION_FIRST+ 2)             /*   1082 */ /*   1082 */ /*   1065 */
-#define SDRATTR_CAPTIONGAP              TypedWhichId<SdrMetricItem>(SDRATTR_CAPTION_FIRST+ 3)            /*   1083 */ /*   1083 */ /*   1066 */
-#define SDRATTR_CAPTIONESCDIR           TypedWhichId<SdrCaptionEscDirItem>(SDRATTR_CAPTION_FIRST+ 4)     /*   1084 */ /*   1084 */ /*   1067 */
-#define SDRATTR_CAPTIONESCISREL         TypedWhichId<SdrCaptionEscIsRelItem>(SDRATTR_CAPTION_FIRST+ 5)   /*   1085 */ /*   1085 */ /*   1068 */
-#define SDRATTR_CAPTIONESCREL           TypedWhichId<SdrCaptionEscRelItem>(SDRATTR_CAPTION_FIRST+ 6)     /*   1086 */ /*   1086 */ /*   1069 */
-#define SDRATTR_CAPTIONESCABS           TypedWhichId<SdrCaptionEscAbsItem>(SDRATTR_CAPTION_FIRST+ 7)     /*   1087 */ /*   1087 */ /*   1070 */
-#define SDRATTR_CAPTIONLINELEN          TypedWhichId<SdrCaptionLineLenItem>(SDRATTR_CAPTION_FIRST+ 8)    /*   1088 */ /*   1088 */ /*   1071 */
-#define SDRATTR_CAPTIONFITLINELEN       TypedWhichId<SdrCaptionFitLineLenItem>(SDRATTR_CAPTION_FIRST+ 9) /*   1089 */ /*   1089 */ /*   1072 */
-#define SDRATTR_CAPTION_LAST            (SDRATTR_CAPTIONFITLINELEN)                                      /* 1094   */ /* 1094   */ /* 1077   */ /* Pool V1: 1050 */
+constexpr sal_uInt16                             SDRATTR_CAPTION_FIRST     (SDRATTR_SHADOW_LAST + 1);        /* 1080   */ /* 1080   */ /* 1063   */ /* Pool V1: 1041 */
+constexpr TypedWhichId<SdrCaptionTypeItem>       SDRATTR_CAPTIONTYPE       (SDRATTR_CAPTION_FIRST+ 0);       /*   1080 */ /*   1080 */ /*   1063 */
+constexpr TypedWhichId<SdrOnOffItem>             SDRATTR_CAPTIONFIXEDANGLE (SDRATTR_CAPTION_FIRST+ 1);       /*   1081 */ /*   1081 */ /*   1064 */
+constexpr TypedWhichId<SdrAngleItem>             SDRATTR_CAPTIONANGLE      (SDRATTR_CAPTION_FIRST+ 2);       /*   1082 */ /*   1082 */ /*   1065 */
+constexpr TypedWhichId<SdrMetricItem>            SDRATTR_CAPTIONGAP        (SDRATTR_CAPTION_FIRST+ 3);       /*   1083 */ /*   1083 */ /*   1066 */
+constexpr TypedWhichId<SdrCaptionEscDirItem>     SDRATTR_CAPTIONESCDIR     (SDRATTR_CAPTION_FIRST+ 4);       /*   1084 */ /*   1084 */ /*   1067 */
+constexpr TypedWhichId<SdrCaptionEscIsRelItem>   SDRATTR_CAPTIONESCISREL   (SDRATTR_CAPTION_FIRST+ 5);       /*   1085 */ /*   1085 */ /*   1068 */
+constexpr TypedWhichId<SdrCaptionEscRelItem>     SDRATTR_CAPTIONESCREL     (SDRATTR_CAPTION_FIRST+ 6);       /*   1086 */ /*   1086 */ /*   1069 */
+constexpr TypedWhichId<SdrCaptionEscAbsItem>     SDRATTR_CAPTIONESCABS     (SDRATTR_CAPTION_FIRST+ 7);       /*   1087 */ /*   1087 */ /*   1070 */
+constexpr TypedWhichId<SdrCaptionLineLenItem>    SDRATTR_CAPTIONLINELEN    (SDRATTR_CAPTION_FIRST+ 8);       /*   1088 */ /*   1088 */ /*   1071 */
+constexpr TypedWhichId<SdrCaptionFitLineLenItem> SDRATTR_CAPTIONFITLINELEN (SDRATTR_CAPTION_FIRST+ 9);       /*   1089 */ /*   1089 */ /*   1072 */
+constexpr sal_uInt16                             SDRATTR_CAPTION_LAST      (SDRATTR_CAPTIONFITLINELEN);      /* 1094   */ /* 1094   */ /* 1077   */ /* Pool V1: 1050 */
 
-#define SDRATTR_MISC_FIRST              (SDRATTR_CAPTION_LAST + 1)                                       /* 1097   */ /* 1097   */ /* 1080   */ /* Pool V1: 1053 */
-#define SDRATTR_ECKENRADIUS             TypedWhichId<SdrMetricItem>(SDRATTR_MISC_FIRST + 0)              /*   1097 */ /*   1097 */ /*   1080 long, def=0       */
-#define SDRATTR_TEXT_MINFRAMEHEIGHT     TypedWhichId<SdrMetricItem>(SDRATTR_MISC_FIRST + 1)              /*   1098 */ /*   1098 */ /*   1081 long, def=0       */
-#define SDRATTR_TEXT_AUTOGROWHEIGHT     TypedWhichId<SdrOnOffItem>(SDRATTR_MISC_FIRST + 2)               /*   1099 */ /*   1099 */ /*   1082 sal_Bool, def=sal_True    */
-#define SDRATTR_TEXT_FITTOSIZE          TypedWhichId<SdrTextFitToSizeTypeItem>(SDRATTR_MISC_FIRST + 3)   /*   1100 */ /*   1100 */ /*   1083 enum, def=css::drawing::TextFitToSizeType_NONE */
-#define SDRATTR_TEXT_LEFTDIST           TypedWhichId<SdrMetricItem>(SDRATTR_MISC_FIRST + 4)              /*   1101 */ /*   1101 */ /*   1084 long, def=0 */ /* Pool V2 */
-#define SDRATTR_TEXT_RIGHTDIST          TypedWhichId<SdrMetricItem>(SDRATTR_MISC_FIRST + 5)              /*   1102 */ /*   1102 */ /*   1085 long, def=0 */ /* Pool V2 */
-#define SDRATTR_TEXT_UPPERDIST          TypedWhichId<SdrMetricItem>(SDRATTR_MISC_FIRST + 6)              /*   1103 */ /*   1103 */ /*   1086 long, def=0 */ /* Pool V2 */
-#define SDRATTR_TEXT_LOWERDIST          TypedWhichId<SdrMetricItem>(SDRATTR_MISC_FIRST + 7)              /*   1104 */ /*   1104 */ /*   1087 long, def=0 */ /* Pool V2 */
-#define SDRATTR_TEXT_VERTADJUST         TypedWhichId<SdrTextVertAdjustItem>(SDRATTR_MISC_FIRST + 8)      /*   1105 */ /*   1105 */ /*   1088 enum, def=SDRTEXTVERTADJUST_TOP */ /* Pool V2 */
-#define SDRATTR_TEXT_MAXFRAMEHEIGHT     TypedWhichId<SdrMetricItem>(SDRATTR_MISC_FIRST + 9)              /*   1106 */ /*   1106 */ /*   1089 long, def=0     - Pool V2 */
-#define SDRATTR_TEXT_MINFRAMEWIDTH      TypedWhichId<SdrMetricItem>(SDRATTR_MISC_FIRST +10)              /*   1107 */ /*   1107 */ /*   1090 long, def=0     - Pool V2 */
-#define SDRATTR_TEXT_MAXFRAMEWIDTH      TypedWhichId<SdrMetricItem>(SDRATTR_MISC_FIRST +11)              /*   1108 */ /*   1108 */ /*   1091 long, def=0     - Pool V2 */
-#define SDRATTR_TEXT_AUTOGROWWIDTH      TypedWhichId<SdrOnOffItem>(SDRATTR_MISC_FIRST +12)               /*   1109 */ /*   1109 */ /*   1092 sal_Bool, def=sal_False - Pool V2 */
-#define SDRATTR_TEXT_HORZADJUST         TypedWhichId<SdrTextHorzAdjustItem>(SDRATTR_MISC_FIRST +13)      /*   1110 */ /*   1110 */ /*   1093 enum, def=SDRTEXTHORZADJUST_LEFT */ /* Pool V2+ (04-12-1995) */
-#define SDRATTR_TEXT_ANIKIND            TypedWhichId<SdrTextAniKindItem>(SDRATTR_MISC_FIRST +14)         /*   1111 */ /*   1111 */ /*   1094 enum, def=SdrTextAniKind::NONE - Pool V2/V4 */
-#define SDRATTR_TEXT_ANIDIRECTION       TypedWhichId<SdrTextAniDirectionItem>(SDRATTR_MISC_FIRST +15)    /*   1112 */ /*   1112 */ /*   1095 enum, def=SdrTextAniDirection::Left - Pool V2/V4 */
-#define SDRATTR_TEXT_ANISTARTINSIDE     TypedWhichId<SdrTextAniStartInsideItem>(SDRATTR_MISC_FIRST +16)  /*   1113 */ /*   1113 */ /*   1096 sal_Bool, def=sal_False - Pool V2/V4 */
-#define SDRATTR_TEXT_ANISTOPINSIDE      TypedWhichId<SdrTextAniStopInsideItem>(SDRATTR_MISC_FIRST +17)   /*   1114 */ /*   1114 */ /*   1097 sal_Bool, def=sal_False - Pool V2/V4 */
-#define SDRATTR_TEXT_ANICOUNT           TypedWhichId<SdrTextAniCountItem>(SDRATTR_MISC_FIRST +18)        /*   1115 */ /*   1115 */ /*   1098 sal_uInt16, def=0   - Pool V2/V4 */
-#define SDRATTR_TEXT_ANIDELAY           TypedWhichId<SdrTextAniDelayItem>(SDRATTR_MISC_FIRST +19)        /*   1116 */ /*   1116 */ /*   1099 sal_uInt16, def=0   - Pool V2/V4 */
-#define SDRATTR_TEXT_ANIAMOUNT          TypedWhichId<SdrTextAniAmountItem>(SDRATTR_MISC_FIRST +20)       /*   1117 */ /*   1117 */ /*   1100 sal_uInt16, def=0   - Pool V2/V4 */
-#define SDRATTR_TEXT_CONTOURFRAME       TypedWhichId<SdrOnOffItem>(SDRATTR_MISC_FIRST +21)               /*   1118 */ /*   1118 */ /*   1101 */             /* Pool V2 */
-#define SDRATTR_XMLATTRIBUTES           TypedWhichId<SvXMLAttrContainerItem>(SDRATTR_MISC_FIRST +22)     /*   1120 */ /*   1120 */ /*   1103 */             /* Pool V2 */
-#define SDRATTR_TEXT_USEFIXEDCELLHEIGHT TypedWhichId<SdrTextFixedCellHeightItem>(SDRATTR_MISC_FIRST +23) /*   1121 */ /*   1121 */ /*   1104 */             /* Pool V2 */
-#define SDRATTR_TEXT_WORDWRAP           TypedWhichId<SdrOnOffItem>(SDRATTR_MISC_FIRST +24)               /*   1122 */ /*   1122 */ /*   1105 */             /* Pool V2 */
-#define SDRATTR_TEXT_CHAINNEXTNAME      TypedWhichId<SfxStringItem>(SDRATTR_MISC_FIRST +25)              /*   1123 */ /*   1123 */ /*   1106 */             /* Pool V2 */
-#define SDRATTR_MISC_LAST               (SDRATTR_TEXT_CHAINNEXTNAME)                                     /* 1125   */ /* 1125   */ /* 1108   */ /* Pool V1: 1056 */
+constexpr sal_uInt16                               SDRATTR_MISC_FIRST              (SDRATTR_CAPTION_LAST + 1);   /* 1097   */ /* 1097   */ /* 1080   */ /* Pool V1: 1053 */
+constexpr TypedWhichId<SdrMetricItem>              SDRATTR_ECKENRADIUS             (SDRATTR_MISC_FIRST + 0);     /*   1097 */ /*   1097 */ /*   1080 long, def=0       */
+constexpr TypedWhichId<SdrMetricItem>              SDRATTR_TEXT_MINFRAMEHEIGHT     (SDRATTR_MISC_FIRST + 1);     /*   1098 */ /*   1098 */ /*   1081 long, def=0       */
+constexpr TypedWhichId<SdrOnOffItem>               SDRATTR_TEXT_AUTOGROWHEIGHT     (SDRATTR_MISC_FIRST + 2);     /*   1099 */ /*   1099 */ /*   1082 sal_Bool, def=sal_True    */
+constexpr TypedWhichId<SdrTextFitToSizeTypeItem>   SDRATTR_TEXT_FITTOSIZE          (SDRATTR_MISC_FIRST + 3);     /*   1100 */ /*   1100 */ /*   1083 enum, def=css::drawing::TextFitToSizeType_NONE */
+constexpr TypedWhichId<SdrMetricItem>              SDRATTR_TEXT_LEFTDIST           (SDRATTR_MISC_FIRST + 4);     /*   1101 */ /*   1101 */ /*   1084 long, def=0 */ /* Pool V2 */
+constexpr TypedWhichId<SdrMetricItem>              SDRATTR_TEXT_RIGHTDIST          (SDRATTR_MISC_FIRST + 5);     /*   1102 */ /*   1102 */ /*   1085 long, def=0 */ /* Pool V2 */
+constexpr TypedWhichId<SdrMetricItem>              SDRATTR_TEXT_UPPERDIST          (SDRATTR_MISC_FIRST + 6);     /*   1103 */ /*   1103 */ /*   1086 long, def=0 */ /* Pool V2 */
+constexpr TypedWhichId<SdrMetricItem>              SDRATTR_TEXT_LOWERDIST          (SDRATTR_MISC_FIRST + 7);     /*   1104 */ /*   1104 */ /*   1087 long, def=0 */ /* Pool V2 */
+constexpr TypedWhichId<SdrTextVertAdjustItem>      SDRATTR_TEXT_VERTADJUST         (SDRATTR_MISC_FIRST + 8);     /*   1105 */ /*   1105 */ /*   1088 enum, def=SDRTEXTVERTADJUST_TOP */ /* Pool V2 */
+constexpr TypedWhichId<SdrMetricItem>              SDRATTR_TEXT_MAXFRAMEHEIGHT     (SDRATTR_MISC_FIRST + 9);     /*   1106 */ /*   1106 */ /*   1089 long, def=0     - Pool V2 */
+constexpr TypedWhichId<SdrMetricItem>              SDRATTR_TEXT_MINFRAMEWIDTH      (SDRATTR_MISC_FIRST +10);     /*   1107 */ /*   1107 */ /*   1090 long, def=0     - Pool V2 */
+constexpr TypedWhichId<SdrMetricItem>              SDRATTR_TEXT_MAXFRAMEWIDTH      (SDRATTR_MISC_FIRST +11);     /*   1108 */ /*   1108 */ /*   1091 long, def=0     - Pool V2 */
+constexpr TypedWhichId<SdrOnOffItem>               SDRATTR_TEXT_AUTOGROWWIDTH      (SDRATTR_MISC_FIRST +12);     /*   1109 */ /*   1109 */ /*   1092 sal_Bool, def=sal_False - Pool V2 */
+constexpr TypedWhichId<SdrTextHorzAdjustItem>      SDRATTR_TEXT_HORZADJUST         (SDRATTR_MISC_FIRST +13);     /*   1110 */ /*   1110 */ /*   1093 enum, def=SDRTEXTHORZADJUST_LEFT */ /* Pool V2+ (04-12-1995) */
+constexpr TypedWhichId<SdrTextAniKindItem>         SDRATTR_TEXT_ANIKIND            (SDRATTR_MISC_FIRST +14);     /*   1111 */ /*   1111 */ /*   1094 enum, def=SdrTextAniKind::NONE - Pool V2/V4 */
+constexpr TypedWhichId<SdrTextAniDirectionItem>    SDRATTR_TEXT_ANIDIRECTION       (SDRATTR_MISC_FIRST +15);     /*   1112 */ /*   1112 */ /*   1095 enum, def=SdrTextAniDirection::Left - Pool V2/V4 */
+constexpr TypedWhichId<SdrTextAniStartInsideItem>  SDRATTR_TEXT_ANISTARTINSIDE     (SDRATTR_MISC_FIRST +16);     /*   1113 */ /*   1113 */ /*   1096 sal_Bool, def=sal_False - Pool V2/V4 */
+constexpr TypedWhichId<SdrTextAniStopInsideItem>   SDRATTR_TEXT_ANISTOPINSIDE      (SDRATTR_MISC_FIRST +17);     /*   1114 */ /*   1114 */ /*   1097 sal_Bool, def=sal_False - Pool V2/V4 */
+constexpr TypedWhichId<SdrTextAniCountItem>        SDRATTR_TEXT_ANICOUNT           (SDRATTR_MISC_FIRST +18);     /*   1115 */ /*   1115 */ /*   1098 sal_uInt16, def=0   - Pool V2/V4 */
+constexpr TypedWhichId<SdrTextAniDelayItem>        SDRATTR_TEXT_ANIDELAY           (SDRATTR_MISC_FIRST +19);     /*   1116 */ /*   1116 */ /*   1099 sal_uInt16, def=0   - Pool V2/V4 */
+constexpr TypedWhichId<SdrTextAniAmountItem>       SDRATTR_TEXT_ANIAMOUNT          (SDRATTR_MISC_FIRST +20);     /*   1117 */ /*   1117 */ /*   1100 sal_uInt16, def=0   - Pool V2/V4 */
+constexpr TypedWhichId<SdrOnOffItem>               SDRATTR_TEXT_CONTOURFRAME       (SDRATTR_MISC_FIRST +21);     /*   1118 */ /*   1118 */ /*   1101 */             /* Pool V2 */
+constexpr TypedWhichId<SvXMLAttrContainerItem>     SDRATTR_XMLATTRIBUTES           (SDRATTR_MISC_FIRST +22);     /*   1120 */ /*   1120 */ /*   1103 */             /* Pool V2 */
+constexpr TypedWhichId<SdrTextFixedCellHeightItem> SDRATTR_TEXT_USEFIXEDCELLHEIGHT (SDRATTR_MISC_FIRST +23);     /*   1121 */ /*   1121 */ /*   1104 */             /* Pool V2 */
+constexpr TypedWhichId<SdrOnOffItem>               SDRATTR_TEXT_WORDWRAP           (SDRATTR_MISC_FIRST +24);     /*   1122 */ /*   1122 */ /*   1105 */             /* Pool V2 */
+constexpr TypedWhichId<SfxStringItem>              SDRATTR_TEXT_CHAINNEXTNAME      (SDRATTR_MISC_FIRST +25);     /*   1123 */ /*   1123 */ /*   1106 */             /* Pool V2 */
+constexpr sal_uInt16                               SDRATTR_MISC_LAST               (SDRATTR_TEXT_CHAINNEXTNAME); /* 1125   */ /* 1125   */ /* 1108   */ /* Pool V1: 1056 */
 
-#define SDRATTR_EDGE_FIRST              (SDRATTR_MISC_LAST + 1)                                          /* 1127   */ /* Pool V4 */
-#define SDRATTR_EDGEKIND                TypedWhichId<SdrEdgeKindItem>(SDRATTR_EDGE_FIRST + 0)            /*   1127 */ /* Pool V4 */
-#define SDRATTR_EDGENODE1HORZDIST       TypedWhichId<SdrEdgeNode1HorzDistItem>(SDRATTR_EDGE_FIRST + 1)   /*   1128 */ /* Pool V4 */
-#define SDRATTR_EDGENODE1VERTDIST       TypedWhichId<SdrEdgeNode1VertDistItem>(SDRATTR_EDGE_FIRST + 2)   /*   1129 */ /* Pool V4 */
-#define SDRATTR_EDGENODE2HORZDIST       TypedWhichId<SdrEdgeNode2HorzDistItem>(SDRATTR_EDGE_FIRST + 3)   /*   1130 */ /* Pool V4 */
-#define SDRATTR_EDGENODE2VERTDIST       TypedWhichId<SdrEdgeNode2VertDistItem>(SDRATTR_EDGE_FIRST + 4)   /*   1131 */ /* Pool V4 */
-#define SDRATTR_EDGENODE1GLUEDIST       TypedWhichId<SdrEdgeNode1GlueDistItem>(SDRATTR_EDGE_FIRST + 5)   /*   1132 */ /* Pool V4 */
-#define SDRATTR_EDGENODE2GLUEDIST       TypedWhichId<SdrEdgeNode2GlueDistItem>(SDRATTR_EDGE_FIRST + 6)   /*   1133 */ /* Pool V4 */
-#define SDRATTR_EDGELINEDELTACOUNT      TypedWhichId<SdrEdgeLineDeltaCountItem>(SDRATTR_EDGE_FIRST + 7)  /*   1134 */ /* Pool V4 */
-#define SDRATTR_EDGELINE1DELTA          TypedWhichId<SdrMetricItem>(SDRATTR_EDGE_FIRST + 8)              /*   1135 */ /* Pool V4 */
-#define SDRATTR_EDGELINE2DELTA          TypedWhichId<SdrMetricItem>(SDRATTR_EDGE_FIRST + 9)              /*   1136 */ /* Pool V4 */
-#define SDRATTR_EDGELINE3DELTA          TypedWhichId<SdrMetricItem>(SDRATTR_EDGE_FIRST +10)              /*   1137 */ /* Pool V4 */
-#define SDRATTR_EDGE_LAST               (SDRATTR_EDGELINE3DELTA)                                         /* 1145   */ /* Pool V4 */
+constexpr sal_uInt16                              SDRATTR_EDGE_FIRST         (SDRATTR_MISC_LAST + 1);    /* 1127   */ /* Pool V4 */
+constexpr TypedWhichId<SdrEdgeKindItem>           SDRATTR_EDGEKIND           (SDRATTR_EDGE_FIRST + 0);   /*   1127 */ /* Pool V4 */
+constexpr TypedWhichId<SdrEdgeNode1HorzDistItem>  SDRATTR_EDGENODE1HORZDIST  (SDRATTR_EDGE_FIRST + 1);   /*   1128 */ /* Pool V4 */
+constexpr TypedWhichId<SdrEdgeNode1VertDistItem>  SDRATTR_EDGENODE1VERTDIST  (SDRATTR_EDGE_FIRST + 2);   /*   1129 */ /* Pool V4 */
+constexpr TypedWhichId<SdrEdgeNode2HorzDistItem>  SDRATTR_EDGENODE2HORZDIST  (SDRATTR_EDGE_FIRST + 3);   /*   1130 */ /* Pool V4 */
+constexpr TypedWhichId<SdrEdgeNode2VertDistItem>  SDRATTR_EDGENODE2VERTDIST  (SDRATTR_EDGE_FIRST + 4);   /*   1131 */ /* Pool V4 */
+constexpr TypedWhichId<SdrEdgeNode1GlueDistItem>  SDRATTR_EDGENODE1GLUEDIST  (SDRATTR_EDGE_FIRST + 5);   /*   1132 */ /* Pool V4 */
+constexpr TypedWhichId<SdrEdgeNode2GlueDistItem>  SDRATTR_EDGENODE2GLUEDIST  (SDRATTR_EDGE_FIRST + 6);   /*   1133 */ /* Pool V4 */
+constexpr TypedWhichId<SdrEdgeLineDeltaCountItem> SDRATTR_EDGELINEDELTACOUNT (SDRATTR_EDGE_FIRST + 7);   /*   1134 */ /* Pool V4 */
+constexpr TypedWhichId<SdrMetricItem>             SDRATTR_EDGELINE1DELTA     (SDRATTR_EDGE_FIRST + 8);   /*   1135 */ /* Pool V4 */
+constexpr TypedWhichId<SdrMetricItem>             SDRATTR_EDGELINE2DELTA     (SDRATTR_EDGE_FIRST + 9);   /*   1136 */ /* Pool V4 */
+constexpr TypedWhichId<SdrMetricItem>             SDRATTR_EDGELINE3DELTA     (SDRATTR_EDGE_FIRST +10);   /*   1137 */ /* Pool V4 */
+constexpr sal_uInt16                              SDRATTR_EDGE_LAST          (SDRATTR_EDGELINE3DELTA);   /* 1145   */ /* Pool V4 */
 
-#define SDRATTR_MEASURE_FIRST            (SDRATTR_EDGE_LAST + 1)                                         /* 1147   */ /* Pool V4 */
-#define SDRATTR_MEASUREKIND              TypedWhichId<SdrMeasureKindItem>(SDRATTR_MEASURE_FIRST+ 0)      /*   1147 */ /* Pool V4 */
-#define SDRATTR_MEASURETEXTHPOS          TypedWhichId<SdrMeasureTextHPosItem>(SDRATTR_MEASURE_FIRST+ 1)  /*   1148 */ /* Pool V4 */
-#define SDRATTR_MEASURETEXTVPOS          TypedWhichId<SdrMeasureTextVPosItem>(SDRATTR_MEASURE_FIRST+ 2)  /*   1149 */ /* Pool V4 */
-#define SDRATTR_MEASURELINEDIST          TypedWhichId<SdrMetricItem>(SDRATTR_MEASURE_FIRST+ 3)           /*   1150 */ /* Pool V4 */
-#define SDRATTR_MEASUREHELPLINEOVERHANG  TypedWhichId<SdrMetricItem>(SDRATTR_MEASURE_FIRST+ 4)           /*   1151 */ /* Pool V4 */
-#define SDRATTR_MEASUREHELPLINEDIST      TypedWhichId<SdrMetricItem>(SDRATTR_MEASURE_FIRST+ 5)           /*   1152 */ /* Pool V4 */
-#define SDRATTR_MEASUREHELPLINE1LEN      TypedWhichId<SdrMetricItem>(SDRATTR_MEASURE_FIRST+ 6)           /*   1153 */ /* Pool V4 */
-#define SDRATTR_MEASUREHELPLINE2LEN      TypedWhichId<SdrMetricItem>(SDRATTR_MEASURE_FIRST+ 7)           /*   1154 */ /* Pool V4 */
-#define SDRATTR_MEASUREBELOWREFEDGE      TypedWhichId<SdrMeasureBelowRefEdgeItem>(SDRATTR_MEASURE_FIRST+ 8) /*   1155 */ /* Pool V4 */
-#define SDRATTR_MEASURETEXTROTA90        TypedWhichId<SdrMeasureTextRota90Item>(SDRATTR_MEASURE_FIRST+ 9)/*   1156 */ /* Pool V4 */
-#define SDRATTR_MEASURETEXTUPSIDEDOWN    TypedWhichId<SdrYesNoItem>(SDRATTR_MEASURE_FIRST+10)            /*   1157 */ /* Pool V4 */
-#define SDRATTR_MEASUREOVERHANG          TypedWhichId<SdrMeasureOverhangItem>(SDRATTR_MEASURE_FIRST+11)  /*   1158 */ /* Pool V4 */
-#define SDRATTR_MEASUREUNIT              TypedWhichId<SdrMeasureUnitItem>(SDRATTR_MEASURE_FIRST+12)      /*   1159 */ /* Pool V4 */
-#define SDRATTR_MEASURESCALE             TypedWhichId<SdrMeasureScaleItem>(SDRATTR_MEASURE_FIRST+13)     /*   1160 */ /* Pool V4 */
-#define SDRATTR_MEASURESHOWUNIT          TypedWhichId<SdrYesNoItem>(SDRATTR_MEASURE_FIRST+14)            /*   1161 */ /* Pool V4 */
-#define SDRATTR_MEASUREFORMATSTRING      TypedWhichId<SdrMeasureFormatStringItem>(SDRATTR_MEASURE_FIRST+15) /*   1162 */ /* Pool V4 */
-#define SDRATTR_MEASURETEXTAUTOANGLE     TypedWhichId<SdrMeasureTextAutoAngleItem>(SDRATTR_MEASURE_FIRST+16) /*   1163 */ /* Pool V4, Correction 25-9-1996 */
-#define SDRATTR_MEASURETEXTAUTOANGLEVIEW TypedWhichId<SdrAngleItem>(SDRATTR_MEASURE_FIRST+17)            /*   1164 */ /* Pool V4, Correction 25-9-1996  */
-#define SDRATTR_MEASURETEXTISFIXEDANGLE  TypedWhichId<SdrMeasureTextIsFixedAngleItem>(SDRATTR_MEASURE_FIRST+18) /*   1165 */ /* Pool V4, Correction 25-9-1996  */
-#define SDRATTR_MEASURETEXTFIXEDANGLE    TypedWhichId<SdrMeasureTextFixedAngleItem>(SDRATTR_MEASURE_FIRST+19) /*   1166 */ /* Pool V4, Correction 25-9-1996  */
-#define SDRATTR_MEASUREDECIMALPLACES     TypedWhichId<SdrMeasureDecimalPlacesItem>(SDRATTR_MEASURE_FIRST+20) /*   1167 */ /* Pool V4 */
-#define SDRATTR_MEASURE_LAST             (SDRATTR_MEASUREDECIMALPLACES)                                  /* 1170   */ /* Pool V4 */
+constexpr sal_uInt16                                   SDRATTR_MEASURE_FIRST            (SDRATTR_EDGE_LAST + 1);        /* 1147   */ /* Pool V4 */
+constexpr TypedWhichId<SdrMeasureKindItem>             SDRATTR_MEASUREKIND              (SDRATTR_MEASURE_FIRST+ 0);     /*   1147 */ /* Pool V4 */
+constexpr TypedWhichId<SdrMeasureTextHPosItem>         SDRATTR_MEASURETEXTHPOS          (SDRATTR_MEASURE_FIRST+ 1);     /*   1148 */ /* Pool V4 */
+constexpr TypedWhichId<SdrMeasureTextVPosItem>         SDRATTR_MEASURETEXTVPOS          (SDRATTR_MEASURE_FIRST+ 2);     /*   1149 */ /* Pool V4 */
+constexpr TypedWhichId<SdrMetricItem>                  SDRATTR_MEASURELINEDIST          (SDRATTR_MEASURE_FIRST+ 3);     /*   1150 */ /* Pool V4 */
+constexpr TypedWhichId<SdrMetricItem>                  SDRATTR_MEASUREHELPLINEOVERHANG  (SDRATTR_MEASURE_FIRST+ 4);     /*   1151 */ /* Pool V4 */
+constexpr TypedWhichId<SdrMetricItem>                  SDRATTR_MEASUREHELPLINEDIST      (SDRATTR_MEASURE_FIRST+ 5);     /*   1152 */ /* Pool V4 */
+constexpr TypedWhichId<SdrMetricItem>                  SDRATTR_MEASUREHELPLINE1LEN      (SDRATTR_MEASURE_FIRST+ 6);     /*   1153 */ /* Pool V4 */
+constexpr TypedWhichId<SdrMetricItem>                  SDRATTR_MEASUREHELPLINE2LEN      (SDRATTR_MEASURE_FIRST+ 7);     /*   1154 */ /* Pool V4 */
+constexpr TypedWhichId<SdrMeasureBelowRefEdgeItem>     SDRATTR_MEASUREBELOWREFEDGE      (SDRATTR_MEASURE_FIRST+ 8);     /*   1155 */ /* Pool V4 */
+constexpr TypedWhichId<SdrMeasureTextRota90Item>       SDRATTR_MEASURETEXTROTA90        (SDRATTR_MEASURE_FIRST+ 9);     /*   1156 */ /* Pool V4 */
+constexpr TypedWhichId<SdrYesNoItem>                   SDRATTR_MEASURETEXTUPSIDEDOWN    (SDRATTR_MEASURE_FIRST+10);     /*   1157 */ /* Pool V4 */
+constexpr TypedWhichId<SdrMeasureOverhangItem>         SDRATTR_MEASUREOVERHANG          (SDRATTR_MEASURE_FIRST+11);     /*   1158 */ /* Pool V4 */
+constexpr TypedWhichId<SdrMeasureUnitItem>             SDRATTR_MEASUREUNIT              (SDRATTR_MEASURE_FIRST+12);     /*   1159 */ /* Pool V4 */
+constexpr TypedWhichId<SdrMeasureScaleItem>            SDRATTR_MEASURESCALE             (SDRATTR_MEASURE_FIRST+13);     /*   1160 */ /* Pool V4 */
+constexpr TypedWhichId<SdrYesNoItem>                   SDRATTR_MEASURESHOWUNIT          (SDRATTR_MEASURE_FIRST+14);     /*   1161 */ /* Pool V4 */
+constexpr TypedWhichId<SdrMeasureFormatStringItem>     SDRATTR_MEASUREFORMATSTRING      (SDRATTR_MEASURE_FIRST+15);     /*   1162 */ /* Pool V4 */
+constexpr TypedWhichId<SdrMeasureTextAutoAngleItem>    SDRATTR_MEASURETEXTAUTOANGLE     (SDRATTR_MEASURE_FIRST+16);     /*   1163 */ /* Pool V4, Correction 25-9-1996 */
+constexpr TypedWhichId<SdrAngleItem>                   SDRATTR_MEASURETEXTAUTOANGLEVIEW (SDRATTR_MEASURE_FIRST+17);     /*   1164 */ /* Pool V4, Correction 25-9-1996  */
+constexpr TypedWhichId<SdrMeasureTextIsFixedAngleItem> SDRATTR_MEASURETEXTISFIXEDANGLE  (SDRATTR_MEASURE_FIRST+18);     /*   1165 */ /* Pool V4, Correction 25-9-1996  */
+constexpr TypedWhichId<SdrMeasureTextFixedAngleItem>   SDRATTR_MEASURETEXTFIXEDANGLE    (SDRATTR_MEASURE_FIRST+19);     /*   1166 */ /* Pool V4, Correction 25-9-1996  */
+constexpr TypedWhichId<SdrMeasureDecimalPlacesItem>    SDRATTR_MEASUREDECIMALPLACES     (SDRATTR_MEASURE_FIRST+20);     /*   1167 */ /* Pool V4 */
+constexpr sal_uInt16                                   SDRATTR_MEASURE_LAST             (SDRATTR_MEASUREDECIMALPLACES); /* 1170   */ /* Pool V4 */
 
-#define SDRATTR_CIRC_FIRST              (SDRATTR_MEASURE_LAST+ 1)                                        /* 1172   */ /* Pool V4+ */
-#define SDRATTR_CIRCKIND                TypedWhichId<SdrCircKindItem>(SDRATTR_CIRC_FIRST+ 0)             /*   1172 */ /* Pool V4+ */
-#define SDRATTR_CIRCSTARTANGLE          TypedWhichId<SdrAngleItem>(SDRATTR_CIRC_FIRST+ 1)                /*   1173 */ /* Pool V4+ */
-#define SDRATTR_CIRCENDANGLE            TypedWhichId<SdrAngleItem>(SDRATTR_CIRC_FIRST+ 2)                /*   1174 */ /* Pool V4+ */
-#define SDRATTR_CIRC_LAST               (SDRATTR_CIRCENDANGLE)                                           /*   1178 */ /* Pool V4+ */
+constexpr sal_uInt16                    SDRATTR_CIRC_FIRST     (SDRATTR_MEASURE_LAST+ 1); /* 1172   */ /* Pool V4+ */
+constexpr TypedWhichId<SdrCircKindItem> SDRATTR_CIRCKIND       (SDRATTR_CIRC_FIRST+ 0);   /*   1172 */ /* Pool V4+ */
+constexpr TypedWhichId<SdrAngleItem>    SDRATTR_CIRCSTARTANGLE (SDRATTR_CIRC_FIRST+ 1);   /*   1173 */ /* Pool V4+ */
+constexpr TypedWhichId<SdrAngleItem>    SDRATTR_CIRCENDANGLE   (SDRATTR_CIRC_FIRST+ 2);   /*   1174 */ /* Pool V4+ */
+constexpr sal_uInt16                    SDRATTR_CIRC_LAST      (SDRATTR_CIRCENDANGLE);    /*   1178 */ /* Pool V4+ */
 
 // Only for Interfacing, not yet implemented. / * + * V4 /
-#define SDRATTR_NOTPERSIST_FIRST    (SDRATTR_CIRC_LAST + 1)                                             /* 1180   */ /* 1172   */ /* 1127   */ /* 1110   */ /* Pool V1: 1058 */
-#define SDRATTR_OBJMOVEPROTECT      TypedWhichId<SdrYesNoItem>(SDRATTR_NOTPERSIST_FIRST+ 0)             /*   1180  sal_Bool,   def=sal_False */
-#define SDRATTR_OBJSIZEPROTECT      TypedWhichId<SdrYesNoItem>(SDRATTR_NOTPERSIST_FIRST+ 1)             /*   1181  sal_Bool,   def=sal_False */
-#define SDRATTR_OBJPRINTABLE        TypedWhichId<SdrObjPrintableItem>(SDRATTR_NOTPERSIST_FIRST+ 2)      /*   1182  sal_Bool,   def=sal_True  */
-#define SDRATTR_LAYERID             TypedWhichId<SdrLayerIdItem>(SDRATTR_NOTPERSIST_FIRST+ 3)           /*   1183  sal_uInt16, def=0     */
-#define SDRATTR_LAYERNAME           TypedWhichId<SdrLayerNameItem>(SDRATTR_NOTPERSIST_FIRST+ 4)         /*   1184  String, def=""    */
-#define SDRATTR_OBJECTNAME          TypedWhichId<SfxStringItem>(SDRATTR_NOTPERSIST_FIRST+ 5)            /*   1185  String, def=""    */
-#define SDRATTR_ALLPOSITIONX        TypedWhichId<SdrAllPositionXItem>(SDRATTR_NOTPERSIST_FIRST+ 6)      /*   1186  long,   def=0     */
-#define SDRATTR_ALLPOSITIONY        TypedWhichId<SdrAllPositionYItem>(SDRATTR_NOTPERSIST_FIRST+ 7)      /*   1187  long,   def=0     */
-#define SDRATTR_ALLSIZEWIDTH        TypedWhichId<SdrAllSizeWidthItem>(SDRATTR_NOTPERSIST_FIRST+ 8)      /*   1188  long,   def=0     */
-#define SDRATTR_ALLSIZEHEIGHT       TypedWhichId<SdrAllSizeHeightItem>(SDRATTR_NOTPERSIST_FIRST+ 9)     /*   1189  long,   def=0     */
-#define SDRATTR_ONEPOSITIONX        TypedWhichId<SdrOnePositionXItem>(SDRATTR_NOTPERSIST_FIRST+10)      /*   1190  long,   def=0     */
-#define SDRATTR_ONEPOSITIONY        TypedWhichId<SdrOnePositionYItem>(SDRATTR_NOTPERSIST_FIRST+11)      /*   1191  long,   def=0     */
-#define SDRATTR_ONESIZEWIDTH        TypedWhichId<SdrOneSizeWidthItem>(SDRATTR_NOTPERSIST_FIRST+12)      /*   1192  long,   def=0     */
-#define SDRATTR_ONESIZEHEIGHT       TypedWhichId<SdrOneSizeHeightItem>(SDRATTR_NOTPERSIST_FIRST+13)     /*   1193  long,   def=0     */
-#define SDRATTR_LOGICSIZEWIDTH      TypedWhichId<SdrLogicSizeWidthItem>(SDRATTR_NOTPERSIST_FIRST+14)    /*   1194  long,   def=0     */
-#define SDRATTR_LOGICSIZEHEIGHT     TypedWhichId<SdrLogicSizeHeightItem>(SDRATTR_NOTPERSIST_FIRST+15)   /*   1195  long,   def=0     */
-#define SDRATTR_ROTATEANGLE         TypedWhichId<SdrAngleItem>(SDRATTR_NOTPERSIST_FIRST+16)             /*   1196  long,   def=0     */
-#define SDRATTR_SHEARANGLE          TypedWhichId<SdrShearAngleItem>(SDRATTR_NOTPERSIST_FIRST+17)        /*   1197  long,   def=0     */
-#define SDRATTR_MOVEX               TypedWhichId<SdrMoveXItem>(SDRATTR_NOTPERSIST_FIRST+18)             /*   1198  long,   def=0     */
-#define SDRATTR_MOVEY               TypedWhichId<SdrMoveYItem>(SDRATTR_NOTPERSIST_FIRST+19)             /*   1199  long,   def=0     */
-#define SDRATTR_RESIZEXONE          TypedWhichId<SdrResizeXOneItem>(SDRATTR_NOTPERSIST_FIRST+20)        /*   1200  long,   def=0     */
-#define SDRATTR_RESIZEYONE          TypedWhichId<SdrResizeYOneItem>(SDRATTR_NOTPERSIST_FIRST+21)        /*   1201  long,   def=0     */
-#define SDRATTR_ROTATEONE           TypedWhichId<SdrRotateOneItem>(SDRATTR_NOTPERSIST_FIRST+22)         /*   1202  long,   def=0     */
-#define SDRATTR_HORZSHEARONE        TypedWhichId<SdrHorzShearOneItem>(SDRATTR_NOTPERSIST_FIRST+23)      /*   1203  long,   def=0     */
-#define SDRATTR_VERTSHEARONE        TypedWhichId<SdrVertShearOneItem>(SDRATTR_NOTPERSIST_FIRST+24)      /*   1204  long,   def=0     */
-#define SDRATTR_RESIZEXALL          TypedWhichId<SdrResizeXAllItem>(SDRATTR_NOTPERSIST_FIRST+25)        /*   1205  long,   def=0     */
-#define SDRATTR_RESIZEYALL          TypedWhichId<SdrResizeYAllItem>(SDRATTR_NOTPERSIST_FIRST+26)        /*   1206  long,   def=0     */
-#define SDRATTR_ROTATEALL           TypedWhichId<SdrRotateAllItem>(SDRATTR_NOTPERSIST_FIRST+27)         /*   1207  long,   def=0     */
-#define SDRATTR_HORZSHEARALL        TypedWhichId<SdrHorzShearAllItem>(SDRATTR_NOTPERSIST_FIRST+28)      /*   1208  long,   def=0     */
-#define SDRATTR_VERTSHEARALL        TypedWhichId<SdrVertShearAllItem>(SDRATTR_NOTPERSIST_FIRST+29)      /*   1209  long,   def=0     */
-#define SDRATTR_TRANSFORMREF1X      TypedWhichId<SdrTransformRef1XItem>(SDRATTR_NOTPERSIST_FIRST+30)    /*   1210  long,   def=0     */
-#define SDRATTR_TRANSFORMREF1Y      TypedWhichId<SdrTransformRef1YItem>(SDRATTR_NOTPERSIST_FIRST+31)    /*   1211  long,   def=0     */
-#define SDRATTR_TRANSFORMREF2X      TypedWhichId<SdrTransformRef2XItem>(SDRATTR_NOTPERSIST_FIRST+32)    /*   1212  long,   def=0     */
-#define SDRATTR_TRANSFORMREF2Y      TypedWhichId<SdrTransformRef2YItem>(SDRATTR_NOTPERSIST_FIRST+33)    /*   1213  long,   def=0     */
-#define SDRATTR_TEXTDIRECTION       TypedWhichId<SvxWritingModeItem>(SDRATTR_NOTPERSIST_FIRST+34)       /*   1214 V4+++  long,   def=0     */
-#define SDRATTR_OBJVISIBLE          TypedWhichId<SdrObjVisibleItem>(SDRATTR_NOTPERSIST_FIRST+35)
-#define SDRATTR_NOTPERSIST_LAST     (SDRATTR_OBJVISIBLE)                                                /*   1228 V4+++*/ /* 1213*/  /*  1085 */ /*  1040 */ /*  1123 */ /* Pool V1: 1065 */
+constexpr sal_uInt16                           SDRATTR_NOTPERSIST_FIRST (SDRATTR_CIRC_LAST + 1);      /* 1180   */ /* 1172   */ /* 1127   */ /* 1110   */ /* Pool V1: 1058 */
+constexpr TypedWhichId<SdrYesNoItem>           SDRATTR_OBJMOVEPROTECT  (SDRATTR_NOTPERSIST_FIRST+ 0); /*   1180  sal_Bool,   def=sal_False */
+constexpr TypedWhichId<SdrYesNoItem>           SDRATTR_OBJSIZEPROTECT  (SDRATTR_NOTPERSIST_FIRST+ 1); /*   1181  sal_Bool,   def=sal_False */
+constexpr TypedWhichId<SdrObjPrintableItem>    SDRATTR_OBJPRINTABLE    (SDRATTR_NOTPERSIST_FIRST+ 2); /*   1182  sal_Bool,   def=sal_True  */
+constexpr TypedWhichId<SdrLayerIdItem>         SDRATTR_LAYERID         (SDRATTR_NOTPERSIST_FIRST+ 3); /*   1183  sal_uInt16, def=0     */
+constexpr TypedWhichId<SdrLayerNameItem>       SDRATTR_LAYERNAME       (SDRATTR_NOTPERSIST_FIRST+ 4); /*   1184  String, def=""    */
+constexpr TypedWhichId<SfxStringItem>          SDRATTR_OBJECTNAME      (SDRATTR_NOTPERSIST_FIRST+ 5); /*   1185  String, def=""    */
+constexpr TypedWhichId<SdrAllPositionXItem>    SDRATTR_ALLPOSITIONX    (SDRATTR_NOTPERSIST_FIRST+ 6); /*   1186  long,   def=0     */
+constexpr TypedWhichId<SdrAllPositionYItem>    SDRATTR_ALLPOSITIONY    (SDRATTR_NOTPERSIST_FIRST+ 7); /*   1187  long,   def=0     */
+constexpr TypedWhichId<SdrAllSizeWidthItem>    SDRATTR_ALLSIZEWIDTH    (SDRATTR_NOTPERSIST_FIRST+ 8); /*   1188  long,   def=0     */
+constexpr TypedWhichId<SdrAllSizeHeightItem>   SDRATTR_ALLSIZEHEIGHT   (SDRATTR_NOTPERSIST_FIRST+ 9); /*   1189  long,   def=0     */
+constexpr TypedWhichId<SdrOnePositionXItem>    SDRATTR_ONEPOSITIONX    (SDRATTR_NOTPERSIST_FIRST+10); /*   1190  long,   def=0     */
+constexpr TypedWhichId<SdrOnePositionYItem>    SDRATTR_ONEPOSITIONY    (SDRATTR_NOTPERSIST_FIRST+11); /*   1191  long,   def=0     */
+constexpr TypedWhichId<SdrOneSizeWidthItem>    SDRATTR_ONESIZEWIDTH    (SDRATTR_NOTPERSIST_FIRST+12); /*   1192  long,   def=0     */
+constexpr TypedWhichId<SdrOneSizeHeightItem>   SDRATTR_ONESIZEHEIGHT   (SDRATTR_NOTPERSIST_FIRST+13); /*   1193  long,   def=0     */
+constexpr TypedWhichId<SdrLogicSizeWidthItem>  SDRATTR_LOGICSIZEWIDTH  (SDRATTR_NOTPERSIST_FIRST+14); /*   1194  long,   def=0     */
+constexpr TypedWhichId<SdrLogicSizeHeightItem> SDRATTR_LOGICSIZEHEIGHT (SDRATTR_NOTPERSIST_FIRST+15); /*   1195  long,   def=0     */
+constexpr TypedWhichId<SdrAngleItem>           SDRATTR_ROTATEANGLE     (SDRATTR_NOTPERSIST_FIRST+16); /*   1196  long,   def=0     */
+constexpr TypedWhichId<SdrShearAngleItem>      SDRATTR_SHEARANGLE      (SDRATTR_NOTPERSIST_FIRST+17); /*   1197  long,   def=0     */
+constexpr TypedWhichId<SdrMoveXItem>           SDRATTR_MOVEX           (SDRATTR_NOTPERSIST_FIRST+18); /*   1198  long,   def=0     */
+constexpr TypedWhichId<SdrMoveYItem>           SDRATTR_MOVEY           (SDRATTR_NOTPERSIST_FIRST+19); /*   1199  long,   def=0     */
+constexpr TypedWhichId<SdrResizeXOneItem>      SDRATTR_RESIZEXONE      (SDRATTR_NOTPERSIST_FIRST+20); /*   1200  long,   def=0     */
+constexpr TypedWhichId<SdrResizeYOneItem>      SDRATTR_RESIZEYONE      (SDRATTR_NOTPERSIST_FIRST+21); /*   1201  long,   def=0     */
+constexpr TypedWhichId<SdrRotateOneItem>       SDRATTR_ROTATEONE       (SDRATTR_NOTPERSIST_FIRST+22); /*   1202  long,   def=0     */
+constexpr TypedWhichId<SdrHorzShearOneItem>    SDRATTR_HORZSHEARONE    (SDRATTR_NOTPERSIST_FIRST+23); /*   1203  long,   def=0     */
+constexpr TypedWhichId<SdrVertShearOneItem>    SDRATTR_VERTSHEARONE    (SDRATTR_NOTPERSIST_FIRST+24); /*   1204  long,   def=0     */
+constexpr TypedWhichId<SdrResizeXAllItem>      SDRATTR_RESIZEXALL      (SDRATTR_NOTPERSIST_FIRST+25); /*   1205  long,   def=0     */
+constexpr TypedWhichId<SdrResizeYAllItem>      SDRATTR_RESIZEYALL      (SDRATTR_NOTPERSIST_FIRST+26); /*   1206  long,   def=0     */
+constexpr TypedWhichId<SdrRotateAllItem>       SDRATTR_ROTATEALL       (SDRATTR_NOTPERSIST_FIRST+27); /*   1207  long,   def=0     */
+constexpr TypedWhichId<SdrHorzShearAllItem>    SDRATTR_HORZSHEARALL    (SDRATTR_NOTPERSIST_FIRST+28); /*   1208  long,   def=0     */
+constexpr TypedWhichId<SdrVertShearAllItem>    SDRATTR_VERTSHEARALL    (SDRATTR_NOTPERSIST_FIRST+29); /*   1209  long,   def=0     */
+constexpr TypedWhichId<SdrTransformRef1XItem>  SDRATTR_TRANSFORMREF1X  (SDRATTR_NOTPERSIST_FIRST+30); /*   1210  long,   def=0     */
+constexpr TypedWhichId<SdrTransformRef1YItem>  SDRATTR_TRANSFORMREF1Y  (SDRATTR_NOTPERSIST_FIRST+31); /*   1211  long,   def=0     */
+constexpr TypedWhichId<SdrTransformRef2XItem>  SDRATTR_TRANSFORMREF2X  (SDRATTR_NOTPERSIST_FIRST+32); /*   1212  long,   def=0     */
+constexpr TypedWhichId<SdrTransformRef2YItem>  SDRATTR_TRANSFORMREF2Y  (SDRATTR_NOTPERSIST_FIRST+33); /*   1213  long,   def=0     */
+constexpr TypedWhichId<SvxWritingModeItem>     SDRATTR_TEXTDIRECTION   (SDRATTR_NOTPERSIST_FIRST+34); /*   1214 V4+++  long,   def=0     */
+constexpr TypedWhichId<SdrObjVisibleItem>      SDRATTR_OBJVISIBLE      (SDRATTR_NOTPERSIST_FIRST+35);
+constexpr sal_uInt16                           SDRATTR_NOTPERSIST_LAST (SDRATTR_OBJVISIBLE);          /*   1228 V4+++*/ /* 1213*/  /*  1085 */ /*  1040 */ /*  1123 */ /* Pool V1: 1065 */
 // no SetItem for this
 
-#define SDRATTR_GRAF_FIRST          (SDRATTR_NOTPERSIST_LAST+1)                                         /*  1229 V4+++*/
-#define SDRATTR_GRAFRED             TypedWhichId<SdrGrafRedItem>(SDRATTR_GRAF_FIRST+0)                  /*  1229 V4+++*/
-#define SDRATTR_GRAFGREEN           TypedWhichId<SdrGrafGreenItem>(SDRATTR_GRAF_FIRST+1)                /*  1230 V4+++*/
-#define SDRATTR_GRAFBLUE            TypedWhichId<SdrGrafBlueItem>(SDRATTR_GRAF_FIRST+2)                 /*  1231 V4+++*/
-#define SDRATTR_GRAFLUMINANCE       TypedWhichId<SdrGrafLuminanceItem>(SDRATTR_GRAF_FIRST+3)            /*  1232 V4+++*/
-#define SDRATTR_GRAFCONTRAST        TypedWhichId<SdrGrafContrastItem>(SDRATTR_GRAF_FIRST+4)             /*  1233 V4+++*/
-#define SDRATTR_GRAFGAMMA           TypedWhichId<SdrGrafGamma100Item>(SDRATTR_GRAF_FIRST+5)             /*  1234 V4+++*/
-#define SDRATTR_GRAFTRANSPARENCE    TypedWhichId<SdrGrafTransparenceItem>(SDRATTR_GRAF_FIRST+6)         /*  1235 V4+++*/
-#define SDRATTR_GRAFINVERT          TypedWhichId<SdrGrafInvertItem>(SDRATTR_GRAF_FIRST+7)               /*  1236 V4+++*/
-#define SDRATTR_GRAFMODE            TypedWhichId<SdrGrafModeItem>(SDRATTR_GRAF_FIRST+8)                 /*  1237 V4+++*/
-#define SDRATTR_GRAFCROP            TypedWhichId<SdrGrafCropItem>(SDRATTR_GRAF_FIRST+9)                 /*  1238 V4+++*/
-#define SDRATTR_GRAF_LAST           (SDRATTR_GRAFCROP)                                                  /*  1242 V4+++*/
+constexpr sal_uInt16                            SDRATTR_GRAF_FIRST       (SDRATTR_NOTPERSIST_LAST+1); /*  1229 V4+++*/
+constexpr TypedWhichId<SdrGrafRedItem>          SDRATTR_GRAFRED          (SDRATTR_GRAF_FIRST+0);      /*  1229 V4+++*/
+constexpr TypedWhichId<SdrGrafGreenItem>        SDRATTR_GRAFGREEN        (SDRATTR_GRAF_FIRST+1);      /*  1230 V4+++*/
+constexpr TypedWhichId<SdrGrafBlueItem>         SDRATTR_GRAFBLUE         (SDRATTR_GRAF_FIRST+2);      /*  1231 V4+++*/
+constexpr TypedWhichId<SdrGrafLuminanceItem>    SDRATTR_GRAFLUMINANCE    (SDRATTR_GRAF_FIRST+3);      /*  1232 V4+++*/
+constexpr TypedWhichId<SdrGrafContrastItem>     SDRATTR_GRAFCONTRAST     (SDRATTR_GRAF_FIRST+4);      /*  1233 V4+++*/
+constexpr TypedWhichId<SdrGrafGamma100Item>     SDRATTR_GRAFGAMMA        (SDRATTR_GRAF_FIRST+5);      /*  1234 V4+++*/
+constexpr TypedWhichId<SdrGrafTransparenceItem> SDRATTR_GRAFTRANSPARENCE (SDRATTR_GRAF_FIRST+6);      /*  1235 V4+++*/
+constexpr TypedWhichId<SdrGrafInvertItem>       SDRATTR_GRAFINVERT       (SDRATTR_GRAF_FIRST+7);      /*  1236 V4+++*/
+constexpr TypedWhichId<SdrGrafModeItem>         SDRATTR_GRAFMODE         (SDRATTR_GRAF_FIRST+8);      /*  1237 V4+++*/
+constexpr TypedWhichId<SdrGrafCropItem>         SDRATTR_GRAFCROP         (SDRATTR_GRAF_FIRST+9);      /*  1238 V4+++*/
+constexpr sal_uInt16                            SDRATTR_GRAF_LAST        (SDRATTR_GRAFCROP);          /*  1242 V4+++*/
 
-#define SDRATTR_3D_FIRST                        (SDRATTR_GRAF_LAST + 1)     /* 1244 V4+++*/
+constexpr sal_uInt16 SDRATTR_3D_FIRST (SDRATTR_GRAF_LAST + 1);     /* 1244 V4+++*/
 
-#define SDRATTR_3DOBJ_FIRST                     (SDRATTR_3D_FIRST)          /* 1244 V4+++*/
-#define SDRATTR_3DOBJ_PERCENT_DIAGONAL          TypedWhichId<SfxUInt16Item>(SDRATTR_3DOBJ_FIRST + 0)   /* 1244 V4+++*/
-#define SDRATTR_3DOBJ_BACKSCALE                 TypedWhichId<SfxUInt16Item>(SDRATTR_3DOBJ_FIRST + 1)   /* 1245 V4+++*/
-#define SDRATTR_3DOBJ_DEPTH                     TypedWhichId<SfxUInt32Item>(SDRATTR_3DOBJ_FIRST + 2)   /* 1246 V4+++*/
-#define SDRATTR_3DOBJ_HORZ_SEGS                 TypedWhichId<SfxUInt32Item>(SDRATTR_3DOBJ_FIRST + 3)   /* 1247 V4+++*/
-#define SDRATTR_3DOBJ_VERT_SEGS                 TypedWhichId<SfxUInt32Item>(SDRATTR_3DOBJ_FIRST + 4)   /* 1248 V4+++*/
-#define SDRATTR_3DOBJ_END_ANGLE                 TypedWhichId<SfxUInt32Item>(SDRATTR_3DOBJ_FIRST + 5)   /* 1249 V4+++*/
-#define SDRATTR_3DOBJ_DOUBLE_SIDED              TypedWhichId<SfxBoolItem>(SDRATTR_3DOBJ_FIRST + 6)   /* 1250 V4+++*/
-#define SDRATTR_3DOBJ_NORMALS_KIND              TypedWhichId<Svx3DNormalsKindItem>(SDRATTR_3DOBJ_FIRST + 7)   /* 1251 V4+++*/
-#define SDRATTR_3DOBJ_NORMALS_INVERT            TypedWhichId<SfxBoolItem>(SDRATTR_3DOBJ_FIRST + 8)   /* 1252 V4+++*/
-#define SDRATTR_3DOBJ_TEXTURE_PROJ_X            TypedWhichId<Svx3DTextureProjectionXItem>(SDRATTR_3DOBJ_FIRST + 9)   /* 1253 V4+++*/
-#define SDRATTR_3DOBJ_TEXTURE_PROJ_Y            TypedWhichId<Svx3DTextureProjectionYItem>(SDRATTR_3DOBJ_FIRST + 10)  /* 1254 V4+++*/
-#define SDRATTR_3DOBJ_SHADOW_3D                 TypedWhichId<SfxBoolItem>(SDRATTR_3DOBJ_FIRST + 11)  /* 1255 V4+++*/
-#define SDRATTR_3DOBJ_MAT_COLOR                 TypedWhichId<SvxColorItem>(SDRATTR_3DOBJ_FIRST + 12)  /* 1256 V4+++*/
-#define SDRATTR_3DOBJ_MAT_EMISSION              TypedWhichId<SvxColorItem>(SDRATTR_3DOBJ_FIRST + 13)  /* 1257 V4+++*/
-#define SDRATTR_3DOBJ_MAT_SPECULAR              TypedWhichId<SvxColorItem>(SDRATTR_3DOBJ_FIRST + 14)  /* 1258 V4+++*/
-#define SDRATTR_3DOBJ_MAT_SPECULAR_INTENSITY    TypedWhichId<SfxUInt16Item>(SDRATTR_3DOBJ_FIRST + 15)  /* 1259 V4+++*/
-#define SDRATTR_3DOBJ_TEXTURE_KIND              TypedWhichId<Svx3DTextureKindItem>(SDRATTR_3DOBJ_FIRST + 16)  /* 1260 V4+++*/
-#define SDRATTR_3DOBJ_TEXTURE_MODE              TypedWhichId<Svx3DTextureModeItem>(SDRATTR_3DOBJ_FIRST + 17)  /* 1261 V4+++*/
-#define SDRATTR_3DOBJ_TEXTURE_FILTER            TypedWhichId<SfxBoolItem>(SDRATTR_3DOBJ_FIRST + 18)  /* 1262 V4+++*/
+constexpr sal_uInt16                                SDRATTR_3DOBJ_FIRST                  (SDRATTR_3D_FIRST);          /* 1244 V4+++*/
+constexpr TypedWhichId<SfxUInt16Item>               SDRATTR_3DOBJ_PERCENT_DIAGONAL       (SDRATTR_3DOBJ_FIRST + 0);   /* 1244 V4+++*/
+constexpr TypedWhichId<SfxUInt16Item>               SDRATTR_3DOBJ_BACKSCALE              (SDRATTR_3DOBJ_FIRST + 1);   /* 1245 V4+++*/
+constexpr TypedWhichId<SfxUInt32Item>               SDRATTR_3DOBJ_DEPTH                  (SDRATTR_3DOBJ_FIRST + 2);   /* 1246 V4+++*/
+constexpr TypedWhichId<SfxUInt32Item>               SDRATTR_3DOBJ_HORZ_SEGS              (SDRATTR_3DOBJ_FIRST + 3);   /* 1247 V4+++*/
+constexpr TypedWhichId<SfxUInt32Item>               SDRATTR_3DOBJ_VERT_SEGS              (SDRATTR_3DOBJ_FIRST + 4);   /* 1248 V4+++*/
+constexpr TypedWhichId<SfxUInt32Item>               SDRATTR_3DOBJ_END_ANGLE              (SDRATTR_3DOBJ_FIRST + 5);   /* 1249 V4+++*/
+constexpr TypedWhichId<SfxBoolItem>                 SDRATTR_3DOBJ_DOUBLE_SIDED           (SDRATTR_3DOBJ_FIRST + 6);   /* 1250 V4+++*/
+constexpr TypedWhichId<Svx3DNormalsKindItem>        SDRATTR_3DOBJ_NORMALS_KIND           (SDRATTR_3DOBJ_FIRST + 7);   /* 1251 V4+++*/
+constexpr TypedWhichId<SfxBoolItem>                 SDRATTR_3DOBJ_NORMALS_INVERT         (SDRATTR_3DOBJ_FIRST + 8);   /* 1252 V4+++*/
+constexpr TypedWhichId<Svx3DTextureProjectionXItem> SDRATTR_3DOBJ_TEXTURE_PROJ_X         (SDRATTR_3DOBJ_FIRST + 9);   /* 1253 V4+++*/
+constexpr TypedWhichId<Svx3DTextureProjectionYItem> SDRATTR_3DOBJ_TEXTURE_PROJ_Y         (SDRATTR_3DOBJ_FIRST + 10);  /* 1254 V4+++*/
+constexpr TypedWhichId<SfxBoolItem>                 SDRATTR_3DOBJ_SHADOW_3D              (SDRATTR_3DOBJ_FIRST + 11);  /* 1255 V4+++*/
+constexpr TypedWhichId<SvxColorItem>                SDRATTR_3DOBJ_MAT_COLOR              (SDRATTR_3DOBJ_FIRST + 12);  /* 1256 V4+++*/
+constexpr TypedWhichId<SvxColorItem>                SDRATTR_3DOBJ_MAT_EMISSION           (SDRATTR_3DOBJ_FIRST + 13);  /* 1257 V4+++*/
+constexpr TypedWhichId<SvxColorItem>                SDRATTR_3DOBJ_MAT_SPECULAR           (SDRATTR_3DOBJ_FIRST + 14);  /* 1258 V4+++*/
+constexpr TypedWhichId<SfxUInt16Item>               SDRATTR_3DOBJ_MAT_SPECULAR_INTENSITY (SDRATTR_3DOBJ_FIRST + 15);  /* 1259 V4+++*/
+constexpr TypedWhichId<Svx3DTextureKindItem>        SDRATTR_3DOBJ_TEXTURE_KIND           (SDRATTR_3DOBJ_FIRST + 16);  /* 1260 V4+++*/
+constexpr TypedWhichId<Svx3DTextureModeItem>        SDRATTR_3DOBJ_TEXTURE_MODE           (SDRATTR_3DOBJ_FIRST + 17);  /* 1261 V4+++*/
+constexpr TypedWhichId<SfxBoolItem>                 SDRATTR_3DOBJ_TEXTURE_FILTER         (SDRATTR_3DOBJ_FIRST + 18);  /* 1262 V4+++*/
 
 // #107245# New items for 3d objects use former range SDRATTR_3DOBJ_RESERVED_01
 // up to SDRATTR_3DOBJ_RESERVED_05
-#define SDRATTR_3DOBJ_SMOOTH_NORMALS            TypedWhichId<Svx3DSmoothNormalsItem>(SDRATTR_3DOBJ_FIRST + 19)  /* 1263 V4+++*/
-#define SDRATTR_3DOBJ_SMOOTH_LIDS               TypedWhichId<Svx3DSmoothLidsItem>(SDRATTR_3DOBJ_FIRST + 20)  /* 1264 V4+++*/
-#define SDRATTR_3DOBJ_CHARACTER_MODE            TypedWhichId<Svx3DCharacterModeItem>(SDRATTR_3DOBJ_FIRST + 21)  /* 1265 V4+++*/
-#define SDRATTR_3DOBJ_CLOSE_FRONT               TypedWhichId<Svx3DCloseFrontItem>(SDRATTR_3DOBJ_FIRST + 22)  /* 1266 V4+++*/
-#define SDRATTR_3DOBJ_CLOSE_BACK                TypedWhichId<Svx3DCloseBackItem>(SDRATTR_3DOBJ_FIRST + 23)  /* 1267 V4+++*/
+constexpr TypedWhichId<Svx3DSmoothNormalsItem> SDRATTR_3DOBJ_SMOOTH_NORMALS (SDRATTR_3DOBJ_FIRST + 19);  /* 1263 V4+++*/
+constexpr TypedWhichId<Svx3DSmoothLidsItem>    SDRATTR_3DOBJ_SMOOTH_LIDS    (SDRATTR_3DOBJ_FIRST + 20);  /* 1264 V4+++*/
+constexpr TypedWhichId<Svx3DCharacterModeItem> SDRATTR_3DOBJ_CHARACTER_MODE (SDRATTR_3DOBJ_FIRST + 21);  /* 1265 V4+++*/
+constexpr TypedWhichId<Svx3DCloseFrontItem>    SDRATTR_3DOBJ_CLOSE_FRONT    (SDRATTR_3DOBJ_FIRST + 22);  /* 1266 V4+++*/
+constexpr TypedWhichId<Svx3DCloseBackItem>     SDRATTR_3DOBJ_CLOSE_BACK     (SDRATTR_3DOBJ_FIRST + 23);  /* 1267 V4+++*/
 
 // #i28528#
 // Added extra Item (Bool) for chart2 to be able to show reduced line geometry
-#define SDRATTR_3DOBJ_REDUCED_LINE_GEOMETRY     TypedWhichId<Svx3DReducedLineGeometryItem>(SDRATTR_3DOBJ_FIRST + 24)  /* 1268 V4+++*/
+constexpr TypedWhichId<Svx3DReducedLineGeometryItem> SDRATTR_3DOBJ_REDUCED_LINE_GEOMETRY (SDRATTR_3DOBJ_FIRST + 24);  /* 1268 V4+++*/
 
-#define SDRATTR_3DOBJ_LAST                      (SDRATTR_3DOBJ_REDUCED_LINE_GEOMETRY)   /* 1282 V4+++*/
+constexpr sal_uInt16 SDRATTR_3DOBJ_LAST (SDRATTR_3DOBJ_REDUCED_LINE_GEOMETRY);   /* 1282 V4+++*/
 
-#define SDRATTR_3DSCENE_FIRST                   (SDRATTR_3DOBJ_LAST + 1)        /* 1283 V4+++*/
-#define SDRATTR_3DSCENE_PERSPECTIVE             TypedWhichId<Svx3DPerspectiveItem>(SDRATTR_3DSCENE_FIRST + 0)     /* 1283 V4+++*/
-#define SDRATTR_3DSCENE_DISTANCE                TypedWhichId<SfxUInt32Item>(SDRATTR_3DSCENE_FIRST + 1)     /* 1284 V4+++*/
-#define SDRATTR_3DSCENE_FOCAL_LENGTH            TypedWhichId<SfxUInt32Item>(SDRATTR_3DSCENE_FIRST + 2)     /* 1285 V4+++*/
-#define SDRATTR_3DSCENE_TWO_SIDED_LIGHTING      TypedWhichId<SfxBoolItem>(SDRATTR_3DSCENE_FIRST + 3)     /* 1286 V4+++*/
-#define SDRATTR_3DSCENE_LIGHTCOLOR_1            TypedWhichId<SvxColorItem>(SDRATTR_3DSCENE_FIRST + 4)     /* 1287 V4+++*/
-#define SDRATTR_3DSCENE_LIGHTCOLOR_2            TypedWhichId<SvxColorItem>(SDRATTR_3DSCENE_FIRST + 5)     /* 1288 V4+++*/
-#define SDRATTR_3DSCENE_LIGHTCOLOR_3            TypedWhichId<SvxColorItem>(SDRATTR_3DSCENE_FIRST + 6)     /* 1289 V4+++*/
-#define SDRATTR_3DSCENE_LIGHTCOLOR_4            TypedWhichId<SvxColorItem>(SDRATTR_3DSCENE_FIRST + 7)     /* 1290 V4+++*/
-#define SDRATTR_3DSCENE_LIGHTCOLOR_5            TypedWhichId<SvxColorItem>(SDRATTR_3DSCENE_FIRST + 8)     /* 1291 V4+++*/
-#define SDRATTR_3DSCENE_LIGHTCOLOR_6            TypedWhichId<SvxColorItem>(SDRATTR_3DSCENE_FIRST + 9)     /* 1292 V4+++*/
-#define SDRATTR_3DSCENE_LIGHTCOLOR_7            TypedWhichId<SvxColorItem>(SDRATTR_3DSCENE_FIRST + 10)    /* 1293 V4+++*/
-#define SDRATTR_3DSCENE_LIGHTCOLOR_8            TypedWhichId<SvxColorItem>(SDRATTR_3DSCENE_FIRST + 11)    /* 1294 V4+++*/
-#define SDRATTR_3DSCENE_AMBIENTCOLOR            TypedWhichId<SvxColorItem>(SDRATTR_3DSCENE_FIRST + 12)    /* 1295 V4+++*/
-#define SDRATTR_3DSCENE_LIGHTON_1               TypedWhichId<SfxBoolItem>(SDRATTR_3DSCENE_FIRST + 13)    /* 1296 V4+++*/
-#define SDRATTR_3DSCENE_LIGHTON_2               TypedWhichId<SfxBoolItem>(SDRATTR_3DSCENE_FIRST + 14)    /* 1297 V4+++*/
-#define SDRATTR_3DSCENE_LIGHTON_3               TypedWhichId<SfxBoolItem>(SDRATTR_3DSCENE_FIRST + 15)    /* 1298 V4+++*/
-#define SDRATTR_3DSCENE_LIGHTON_4               TypedWhichId<SfxBoolItem>(SDRATTR_3DSCENE_FIRST + 16)    /* 1299 V4+++*/
-#define SDRATTR_3DSCENE_LIGHTON_5               TypedWhichId<SfxBoolItem>(SDRATTR_3DSCENE_FIRST + 17)    /* 1300 V4+++*/
-#define SDRATTR_3DSCENE_LIGHTON_6               TypedWhichId<SfxBoolItem>(SDRATTR_3DSCENE_FIRST + 18)    /* 1301 V4+++*/
-#define SDRATTR_3DSCENE_LIGHTON_7               TypedWhichId<SfxBoolItem>(SDRATTR_3DSCENE_FIRST + 19)    /* 1302 V4+++*/
-#define SDRATTR_3DSCENE_LIGHTON_8               TypedWhichId<SfxBoolItem>(SDRATTR_3DSCENE_FIRST + 20)    /* 1303 V4+++*/
-#define SDRATTR_3DSCENE_LIGHTDIRECTION_1        TypedWhichId<SvxB3DVectorItem>(SDRATTR_3DSCENE_FIRST + 21)    /* 1304 V4+++*/
-#define SDRATTR_3DSCENE_LIGHTDIRECTION_2        TypedWhichId<SvxB3DVectorItem>(SDRATTR_3DSCENE_FIRST + 22)    /* 1305 V4+++*/
-#define SDRATTR_3DSCENE_LIGHTDIRECTION_3        TypedWhichId<SvxB3DVectorItem>(SDRATTR_3DSCENE_FIRST + 23)    /* 1306 V4+++*/
-#define SDRATTR_3DSCENE_LIGHTDIRECTION_4        TypedWhichId<SvxB3DVectorItem>(SDRATTR_3DSCENE_FIRST + 24)    /* 1307 V4+++*/
-#define SDRATTR_3DSCENE_LIGHTDIRECTION_5        TypedWhichId<SvxB3DVectorItem>(SDRATTR_3DSCENE_FIRST + 25)    /* 1308 V4+++*/
-#define SDRATTR_3DSCENE_LIGHTDIRECTION_6        TypedWhichId<SvxB3DVectorItem>(SDRATTR_3DSCENE_FIRST + 26)    /* 1309 V4+++*/
-#define SDRATTR_3DSCENE_LIGHTDIRECTION_7        TypedWhichId<SvxB3DVectorItem>(SDRATTR_3DSCENE_FIRST + 27)    /* 1310 V4+++*/
-#define SDRATTR_3DSCENE_LIGHTDIRECTION_8        TypedWhichId<SvxB3DVectorItem>(SDRATTR_3DSCENE_FIRST + 28)    /* 1311 V4+++*/
-#define SDRATTR_3DSCENE_SHADOW_SLANT            TypedWhichId<SfxUInt16Item>(SDRATTR_3DSCENE_FIRST + 29)    /* 1312 V4+++*/
-#define SDRATTR_3DSCENE_SHADE_MODE              TypedWhichId<Svx3DShadeModeItem>(SDRATTR_3DSCENE_FIRST + 30)    /* 1313 V4+++*/
-#define SDRATTR_3DSCENE_LAST                    (SDRATTR_3DSCENE_SHADE_MODE)    /* 1333 V4+++*/
-#define SDRATTR_3D_LAST                         (SDRATTR_3DSCENE_LAST)          /* 1333 V4+++*/
+constexpr sal_uInt16                         SDRATTR_3DSCENE_FIRST              (SDRATTR_3DOBJ_LAST + 1);        /* 1283 V4+++*/
+constexpr TypedWhichId<Svx3DPerspectiveItem> SDRATTR_3DSCENE_PERSPECTIVE        (SDRATTR_3DSCENE_FIRST + 0);     /* 1283 V4+++*/
+constexpr TypedWhichId<SfxUInt32Item>        SDRATTR_3DSCENE_DISTANCE           (SDRATTR_3DSCENE_FIRST + 1);     /* 1284 V4+++*/
+constexpr TypedWhichId<SfxUInt32Item>        SDRATTR_3DSCENE_FOCAL_LENGTH       (SDRATTR_3DSCENE_FIRST + 2);     /* 1285 V4+++*/
+constexpr TypedWhichId<SfxBoolItem>          SDRATTR_3DSCENE_TWO_SIDED_LIGHTING (SDRATTR_3DSCENE_FIRST + 3);     /* 1286 V4+++*/
+constexpr TypedWhichId<SvxColorItem>         SDRATTR_3DSCENE_LIGHTCOLOR_1       (SDRATTR_3DSCENE_FIRST + 4);     /* 1287 V4+++*/
+constexpr TypedWhichId<SvxColorItem>         SDRATTR_3DSCENE_LIGHTCOLOR_2       (SDRATTR_3DSCENE_FIRST + 5);     /* 1288 V4+++*/
+constexpr TypedWhichId<SvxColorItem>         SDRATTR_3DSCENE_LIGHTCOLOR_3       (SDRATTR_3DSCENE_FIRST + 6);     /* 1289 V4+++*/
+constexpr TypedWhichId<SvxColorItem>         SDRATTR_3DSCENE_LIGHTCOLOR_4       (SDRATTR_3DSCENE_FIRST + 7);     /* 1290 V4+++*/
+constexpr TypedWhichId<SvxColorItem>         SDRATTR_3DSCENE_LIGHTCOLOR_5       (SDRATTR_3DSCENE_FIRST + 8);     /* 1291 V4+++*/
+constexpr TypedWhichId<SvxColorItem>         SDRATTR_3DSCENE_LIGHTCOLOR_6       (SDRATTR_3DSCENE_FIRST + 9);     /* 1292 V4+++*/
+constexpr TypedWhichId<SvxColorItem>         SDRATTR_3DSCENE_LIGHTCOLOR_7       (SDRATTR_3DSCENE_FIRST + 10);    /* 1293 V4+++*/
+constexpr TypedWhichId<SvxColorItem>         SDRATTR_3DSCENE_LIGHTCOLOR_8       (SDRATTR_3DSCENE_FIRST + 11);    /* 1294 V4+++*/
+constexpr TypedWhichId<SvxColorItem>         SDRATTR_3DSCENE_AMBIENTCOLOR       (SDRATTR_3DSCENE_FIRST + 12);    /* 1295 V4+++*/
+constexpr TypedWhichId<SfxBoolItem>          SDRATTR_3DSCENE_LIGHTON_1          (SDRATTR_3DSCENE_FIRST + 13);    /* 1296 V4+++*/
+constexpr TypedWhichId<SfxBoolItem>          SDRATTR_3DSCENE_LIGHTON_2          (SDRATTR_3DSCENE_FIRST + 14);    /* 1297 V4+++*/
+constexpr TypedWhichId<SfxBoolItem>          SDRATTR_3DSCENE_LIGHTON_3          (SDRATTR_3DSCENE_FIRST + 15);    /* 1298 V4+++*/
+constexpr TypedWhichId<SfxBoolItem>          SDRATTR_3DSCENE_LIGHTON_4          (SDRATTR_3DSCENE_FIRST + 16);    /* 1299 V4+++*/
+constexpr TypedWhichId<SfxBoolItem>          SDRATTR_3DSCENE_LIGHTON_5          (SDRATTR_3DSCENE_FIRST + 17);    /* 1300 V4+++*/
+constexpr TypedWhichId<SfxBoolItem>          SDRATTR_3DSCENE_LIGHTON_6          (SDRATTR_3DSCENE_FIRST + 18);    /* 1301 V4+++*/
+constexpr TypedWhichId<SfxBoolItem>          SDRATTR_3DSCENE_LIGHTON_7          (SDRATTR_3DSCENE_FIRST + 19);    /* 1302 V4+++*/
+constexpr TypedWhichId<SfxBoolItem>          SDRATTR_3DSCENE_LIGHTON_8          (SDRATTR_3DSCENE_FIRST + 20);    /* 1303 V4+++*/
+constexpr TypedWhichId<SvxB3DVectorItem>     SDRATTR_3DSCENE_LIGHTDIRECTION_1   (SDRATTR_3DSCENE_FIRST + 21);    /* 1304 V4+++*/
+constexpr TypedWhichId<SvxB3DVectorItem>     SDRATTR_3DSCENE_LIGHTDIRECTION_2   (SDRATTR_3DSCENE_FIRST + 22);    /* 1305 V4+++*/
+constexpr TypedWhichId<SvxB3DVectorItem>     SDRATTR_3DSCENE_LIGHTDIRECTION_3   (SDRATTR_3DSCENE_FIRST + 23);    /* 1306 V4+++*/
+constexpr TypedWhichId<SvxB3DVectorItem>     SDRATTR_3DSCENE_LIGHTDIRECTION_4   (SDRATTR_3DSCENE_FIRST + 24);    /* 1307 V4+++*/
+constexpr TypedWhichId<SvxB3DVectorItem>     SDRATTR_3DSCENE_LIGHTDIRECTION_5   (SDRATTR_3DSCENE_FIRST + 25);    /* 1308 V4+++*/
+constexpr TypedWhichId<SvxB3DVectorItem>     SDRATTR_3DSCENE_LIGHTDIRECTION_6   (SDRATTR_3DSCENE_FIRST + 26);    /* 1309 V4+++*/
+constexpr TypedWhichId<SvxB3DVectorItem>     SDRATTR_3DSCENE_LIGHTDIRECTION_7   (SDRATTR_3DSCENE_FIRST + 27);    /* 1310 V4+++*/
+constexpr TypedWhichId<SvxB3DVectorItem>     SDRATTR_3DSCENE_LIGHTDIRECTION_8   (SDRATTR_3DSCENE_FIRST + 28);    /* 1311 V4+++*/
+constexpr TypedWhichId<SfxUInt16Item>        SDRATTR_3DSCENE_SHADOW_SLANT       (SDRATTR_3DSCENE_FIRST + 29);    /* 1312 V4+++*/
+constexpr TypedWhichId<Svx3DShadeModeItem>   SDRATTR_3DSCENE_SHADE_MODE         (SDRATTR_3DSCENE_FIRST + 30);    /* 1313 V4+++*/
+constexpr sal_uInt16                         SDRATTR_3DSCENE_LAST               (SDRATTR_3DSCENE_SHADE_MODE);    /* 1333 V4+++*/
+constexpr sal_uInt16                         SDRATTR_3D_LAST                    (SDRATTR_3DSCENE_LAST);          /* 1333 V4+++*/
 
-#define SDRATTR_CUSTOMSHAPE_FIRST               (SDRATTR_3D_LAST + 1)           /* 1334 V4+++*/
-#define SDRATTR_CUSTOMSHAPE_ENGINE              TypedWhichId<SfxStringItem>(SDRATTR_CUSTOMSHAPE_FIRST + 0) /* 1334 V4+++*/
-#define SDRATTR_CUSTOMSHAPE_DATA                TypedWhichId<SfxStringItem>(SDRATTR_CUSTOMSHAPE_FIRST + 1) /* 1335 V4+++*/
-#define SDRATTR_CUSTOMSHAPE_GEOMETRY            TypedWhichId<SdrCustomShapeGeometryItem>(SDRATTR_CUSTOMSHAPE_FIRST + 2) /* 1336 V4+++*/
-#define SDRATTR_CUSTOMSHAPE_LAST                (SDRATTR_CUSTOMSHAPE_GEOMETRY)   /* 1357 V4+++*/
+constexpr sal_uInt16                               SDRATTR_CUSTOMSHAPE_FIRST    (SDRATTR_3D_LAST + 1);           /* 1334 V4+++*/
+constexpr TypedWhichId<SfxStringItem>              SDRATTR_CUSTOMSHAPE_ENGINE   (SDRATTR_CUSTOMSHAPE_FIRST + 0); /* 1334 V4+++*/
+constexpr TypedWhichId<SfxStringItem>              SDRATTR_CUSTOMSHAPE_DATA     (SDRATTR_CUSTOMSHAPE_FIRST + 1); /* 1335 V4+++*/
+constexpr TypedWhichId<SdrCustomShapeGeometryItem> SDRATTR_CUSTOMSHAPE_GEOMETRY (SDRATTR_CUSTOMSHAPE_FIRST + 2); /* 1336 V4+++*/
+constexpr sal_uInt16                               SDRATTR_CUSTOMSHAPE_LAST     (SDRATTR_CUSTOMSHAPE_GEOMETRY);  /* 1357 V4+++*/
 
-#define SDRATTR_TABLE_FIRST                     (SDRATTR_CUSTOMSHAPE_LAST+1)
-#define SDRATTR_TABLE_BORDER                    TypedWhichId<SvxBoxItem>(SDRATTR_TABLE_FIRST+0)
-#define SDRATTR_TABLE_BORDER_INNER              TypedWhichId<SvxBoxInfoItem>(SDRATTR_TABLE_FIRST+1)
-#define SDRATTR_TABLE_BORDER_TLBR               TypedWhichId<SvxLineItem>(SDRATTR_TABLE_FIRST+2)
-#define SDRATTR_TABLE_BORDER_BLTR               TypedWhichId<SvxLineItem>(SDRATTR_TABLE_FIRST+3)
-#define SDRATTR_TABLE_TEXT_ROTATION             TypedWhichId<SvxTextRotateItem>(SDRATTR_TABLE_FIRST+4)
-#define SDRATTR_TABLE_LAST                      (SDRATTR_TABLE_TEXT_ROTATION)
+constexpr sal_uInt16                      SDRATTR_TABLE_FIRST         (SDRATTR_CUSTOMSHAPE_LAST+1);
+constexpr TypedWhichId<SvxBoxItem>        SDRATTR_TABLE_BORDER        (SDRATTR_TABLE_FIRST+0);
+constexpr TypedWhichId<SvxBoxInfoItem>    SDRATTR_TABLE_BORDER_INNER  (SDRATTR_TABLE_FIRST+1);
+constexpr TypedWhichId<SvxLineItem>       SDRATTR_TABLE_BORDER_TLBR   (SDRATTR_TABLE_FIRST+2);
+constexpr TypedWhichId<SvxLineItem>       SDRATTR_TABLE_BORDER_BLTR   (SDRATTR_TABLE_FIRST+3);
+constexpr TypedWhichId<SvxTextRotateItem> SDRATTR_TABLE_TEXT_ROTATION (SDRATTR_TABLE_FIRST+4);
+constexpr sal_uInt16                      SDRATTR_TABLE_LAST          (SDRATTR_TABLE_TEXT_ROTATION);
 
-#define SDRATTR_GLOW_FIRST                      (SDRATTR_TABLE_LAST+1)
-#define SDRATTR_GLOW                            TypedWhichId<SdrOnOffItem>(SDRATTR_GLOW_FIRST+0)
-#define SDRATTR_GLOW_RAD                        TypedWhichId<SdrMetricItem>(SDRATTR_GLOW_FIRST+1)
-#define SDRATTR_GLOW_COLOR                      TypedWhichId<XColorItem>(SDRATTR_GLOW_FIRST+2)
-#define SDRATTR_GLOW_LAST                       (SDRATTR_GLOW_COLOR)
+constexpr sal_uInt16                  SDRATTR_GLOW_FIRST (SDRATTR_TABLE_LAST+1);
+constexpr TypedWhichId<SdrOnOffItem>  SDRATTR_GLOW       (SDRATTR_GLOW_FIRST+0);
+constexpr TypedWhichId<SdrMetricItem> SDRATTR_GLOW_RAD   (SDRATTR_GLOW_FIRST+1);
+constexpr TypedWhichId<XColorItem>    SDRATTR_GLOW_COLOR (SDRATTR_GLOW_FIRST+2);
+constexpr sal_uInt16                  SDRATTR_GLOW_LAST  (SDRATTR_GLOW_COLOR);
 
-#define SDRATTR_END                             SDRATTR_GLOW_LAST      /* 1357 */ /* 1333 V4+++*/ /* 1243 V4+++*/  /*1213*/ /*1085*/ /*1040*/ /*Pool V2: 1123,V1: 1065 */
+constexpr sal_uInt16 SDRATTR_END (SDRATTR_GLOW_LAST);      /* 1357 */ /* 1333 V4+++*/ /* 1243 V4+++*/  /*1213*/ /*1085*/ /*1040*/ /*Pool V2: 1123,V1: 1065 */
 
 #endif // INCLUDED_SVX_SVDDEF_HXX
 
diff --git a/include/svx/xdef.hxx b/include/svx/xdef.hxx
index 2a3a3b4396f8..e7740ee15ddc 100644
--- a/include/svx/xdef.hxx
+++ b/include/svx/xdef.hxx
@@ -84,65 +84,65 @@ class XSecondaryFillColorItem;

... etc. - the rest is truncated


More information about the Libreoffice-commits mailing list