chart2/source/controller/inc/ShapeController.h               |   38 ---
 chart2/source/controller/main/DrawCommandDispatch.cxx        |  131 +++++------
 chart2/source/controller/main/DrawCommandDispatch.h          |   42 ---
 chart2/source/controller/main/DrawCommandDispatch.hxx        |    4 
 chart2/source/controller/main/FeatureCommandDispatchBase.cxx |    4 
 chart2/source/controller/main/FeatureCommandDispatchBase.hxx |   44 +++
 chart2/source/controller/main/ShapeController.cxx            |   87 +++----
 chart2/source/controller/main/ShapeController.hxx            |    2 
 8 files changed, 154 insertions(+), 198 deletions(-)

New commits:
commit 29eb0b94f27b956d3c9917b318ef7077c6e01036
Author:     Noel Grandin <noel.gran...@collabora.co.uk>
AuthorDate: Wed Jul 5 12:05:34 2023 +0200
Commit:     Noel Grandin <noel.gran...@collabora.co.uk>
CommitDate: Wed Jul 5 14:55:55 2023 +0200

    convert *CommandId enum to scoped enum
    
    merging two different enums in the process
    
    Change-Id: I81ff8f10158a19a1b3a4ffe35fac6653beb677ef
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/154028
    Tested-by: Jenkins
    Reviewed-by: Noel Grandin <noel.gran...@collabora.co.uk>

diff --git a/chart2/source/controller/inc/ShapeController.h 
b/chart2/source/controller/inc/ShapeController.h
deleted file mode 100644
index 433f6af5250f..000000000000
--- a/chart2/source/controller/inc/ShapeController.h
+++ /dev/null
@@ -1,38 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*
- * This file is part of the LibreOffice project.
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/.
- *
- * This file incorporates work covered by the following license notice:
- *
- *   Licensed to the Apache Software Foundation (ASF) under one or more
- *   contributor license agreements. See the NOTICE file distributed
- *   with this work for additional information regarding copyright
- *   ownership. The ASF licenses this file to you under the Apache
- *   License, Version 2.0 (the "License"); you may not use this file
- *   except in compliance with the License. You may obtain a copy of
- *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
- */
-#pragma once
-
-//Shape Controller Command Ids:
-enum ShapeControllerCommandID
-{
-    COMMAND_ID_FORMAT_LINE              =  1,
-    COMMAND_ID_FORMAT_AREA              =  2,
-    COMMAND_ID_TEXT_ATTRIBUTES          =  3,
-    COMMAND_ID_TRANSFORM_DIALOG         =  4,
-    COMMAND_ID_OBJECT_TITLE_DESCRIPTION =  5,
-    COMMAND_ID_RENAME_OBJECT            =  6,
-    COMMAND_ID_BRING_TO_FRONT           =  8,
-    COMMAND_ID_FORWARD                  =  9,
-    COMMAND_ID_BACKWARD                 = 10,
-    COMMAND_ID_SEND_TO_BACK             = 11,
-    COMMAND_ID_FONT_DIALOG              = 15,
-    COMMAND_ID_PARAGRAPH_DIALOG         = 16
-};
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/chart2/source/controller/main/DrawCommandDispatch.cxx 
b/chart2/source/controller/main/DrawCommandDispatch.cxx
index 935c0832d649..1446059a0223 100644
--- a/chart2/source/controller/main/DrawCommandDispatch.cxx
+++ b/chart2/source/controller/main/DrawCommandDispatch.cxx
@@ -18,7 +18,6 @@
  */
 
 #include "DrawCommandDispatch.hxx"
-#include "DrawCommandDispatch.h"
 #include <ChartController.hxx>
 #include <DrawViewWrapper.hxx>
 #include <chartview/DrawModelWrapper.hxx>
@@ -68,7 +67,7 @@ DrawCommandDispatch::~DrawCommandDispatch()
 
 bool DrawCommandDispatch::isFeatureSupported( const OUString& rCommandURL )
 {
-    sal_uInt16 nFeatureId = 0;
+    ChartCommandID nFeatureId = ChartCommandID::NONE;
     OUString aBaseCommand;
     OUString aCustomShapeType;
     return parseCommandURL( rCommandURL, &nFeatureId, &aBaseCommand, 
&aCustomShapeType );
@@ -165,7 +164,7 @@ void DrawCommandDispatch::setAttributes( SdrObject* pObj )
 
 void DrawCommandDispatch::setLineEnds( SfxItemSet& rAttr )
 {
-    if ( !(m_nFeatureId == COMMAND_ID_LINE_ARROW_END && m_pChartController) )
+    if ( !(m_nFeatureId == ChartCommandID::DrawLineArrowEnd && 
m_pChartController) )
         return;
 
     DrawModelWrapper* pDrawModelWrapper = 
m_pChartController->GetDrawModelWrapper();
@@ -217,27 +216,27 @@ FeatureState DrawCommandDispatch::getState( const 
OUString& rCommand )
     aReturn.bEnabled = false;
     aReturn.aState <<= false;
 
-    sal_uInt16 nFeatureId = 0;
+    ChartCommandID nFeatureId = ChartCommandID::NONE;
     OUString aBaseCommand;
     OUString aCustomShapeType;
     if ( parseCommandURL( rCommand, &nFeatureId, &aBaseCommand, 
&aCustomShapeType ) )
     {
         switch ( nFeatureId )
         {
-            case COMMAND_ID_OBJECT_SELECT:
-            case COMMAND_ID_DRAW_LINE:
-            case COMMAND_ID_LINE_ARROW_END:
-            case COMMAND_ID_DRAW_RECT:
-            case COMMAND_ID_DRAW_ELLIPSE:
-            case COMMAND_ID_DRAW_FREELINE_NOFILL:
-            case COMMAND_ID_DRAW_TEXT:
-            case COMMAND_ID_DRAW_CAPTION:
-            case COMMAND_ID_DRAWTBX_CS_BASIC:
-            case COMMAND_ID_DRAWTBX_CS_SYMBOL:
-            case COMMAND_ID_DRAWTBX_CS_ARROW:
-            case COMMAND_ID_DRAWTBX_CS_FLOWCHART:
-            case COMMAND_ID_DRAWTBX_CS_CALLOUT:
-            case COMMAND_ID_DRAWTBX_CS_STAR:
+            case ChartCommandID::DrawObjectSelect:
+            case ChartCommandID::DrawLine:
+            case ChartCommandID::DrawLineArrowEnd:
+            case ChartCommandID::DrawRect:
+            case ChartCommandID::DrawEllipse:
+            case ChartCommandID::DrawFreelineNoFill:
+            case ChartCommandID::DrawText:
+            case ChartCommandID::DrawCaption:
+            case ChartCommandID::DrawToolboxCsBasic:
+            case ChartCommandID::DrawToolboxCsSymbol:
+            case ChartCommandID::DrawToolboxCsArrow:
+            case ChartCommandID::DrawToolboxCsFlowchart:
+            case ChartCommandID::DrawToolboxCsCallout:
+            case ChartCommandID::DrawToolboxCsStar:
                 {
                     aReturn.bEnabled = true;
                     aReturn.aState <<= false;
@@ -260,7 +259,7 @@ void DrawCommandDispatch::execute( const OUString& 
rCommand, const Sequence< bea
     ChartDrawMode eDrawMode = CHARTDRAW_SELECT;
     SdrObjKind eKind = SdrObjKind::NONE;
 
-    sal_uInt16 nFeatureId = 0;
+    ChartCommandID nFeatureId = ChartCommandID::NONE;
     OUString aBaseCommand;
     OUString aCustomShapeType;
     if ( !parseCommandURL( rCommand, &nFeatureId, &aBaseCommand, 
&aCustomShapeType ) )
@@ -272,56 +271,56 @@ void DrawCommandDispatch::execute( const OUString& 
rCommand, const Sequence< bea
 
     switch ( nFeatureId )
     {
-        case COMMAND_ID_OBJECT_SELECT:
+        case ChartCommandID::DrawObjectSelect:
             {
                 eDrawMode = CHARTDRAW_SELECT;
                 eKind = SdrObjKind::NONE;
             }
             break;
-        case COMMAND_ID_DRAW_LINE:
-        case COMMAND_ID_LINE_ARROW_END:
+        case ChartCommandID::DrawLine:
+        case ChartCommandID::DrawLineArrowEnd:
             {
                 eDrawMode = CHARTDRAW_INSERT;
                 eKind = SdrObjKind::Line;
             }
             break;
-        case COMMAND_ID_DRAW_RECT:
+        case ChartCommandID::DrawRect:
             {
                 eDrawMode = CHARTDRAW_INSERT;
                 eKind = SdrObjKind::Rectangle;
             }
             break;
-        case COMMAND_ID_DRAW_ELLIPSE:
+        case ChartCommandID::DrawEllipse:
             {
                 eDrawMode = CHARTDRAW_INSERT;
                 eKind = SdrObjKind::CircleOrEllipse;
             }
             break;
-        case COMMAND_ID_DRAW_FREELINE_NOFILL:
+        case ChartCommandID::DrawFreelineNoFill:
             {
                 eDrawMode = CHARTDRAW_INSERT;
                 eKind = SdrObjKind::FreehandLine;
             }
             break;
-        case COMMAND_ID_DRAW_TEXT:
+        case ChartCommandID::DrawText:
             {
                 eDrawMode = CHARTDRAW_INSERT;
                 eKind = SdrObjKind::Text;
                 bCreate = true;
             }
             break;
-        case COMMAND_ID_DRAW_CAPTION:
+        case ChartCommandID::DrawCaption:
             {
                 eDrawMode = CHARTDRAW_INSERT;
                 eKind = SdrObjKind::Caption;
             }
             break;
-        case COMMAND_ID_DRAWTBX_CS_BASIC:
-        case COMMAND_ID_DRAWTBX_CS_SYMBOL:
-        case COMMAND_ID_DRAWTBX_CS_ARROW:
-        case COMMAND_ID_DRAWTBX_CS_FLOWCHART:
-        case COMMAND_ID_DRAWTBX_CS_CALLOUT:
-        case COMMAND_ID_DRAWTBX_CS_STAR:
+        case ChartCommandID::DrawToolboxCsBasic:
+        case ChartCommandID::DrawToolboxCsSymbol:
+        case ChartCommandID::DrawToolboxCsArrow:
+        case ChartCommandID::DrawToolboxCsFlowchart:
+        case ChartCommandID::DrawToolboxCsCallout:
+        case ChartCommandID::DrawToolboxCsStar:
             {
                 eDrawMode = CHARTDRAW_INSERT;
                 eKind = SdrObjKind::CustomShape;
@@ -368,7 +367,7 @@ void DrawCommandDispatch::execute( const OUString& 
rCommand, const Sequence< bea
         SdrPageView* pPageView = pDrawViewWrapper->GetSdrPageView();
         if (pDrawViewWrapper->InsertObjectAtView(pObj.get(), *pPageView))
             
m_pChartController->SetAndApplySelection(Reference<drawing::XShape>(pObj->getUnoShape(),
 uno::UNO_QUERY));
-        if ( nFeatureId == COMMAND_ID_DRAW_TEXT )
+        if ( nFeatureId == ChartCommandID::DrawText )
         {
             m_pChartController->StartTextEdit();
         }
@@ -377,20 +376,20 @@ void DrawCommandDispatch::execute( const OUString& 
rCommand, const Sequence< bea
 
 void DrawCommandDispatch::describeSupportedFeatures()
 {
-    implDescribeSupportedFeature( ".uno:SelectObject",      
COMMAND_ID_OBJECT_SELECT,           CommandGroup::INSERT );
-    implDescribeSupportedFeature( ".uno:Line",              
COMMAND_ID_DRAW_LINE,               CommandGroup::INSERT );
-    implDescribeSupportedFeature( ".uno:LineArrowEnd",      
COMMAND_ID_LINE_ARROW_END,          CommandGroup::INSERT );
-    implDescribeSupportedFeature( ".uno:Rect",              
COMMAND_ID_DRAW_RECT,               CommandGroup::INSERT );
-    implDescribeSupportedFeature( ".uno:Ellipse",           
COMMAND_ID_DRAW_ELLIPSE,            CommandGroup::INSERT );
-    implDescribeSupportedFeature( ".uno:Freeline_Unfilled", 
COMMAND_ID_DRAW_FREELINE_NOFILL,    CommandGroup::INSERT );
-    implDescribeSupportedFeature( ".uno:DrawText",          
COMMAND_ID_DRAW_TEXT,               CommandGroup::INSERT );
-    implDescribeSupportedFeature( ".uno:DrawCaption",       
COMMAND_ID_DRAW_CAPTION,            CommandGroup::INSERT );
-    implDescribeSupportedFeature( ".uno:BasicShapes",       
COMMAND_ID_DRAWTBX_CS_BASIC,        CommandGroup::INSERT );
-    implDescribeSupportedFeature( ".uno:SymbolShapes",      
COMMAND_ID_DRAWTBX_CS_SYMBOL,       CommandGroup::INSERT );
-    implDescribeSupportedFeature( ".uno:ArrowShapes",       
COMMAND_ID_DRAWTBX_CS_ARROW,        CommandGroup::INSERT );
-    implDescribeSupportedFeature( ".uno:FlowChartShapes",   
COMMAND_ID_DRAWTBX_CS_FLOWCHART,    CommandGroup::INSERT );
-    implDescribeSupportedFeature( ".uno:CalloutShapes",     
COMMAND_ID_DRAWTBX_CS_CALLOUT,      CommandGroup::INSERT );
-    implDescribeSupportedFeature( ".uno:StarShapes",        
COMMAND_ID_DRAWTBX_CS_STAR,         CommandGroup::INSERT );
+    implDescribeSupportedFeature( ".uno:SelectObject",      
ChartCommandID::DrawObjectSelect,           CommandGroup::INSERT );
+    implDescribeSupportedFeature( ".uno:Line",              
ChartCommandID::DrawLine,               CommandGroup::INSERT );
+    implDescribeSupportedFeature( ".uno:LineArrowEnd",      
ChartCommandID::DrawLineArrowEnd,          CommandGroup::INSERT );
+    implDescribeSupportedFeature( ".uno:Rect",              
ChartCommandID::DrawRect,               CommandGroup::INSERT );
+    implDescribeSupportedFeature( ".uno:Ellipse",           
ChartCommandID::DrawEllipse,            CommandGroup::INSERT );
+    implDescribeSupportedFeature( ".uno:Freeline_Unfilled", 
ChartCommandID::DrawFreelineNoFill,    CommandGroup::INSERT );
+    implDescribeSupportedFeature( ".uno:DrawText",          
ChartCommandID::DrawText,               CommandGroup::INSERT );
+    implDescribeSupportedFeature( ".uno:DrawCaption",       
ChartCommandID::DrawCaption,            CommandGroup::INSERT );
+    implDescribeSupportedFeature( ".uno:BasicShapes",       
ChartCommandID::DrawToolboxCsBasic,        CommandGroup::INSERT );
+    implDescribeSupportedFeature( ".uno:SymbolShapes",      
ChartCommandID::DrawToolboxCsSymbol,       CommandGroup::INSERT );
+    implDescribeSupportedFeature( ".uno:ArrowShapes",       
ChartCommandID::DrawToolboxCsArrow,        CommandGroup::INSERT );
+    implDescribeSupportedFeature( ".uno:FlowChartShapes",   
ChartCommandID::DrawToolboxCsFlowchart,    CommandGroup::INSERT );
+    implDescribeSupportedFeature( ".uno:CalloutShapes",     
ChartCommandID::DrawToolboxCsCallout,      CommandGroup::INSERT );
+    implDescribeSupportedFeature( ".uno:StarShapes",        
ChartCommandID::DrawToolboxCsStar,         CommandGroup::INSERT );
 }
 
 void DrawCommandDispatch::setInsertObj(SdrObjKind eObj)
@@ -402,7 +401,7 @@ void DrawCommandDispatch::setInsertObj(SdrObjKind eObj)
     }
 }
 
-rtl::Reference<SdrObject> DrawCommandDispatch::createDefaultObject( const 
sal_uInt16 nID )
+rtl::Reference<SdrObject> DrawCommandDispatch::createDefaultObject( const 
ChartCommandID nID )
 {
     rtl::Reference<SdrObject> pObj;
     DrawViewWrapper* pDrawViewWrapper = ( m_pChartController ? 
m_pChartController->GetDrawViewWrapper() : nullptr );
@@ -432,8 +431,8 @@ rtl::Reference<SdrObject> 
DrawCommandDispatch::createDefaultObject( const sal_uI
 
                 switch ( nID )
                 {
-                    case COMMAND_ID_DRAW_LINE:
-                    case COMMAND_ID_LINE_ARROW_END:
+                    case ChartCommandID::DrawLine:
+                    case ChartCommandID::DrawLineArrowEnd:
                         {
                             if ( auto const pathObj = 
dynamic_cast<SdrPathObj*>( pObj.get()) )
                             {
@@ -450,7 +449,7 @@ rtl::Reference<SdrObject> 
DrawCommandDispatch::createDefaultObject( const sal_uI
                             }
                         }
                         break;
-                    case COMMAND_ID_DRAW_FREELINE_NOFILL:
+                    case ChartCommandID::DrawFreelineNoFill:
                         {
                             if ( auto const pathObj = 
dynamic_cast<SdrPathObj*>( pObj.get()) )
                             {
@@ -470,13 +469,13 @@ rtl::Reference<SdrObject> 
DrawCommandDispatch::createDefaultObject( const sal_uI
                             }
                         }
                         break;
-                    case COMMAND_ID_DRAW_TEXT:
-                    case COMMAND_ID_DRAW_TEXT_VERTICAL:
+                    case ChartCommandID::DrawText:
+                    case ChartCommandID::DrawTextVertical:
                         {
                             if ( SdrTextObj* pTextObj = DynCastSdrTextObj( 
pObj.get()) )
                             {
                                 pTextObj->SetLogicRect( aRect );
-                                bool bVertical = ( nID == 
COMMAND_ID_DRAW_TEXT_VERTICAL );
+                                bool bVertical = ( nID == 
ChartCommandID::DrawTextVertical );
                                 pTextObj->SetVerticalWriting( bVertical );
                                 if ( bVertical )
                                 {
@@ -490,12 +489,12 @@ rtl::Reference<SdrObject> 
DrawCommandDispatch::createDefaultObject( const sal_uI
                             }
                         }
                         break;
-                    case COMMAND_ID_DRAW_CAPTION:
-                    case COMMAND_ID_DRAW_CAPTION_VERTICAL:
+                    case ChartCommandID::DrawCaption:
+                    case ChartCommandID::DrawCaptionVertical:
                         {
                             if ( SdrCaptionObj* pCaptionObj = 
dynamic_cast<SdrCaptionObj*>( pObj.get()) )
                             {
-                                bool bIsVertical( nID == 
COMMAND_ID_DRAW_CAPTION_VERTICAL );
+                                bool bIsVertical( nID == 
ChartCommandID::DrawCaptionVertical );
                                 pCaptionObj->SetVerticalWriting( bIsVertical );
                                 if ( bIsVertical )
                                 {
@@ -526,11 +525,11 @@ rtl::Reference<SdrObject> 
DrawCommandDispatch::createDefaultObject( const sal_uI
     return pObj;
 }
 
-bool DrawCommandDispatch::parseCommandURL( const OUString& rCommandURL, 
sal_uInt16* pnFeatureId,
+bool DrawCommandDispatch::parseCommandURL( const OUString& rCommandURL, 
ChartCommandID* pnFeatureId,
     OUString* pBaseCommand, OUString* pCustomShapeType )
 {
     bool bFound = true;
-    sal_uInt16 nFeatureId = 0;
+    ChartCommandID nFeatureId = ChartCommandID::NONE;
     OUString aBaseCommand;
     OUString aType;
 
@@ -546,32 +545,32 @@ bool DrawCommandDispatch::parseCommandURL( const 
OUString& rCommandURL, sal_uInt
 
             switch ( nFeatureId )
             {
-                case COMMAND_ID_DRAWTBX_CS_BASIC:
+                case ChartCommandID::DrawToolboxCsBasic:
                     {
                         aType = "diamond";
                     }
                     break;
-                case COMMAND_ID_DRAWTBX_CS_SYMBOL:
+                case ChartCommandID::DrawToolboxCsSymbol:
                     {
                         aType = "smiley";
                     }
                     break;
-                case COMMAND_ID_DRAWTBX_CS_ARROW:
+                case ChartCommandID::DrawToolboxCsArrow:
                     {
                         aType = "left-right-arrow";
                     }
                     break;
-                case COMMAND_ID_DRAWTBX_CS_FLOWCHART:
+                case ChartCommandID::DrawToolboxCsFlowchart:
                     {
                         aType = "flowchart-internal-storage";
                     }
                     break;
-                case COMMAND_ID_DRAWTBX_CS_CALLOUT:
+                case ChartCommandID::DrawToolboxCsCallout:
                     {
                         aType = "round-rectangular-callout";
                     }
                     break;
-                case COMMAND_ID_DRAWTBX_CS_STAR:
+                case ChartCommandID::DrawToolboxCsStar:
                     {
                         aType = "star5";
                     }
diff --git a/chart2/source/controller/main/DrawCommandDispatch.h 
b/chart2/source/controller/main/DrawCommandDispatch.h
deleted file mode 100644
index b21febbcc033..000000000000
--- a/chart2/source/controller/main/DrawCommandDispatch.h
+++ /dev/null
@@ -1,42 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*
- * This file is part of the LibreOffice project.
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/.
- *
- * This file incorporates work covered by the following license notice:
- *
- *   Licensed to the Apache Software Foundation (ASF) under one or more
- *   contributor license agreements. See the NOTICE file distributed
- *   with this work for additional information regarding copyright
- *   ownership. The ASF licenses this file to you under the Apache
- *   License, Version 2.0 (the "License"); you may not use this file
- *   except in compliance with the License. You may obtain a copy of
- *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
- */
-#pragma once
-
-//Draw Command Ids:
-enum DrawCommandID
-{
-    COMMAND_ID_OBJECT_SELECT              = 1,
-    COMMAND_ID_DRAW_LINE                  = 2,
-    COMMAND_ID_LINE_ARROW_END             = 3,
-    COMMAND_ID_DRAW_RECT                  = 4,
-    COMMAND_ID_DRAW_ELLIPSE               = 5,
-    COMMAND_ID_DRAW_FREELINE_NOFILL       = 6,
-    COMMAND_ID_DRAW_TEXT                  = 7,
-    COMMAND_ID_DRAW_TEXT_VERTICAL         = 8,
-    COMMAND_ID_DRAW_CAPTION               = 9,
-    COMMAND_ID_DRAW_CAPTION_VERTICAL      = 10,
-    COMMAND_ID_DRAWTBX_CS_BASIC           = 11,
-    COMMAND_ID_DRAWTBX_CS_SYMBOL          = 12,
-    COMMAND_ID_DRAWTBX_CS_ARROW           = 13,
-    COMMAND_ID_DRAWTBX_CS_FLOWCHART       = 14,
-    COMMAND_ID_DRAWTBX_CS_CALLOUT         = 15,
-    COMMAND_ID_DRAWTBX_CS_STAR            = 16
-};
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/chart2/source/controller/main/DrawCommandDispatch.hxx 
b/chart2/source/controller/main/DrawCommandDispatch.hxx
index 91b1bb028e5c..65200cca6323 100644
--- a/chart2/source/controller/main/DrawCommandDispatch.hxx
+++ b/chart2/source/controller/main/DrawCommandDispatch.hxx
@@ -61,9 +61,9 @@ protected:
 
 private:
     void setInsertObj(SdrObjKind eObj);
-    rtl::Reference<SdrObject> createDefaultObject( const sal_uInt16 nID );
+    rtl::Reference<SdrObject> createDefaultObject( const ChartCommandID nID );
 
-    bool parseCommandURL( const OUString& rCommandURL, sal_uInt16* 
pnFeatureId, OUString* pBaseCommand, OUString* pCustomShapeType );
+    bool parseCommandURL( const OUString& rCommandURL, ChartCommandID* 
pnFeatureId, OUString* pBaseCommand, OUString* pCustomShapeType );
 
     ChartController* m_pChartController;
     OUString m_aCustomShapeType;
diff --git a/chart2/source/controller/main/FeatureCommandDispatchBase.cxx 
b/chart2/source/controller/main/FeatureCommandDispatchBase.cxx
index 90dcf77b2482..b1c5f72d1d5b 100644
--- a/chart2/source/controller/main/FeatureCommandDispatchBase.cxx
+++ b/chart2/source/controller/main/FeatureCommandDispatchBase.cxx
@@ -29,7 +29,7 @@ namespace chart
 
 FeatureCommandDispatchBase::FeatureCommandDispatchBase( const Reference< 
uno::XComponentContext >& rxContext )
     :CommandDispatch( rxContext )
-    ,m_nFeatureId( 0 )
+    ,m_nFeatureId( ChartCommandID::NONE )
 {
 }
 
@@ -79,7 +79,7 @@ void FeatureCommandDispatchBase::dispatch( const util::URL& 
URL,
 }
 
 void FeatureCommandDispatchBase::implDescribeSupportedFeature( const char* 
pAsciiCommandURL,
-    sal_uInt16 nId, sal_Int16 nGroup )
+    ChartCommandID nId, sal_Int16 nGroup )
 {
     ControllerFeature aFeature;
     aFeature.Command = OUString::createFromAscii( pAsciiCommandURL );
diff --git a/chart2/source/controller/main/FeatureCommandDispatchBase.hxx 
b/chart2/source/controller/main/FeatureCommandDispatchBase.hxx
index 0c291a684d79..3ceb35ad1268 100644
--- a/chart2/source/controller/main/FeatureCommandDispatchBase.hxx
+++ b/chart2/source/controller/main/FeatureCommandDispatchBase.hxx
@@ -22,12 +22,50 @@
 
 #include <com/sun/star/frame/DispatchInformation.hpp>
 
+enum class ChartCommandID
+{
+    NONE                         = 0,
+
+    //Draw Command Ids:
+    DrawObjectSelect             = 1,
+    DrawLine                     = 2,
+    DrawLineArrowEnd             = 3,
+    DrawRect                     = 4,
+    DrawEllipse                  = 5,
+    DrawFreelineNoFill           = 6,
+    DrawText                     = 7,
+    DrawTextVertical             = 8,
+    DrawCaption                  = 9,
+    DrawCaptionVertical          = 10,
+    DrawToolboxCsBasic           = 11,
+    DrawToolboxCsSymbol          = 12,
+    DrawToolboxCsArrow           = 13,
+    DrawToolboxCsFlowchart       = 14,
+    DrawToolboxCsCallout         = 15,
+    DrawToolboxCsStar            = 16,
+
+    //Shape Controller Command Ids:
+    ShapeFormatLine              =  21,
+    ShapeFormatArea              =  22,
+    ShapeTextAttributes          =  23,
+    ShapeTransformDialog         =  24,
+    ShapeObjectTitleDescription  =  25,
+    ShapeRenameObject            =  26,
+    ShapeBringToFront            =  28,
+    ShapeForward                 =  29,
+    ShapeBackward                = 30,
+    ShapeSendToBack              = 31,
+    ShapeFontDialog              = 35,
+    ShapeParagraphDialog         = 36
+};
+
+
 namespace chart
 {
 
 struct ControllerFeature: public css::frame::DispatchInformation
 {
-    sal_uInt16 nFeatureId;
+    ChartCommandID nFeatureId;
 };
 
 typedef std::map< OUString,
@@ -84,12 +122,12 @@ protected:
             the command group of the feature. This is important for 
configuring the controller UI
             by the user, see also <type scope="css::frame">CommandGroup</type>.
     */
-    void implDescribeSupportedFeature( const char* pAsciiCommandURL, 
sal_uInt16 nId,
+    void implDescribeSupportedFeature( const char* pAsciiCommandURL, 
ChartCommandID nId,
         sal_Int16 nGroup );
 
     mutable SupportedFeatures m_aSupportedFeatures;
 
-    sal_uInt16 m_nFeatureId;
+    ChartCommandID m_nFeatureId;
 };
 
 } //  namespace chart
diff --git a/chart2/source/controller/main/ShapeController.cxx 
b/chart2/source/controller/main/ShapeController.cxx
index 817df9ef414d..423703e526f7 100644
--- a/chart2/source/controller/main/ShapeController.cxx
+++ b/chart2/source/controller/main/ShapeController.cxx
@@ -18,7 +18,6 @@
  */
 
 #include "ShapeController.hxx"
-#include <ShapeController.h>
 #include <ChartController.hxx>
 #include <ViewElementListProvider.hxx>
 #include <dlg_ShapeFont.hxx>
@@ -88,37 +87,37 @@ FeatureState ShapeController::getState( const OUString& 
rCommand )
     SupportedFeatures::const_iterator aIter = m_aSupportedFeatures.find( 
rCommand );
     if ( aIter != m_aSupportedFeatures.end() )
     {
-        sal_uInt16 nFeatureId = aIter->second.nFeatureId;
+        ChartCommandID nFeatureId = aIter->second.nFeatureId;
         switch ( nFeatureId )
         {
-            case COMMAND_ID_FORMAT_LINE:
-            case COMMAND_ID_FORMAT_AREA:
-            case COMMAND_ID_TEXT_ATTRIBUTES:
-            case COMMAND_ID_TRANSFORM_DIALOG:
-            case COMMAND_ID_OBJECT_TITLE_DESCRIPTION:
-            case COMMAND_ID_RENAME_OBJECT:
+            case ChartCommandID::ShapeFormatLine:
+            case ChartCommandID::ShapeFormatArea:
+            case ChartCommandID::ShapeTextAttributes:
+            case ChartCommandID::ShapeTransformDialog:
+            case ChartCommandID::ShapeObjectTitleDescription:
+            case ChartCommandID::ShapeRenameObject:
                 {
                     aReturn.bEnabled = bWritable;
                     aReturn.aState <<= false;
                 }
                 break;
-            case COMMAND_ID_BRING_TO_FRONT:
-            case COMMAND_ID_FORWARD:
+            case ChartCommandID::ShapeBringToFront:
+            case ChartCommandID::ShapeForward:
                 {
                     aReturn.bEnabled = ( bWritable && isForwardPossible() );
                     aReturn.aState <<= false;
                 }
                 break;
-            case COMMAND_ID_BACKWARD:
-            case COMMAND_ID_SEND_TO_BACK:
+            case ChartCommandID::ShapeBackward:
+            case ChartCommandID::ShapeSendToBack:
                 {
 
                     aReturn.bEnabled = ( bWritable && isBackwardPossible() );
                     aReturn.aState <<= false;
                 }
                 break;
-            case COMMAND_ID_FONT_DIALOG:
-            case COMMAND_ID_PARAGRAPH_DIALOG:
+            case ChartCommandID::ShapeFontDialog:
+            case ChartCommandID::ShapeParagraphDialog:
                 {
                     aReturn.bEnabled = bWritable;
                     aReturn.aState <<= false;
@@ -142,53 +141,53 @@ void ShapeController::execute( const OUString& rCommand, 
const Sequence< beans::
     if ( aIter == m_aSupportedFeatures.end() )
         return;
 
-    sal_uInt16 nFeatureId = aIter->second.nFeatureId;
+    ChartCommandID nFeatureId = aIter->second.nFeatureId;
     switch ( nFeatureId )
     {
-        case COMMAND_ID_FORMAT_LINE:
+        case ChartCommandID::ShapeFormatLine:
             {
                 executeDispatch_FormatLine();
             }
             break;
-        case COMMAND_ID_FORMAT_AREA:
+        case ChartCommandID::ShapeFormatArea:
             {
                 executeDispatch_FormatArea();
             }
             break;
-        case COMMAND_ID_TEXT_ATTRIBUTES:
+        case ChartCommandID::ShapeTextAttributes:
             {
                 executeDispatch_TextAttributes();
             }
             break;
-        case COMMAND_ID_TRANSFORM_DIALOG:
+        case ChartCommandID::ShapeTransformDialog:
             {
                 executeDispatch_TransformDialog();
             }
             break;
-        case COMMAND_ID_OBJECT_TITLE_DESCRIPTION:
+        case ChartCommandID::ShapeObjectTitleDescription:
             {
                 executeDispatch_ObjectTitleDescription();
             }
             break;
-        case COMMAND_ID_RENAME_OBJECT:
+        case ChartCommandID::ShapeRenameObject:
             {
                 executeDispatch_RenameObject();
             }
             break;
-        case COMMAND_ID_BRING_TO_FRONT:
-        case COMMAND_ID_FORWARD:
-        case COMMAND_ID_BACKWARD:
-        case COMMAND_ID_SEND_TO_BACK:
+        case ChartCommandID::ShapeBringToFront:
+        case ChartCommandID::ShapeForward:
+        case ChartCommandID::ShapeBackward:
+        case ChartCommandID::ShapeSendToBack:
             {
                 executeDispatch_ChangeZOrder( nFeatureId );
             }
             break;
-        case COMMAND_ID_FONT_DIALOG:
+        case ChartCommandID::ShapeFontDialog:
             {
                 executeDispatch_FontDialog();
             }
             break;
-        case COMMAND_ID_PARAGRAPH_DIALOG:
+        case ChartCommandID::ShapeParagraphDialog:
             {
                 executeDispatch_ParagraphDialog();
             }
@@ -202,18 +201,18 @@ void ShapeController::execute( const OUString& rCommand, 
const Sequence< beans::
 
 void ShapeController::describeSupportedFeatures()
 {
-    implDescribeSupportedFeature( ".uno:FormatLine",                
COMMAND_ID_FORMAT_LINE,                 CommandGroup::FORMAT );
-    implDescribeSupportedFeature( ".uno:FormatArea",                
COMMAND_ID_FORMAT_AREA,                 CommandGroup::FORMAT );
-    implDescribeSupportedFeature( ".uno:TextAttributes",            
COMMAND_ID_TEXT_ATTRIBUTES,             CommandGroup::FORMAT );
-    implDescribeSupportedFeature( ".uno:TransformDialog",           
COMMAND_ID_TRANSFORM_DIALOG,            CommandGroup::FORMAT );
-    implDescribeSupportedFeature( ".uno:ObjectTitleDescription",    
COMMAND_ID_OBJECT_TITLE_DESCRIPTION,    CommandGroup::FORMAT );
-    implDescribeSupportedFeature( ".uno:RenameObject",              
COMMAND_ID_RENAME_OBJECT,               CommandGroup::FORMAT );
-    implDescribeSupportedFeature( ".uno:BringToFront",              
COMMAND_ID_BRING_TO_FRONT,              CommandGroup::FORMAT );
-    implDescribeSupportedFeature( ".uno:Forward",                   
COMMAND_ID_FORWARD,                     CommandGroup::FORMAT );
-    implDescribeSupportedFeature( ".uno:Backward",                  
COMMAND_ID_BACKWARD,                    CommandGroup::FORMAT );
-    implDescribeSupportedFeature( ".uno:SendToBack",                
COMMAND_ID_SEND_TO_BACK,                CommandGroup::FORMAT );
-    implDescribeSupportedFeature( ".uno:FontDialog",                
COMMAND_ID_FONT_DIALOG,                 CommandGroup::EDIT );
-    implDescribeSupportedFeature( ".uno:ParagraphDialog",           
COMMAND_ID_PARAGRAPH_DIALOG,            CommandGroup::EDIT );
+    implDescribeSupportedFeature( ".uno:FormatLine",                
ChartCommandID::ShapeFormatLine,                 CommandGroup::FORMAT );
+    implDescribeSupportedFeature( ".uno:FormatArea",                
ChartCommandID::ShapeFormatArea,                 CommandGroup::FORMAT );
+    implDescribeSupportedFeature( ".uno:TextAttributes",            
ChartCommandID::ShapeTextAttributes,             CommandGroup::FORMAT );
+    implDescribeSupportedFeature( ".uno:TransformDialog",           
ChartCommandID::ShapeTransformDialog,            CommandGroup::FORMAT );
+    implDescribeSupportedFeature( ".uno:ObjectTitleDescription",    
ChartCommandID::ShapeObjectTitleDescription,    CommandGroup::FORMAT );
+    implDescribeSupportedFeature( ".uno:RenameObject",              
ChartCommandID::ShapeRenameObject,               CommandGroup::FORMAT );
+    implDescribeSupportedFeature( ".uno:BringToFront",              
ChartCommandID::ShapeBringToFront,              CommandGroup::FORMAT );
+    implDescribeSupportedFeature( ".uno:Forward",                   
ChartCommandID::ShapeForward,                     CommandGroup::FORMAT );
+    implDescribeSupportedFeature( ".uno:Backward",                  
ChartCommandID::ShapeBackward,                    CommandGroup::FORMAT );
+    implDescribeSupportedFeature( ".uno:SendToBack",                
ChartCommandID::ShapeSendToBack,                CommandGroup::FORMAT );
+    implDescribeSupportedFeature( ".uno:FontDialog",                
ChartCommandID::ShapeFontDialog,                 CommandGroup::EDIT );
+    implDescribeSupportedFeature( ".uno:ParagraphDialog",           
ChartCommandID::ShapeParagraphDialog,            CommandGroup::EDIT );
 }
 
 IMPL_LINK( ShapeController, CheckNameHdl, AbstractSvxObjectNameDialog&, 
rDialog, bool )
@@ -445,7 +444,7 @@ void ShapeController::executeDispatch_RenameObject()
     }
 }
 
-void ShapeController::executeDispatch_ChangeZOrder( sal_uInt16 nId )
+void ShapeController::executeDispatch_ChangeZOrder( ChartCommandID nId )
 {
     SolarMutexGuard aGuard;
     DrawViewWrapper* pDrawViewWrapper = ( m_pChartController ? 
m_pChartController->GetDrawViewWrapper() : nullptr );
@@ -454,7 +453,7 @@ void ShapeController::executeDispatch_ChangeZOrder( 
sal_uInt16 nId )
 
     switch ( nId )
     {
-        case COMMAND_ID_BRING_TO_FRONT:
+        case ChartCommandID::ShapeBringToFront:
             {
                 if ( isForwardPossible() )
                 {
@@ -462,7 +461,7 @@ void ShapeController::executeDispatch_ChangeZOrder( 
sal_uInt16 nId )
                 }
             }
             break;
-        case COMMAND_ID_FORWARD:
+        case ChartCommandID::ShapeForward:
             {
                 if ( isForwardPossible() )
                 {
@@ -470,7 +469,7 @@ void ShapeController::executeDispatch_ChangeZOrder( 
sal_uInt16 nId )
                 }
             }
             break;
-        case COMMAND_ID_BACKWARD:
+        case ChartCommandID::ShapeBackward:
             {
                 if ( isBackwardPossible() )
                 {
@@ -478,7 +477,7 @@ void ShapeController::executeDispatch_ChangeZOrder( 
sal_uInt16 nId )
                 }
             }
             break;
-        case COMMAND_ID_SEND_TO_BACK:
+        case ChartCommandID::ShapeSendToBack:
             {
                 if ( isBackwardPossible() )
                 {
diff --git a/chart2/source/controller/main/ShapeController.hxx 
b/chart2/source/controller/main/ShapeController.hxx
index ef0c1d608636..cdd8002ce2d8 100644
--- a/chart2/source/controller/main/ShapeController.hxx
+++ b/chart2/source/controller/main/ShapeController.hxx
@@ -64,7 +64,7 @@ private:
     void executeDispatch_TransformDialog();
     void executeDispatch_ObjectTitleDescription();
     void executeDispatch_RenameObject();
-    void executeDispatch_ChangeZOrder( sal_uInt16 nId );
+    void executeDispatch_ChangeZOrder( ChartCommandID nId );
     void executeDispatch_FontDialog();
     void executeDispatch_ParagraphDialog();
 

Reply via email to