diff options
-rw-r--r-- | include/tools/rc.h | 27 | ||||
-rw-r--r-- | rsc/inc/rscdb.hxx | 3 | ||||
-rw-r--r-- | rsc/source/parser/rscicpx.cxx | 27 | ||||
-rw-r--r-- | rsc/source/parser/rscinit.cxx | 5 | ||||
-rw-r--r-- | vcl/source/window/menu.cxx | 35 |
5 files changed, 40 insertions, 57 deletions
diff --git a/include/tools/rc.h b/include/tools/rc.h index 6b5c90065116..dbf028da388e 100644 --- a/include/tools/rc.h +++ b/include/tools/rc.h @@ -72,18 +72,21 @@ namespace o3tl { } // "MenuItem" resource options: -#define RSC_MENUITEM_SEPARATOR 0x001 -#define RSC_MENUITEM_ID 0x002 -#define RSC_MENUITEM_STATUS 0x004 -#define RSC_MENUITEM_TEXT 0x008 -#define RSC_MENUITEM_BITMAP 0x010 -#define RSC_MENUITEM_HELPTEXT 0x020 -#define RSC_MENUITEM_HELPID 0x040 -#define RSC_MENUITEM_KEYCODE 0x080 -#define RSC_MENUITEM_MENU 0x100 -#define RSC_MENUITEM_CHECKED 0x200 -#define RSC_MENUITEM_DISABLE 0x400 -#define RSC_MENUITEM_COMMAND 0x800 +enum class RscMenuItem { + Separator = 0x001, + Id = 0x002, + Status = 0x004, + Text = 0x008, + Bitmap = 0x010, + HelpText = 0x020, + HelpId = 0x040, + Menu = 0x100, + Disable = 0x400, + Command = 0x800 +}; +namespace o3tl { + template<> struct typed_flags<RscMenuItem> : is_typed_flags<RscMenuItem, 0xd7f> {}; +} // "AccelKey" resource options: #define ACCELITEM_ACCEL 0x01 diff --git a/rsc/inc/rscdb.hxx b/rsc/inc/rscdb.hxx index 07db8596fd24..a84af73eafa4 100644 --- a/rsc/inc/rscdb.hxx +++ b/rsc/inc/rscdb.hxx @@ -198,8 +198,7 @@ class RscTypCont RscTop * InitClassKeyCode( RscTop * pSuper, RscEnum * pKey ); RscTop * InitClassAccelItem( RscTop * pSuper, RscTop * pKeyCode ); RscTop * InitClassAccel( RscTop * pSuper, RscTop * pClassAccelItem ); - RscTop * InitClassMenuItem( RscTop * pSuper, RscTop * pClassBitmap, - RscTop * pClassKeyCode ); + RscTop * InitClassMenuItem( RscTop * pSuper, RscTop * pClassBitmap ); RscTop * InitClassMenu( RscTop * pSuper, RscTop * pMenuItem ); RscTop * InitClassNumericFormatter( RscTop * pSuper ); diff --git a/rsc/source/parser/rscicpx.cxx b/rsc/source/parser/rscicpx.cxx index 1bbd9fdab778..cb8648c673f2 100644 --- a/rsc/source/parser/rscicpx.cxx +++ b/rsc/source/parser/rscicpx.cxx @@ -771,8 +771,7 @@ RscTop * RscTypCont::InitClassAccel( RscTop * pSuper, RscTop * pClassAccelItem ) } RscTop * RscTypCont::InitClassMenuItem( RscTop * pSuper, - RscTop * pClassBitmap, - RscTop * pClassKeyCode ) + RscTop * pClassBitmap ) { Atom nId; RscTop * pClassMenuItem; @@ -785,10 +784,10 @@ RscTop * RscTypCont::InitClassMenuItem( RscTop * pSuper, // initialize variables nId = aNmTb.Put( "Separator", VARNAME ); pClassMenuItem->SetVariable( nId, &aBool, nullptr, 0, - RSC_MENUITEM_SEPARATOR ); + (sal_uInt32)RscMenuItem::Separator ); nId = aNmTb.Put( "Identifier", VARNAME ); pClassMenuItem->SetVariable( nId, &aIdNoZeroUShort, nullptr, 0, - RSC_MENUITEM_ID ); + (sal_uInt32)RscMenuItem::Id ); { RscFlag * pFlag; RscClient * pClient; @@ -813,7 +812,7 @@ RscTop * RscTypCont::InitClassMenuItem( RscTop * pSuper, nVarId = aNmTb.Put( "_MenuItemFlags", VARNAME ); pClassMenuItem->SetVariable( nVarId, pFlag, nullptr, VAR_HIDDEN | VAR_NOENUM, - RSC_MENUITEM_STATUS ); + (sal_uInt32)RscMenuItem::Status ); // add client variables aBaseLst.push_back( @@ -854,28 +853,22 @@ RscTop * RscTypCont::InitClassMenuItem( RscTop * pSuper, } nId = aNmTb.Put( "Text", VARNAME ); pClassMenuItem->SetVariable( nId, &aLangString, nullptr, 0, - RSC_MENUITEM_TEXT ); + (sal_uInt32)RscMenuItem::Text ); nId = aNmTb.Put( "ItemBitmap", VARNAME ); pClassMenuItem->SetVariable( nId, pClassBitmap, nullptr, 0, - RSC_MENUITEM_BITMAP ); + (sal_uInt32)RscMenuItem::Bitmap ); nId = aNmTb.Put( "HelpText", VARNAME ); pClassMenuItem->SetVariable( nId, &aLangString, nullptr, 0, - RSC_MENUITEM_HELPTEXT ); + (sal_uInt32)RscMenuItem::HelpText ); nId = aNmTb.Put( "HelpID", VARNAME ); pClassMenuItem->SetVariable( nId, &aStringLiteral, nullptr, 0, - RSC_MENUITEM_HELPID ); - nId = aNmTb.Put( "AccelKey", VARNAME ); - pClassMenuItem->SetVariable( nId, pClassKeyCode, nullptr, 0, - RSC_MENUITEM_KEYCODE ); - nId = aNmTb.Put( "Check", VARNAME ); - pClassMenuItem->SetVariable( nId, &aBool, nullptr, 0, - RSC_MENUITEM_CHECKED ); + (sal_uInt32)RscMenuItem::HelpId ); nId = aNmTb.Put( "Disable", VARNAME ); pClassMenuItem->SetVariable( nId, &aBool, nullptr, 0, - RSC_MENUITEM_DISABLE ); + (sal_uInt32)RscMenuItem::Disable ); nId = aNmTb.Put( "Command", VARNAME ); pClassMenuItem->SetVariable( nId, &aString, nullptr, 0, - RSC_MENUITEM_COMMAND ); + (sal_uInt32)RscMenuItem::Command ); return pClassMenuItem; } diff --git a/rsc/source/parser/rscinit.cxx b/rsc/source/parser/rscinit.cxx index eca02aa5b7a0..b796c62d45a5 100644 --- a/rsc/source/parser/rscinit.cxx +++ b/rsc/source/parser/rscinit.cxx @@ -380,8 +380,7 @@ void RscTypCont::Init() pClassAccelItem->SetVariable( nId, pClassAccel, nullptr, VAR_SVDYNAMIC, ACCELITEM_ACCEL ); - RscTop* pClassMenuItem = InitClassMenuItem( pClassMgr, pClassBitmap, - pLangClassKeyCode ); + RscTop* pClassMenuItem = InitClassMenuItem( pClassMgr, pClassBitmap); pRoot->Insert( pClassMenuItem ); RscTop* pClassMenu = InitClassMenu( pClassMgr, pClassMenuItem ); @@ -390,7 +389,7 @@ void RscTypCont::Init() // pClassMenu is only completely defined here nId = aNmTb.Put( "SubMenu", VARNAME ); pClassMenuItem->SetVariable( nId, pClassMenu, nullptr, VAR_SVDYNAMIC, - RSC_MENUITEM_MENU ); + (sal_uInt32)RscMenuItem::Menu ); } { // initialize class diff --git a/vcl/source/window/menu.cxx b/vcl/source/window/menu.cxx index 075c53b8fb16..ce465f9c3a6f 100644 --- a/vcl/source/window/menu.cxx +++ b/vcl/source/window/menu.cxx @@ -427,29 +427,29 @@ void Menu::InsertItem( const ResId& rResId ) if( ! pMgr ) return; - sal_uLong nObjMask; + RscMenuItem nObjMask; GetRes( rResId.SetRT( RSC_MENUITEM ) ); - nObjMask = ReadLongRes(); + nObjMask = (RscMenuItem)ReadLongRes(); bool bSep = false; - if ( nObjMask & RSC_MENUITEM_SEPARATOR ) + if ( nObjMask & RscMenuItem::Separator ) bSep = ReadShortRes() != 0; sal_uInt16 nItemId = 1; - if ( nObjMask & RSC_MENUITEM_ID ) + if ( nObjMask & RscMenuItem::Id ) nItemId = sal::static_int_cast<sal_uInt16>(ReadLongRes()); MenuItemBits nStatus = MenuItemBits::NONE; - if ( nObjMask & RSC_MENUITEM_STATUS ) + if ( nObjMask & RscMenuItem::Status ) nStatus = sal::static_int_cast<MenuItemBits>(ReadLongRes()); OUString aText; - if ( nObjMask & RSC_MENUITEM_TEXT ) + if ( nObjMask & RscMenuItem::Text ) aText = ReadStringRes(); // create item - if ( nObjMask & RSC_MENUITEM_BITMAP ) + if ( nObjMask & RscMenuItem::Bitmap ) { if ( !bSep ) { @@ -468,14 +468,14 @@ void Menu::InsertItem( const ResId& rResId ) InsertSeparator(); OUString aHelpText; - if ( nObjMask & RSC_MENUITEM_HELPTEXT ) + if ( nObjMask & RscMenuItem::HelpText ) { aHelpText = ReadStringRes(); if( !bSep ) SetHelpText( nItemId, aHelpText ); } - if ( nObjMask & RSC_MENUITEM_HELPID ) + if ( nObjMask & RscMenuItem::HelpId ) { OString aHelpId( ReadByteStringRes() ); if ( !bSep ) @@ -485,29 +485,18 @@ void Menu::InsertItem( const ResId& rResId ) if( !bSep ) SetHelpText( nItemId, aHelpText ); - if ( nObjMask & RSC_MENUITEM_KEYCODE ) - { - if ( !bSep ) - SetAccelKey( nItemId, KeyCode( ResId( static_cast<RSHEADER_TYPE*>(GetClassRes()), *pMgr ) ) ); - IncrementRes( GetObjSizeRes( static_cast<RSHEADER_TYPE*>(GetClassRes()) ) ); - } - if( nObjMask & RSC_MENUITEM_CHECKED ) - { - if ( !bSep ) - CheckItem( nItemId, ReadShortRes() != 0 ); - } - if ( nObjMask & RSC_MENUITEM_DISABLE ) + if ( nObjMask & RscMenuItem::Disable ) { if ( !bSep ) EnableItem( nItemId, ReadShortRes() == 0 ); } - if ( nObjMask & RSC_MENUITEM_COMMAND ) + if ( nObjMask & RscMenuItem::Command ) { OUString aCommandStr = ReadStringRes(); if ( !bSep ) SetItemCommand( nItemId, aCommandStr ); } - if ( nObjMask & RSC_MENUITEM_MENU ) + if ( nObjMask & RscMenuItem::Menu ) { if ( !bSep ) { |