Replace DIM() macro
The standard DIM() macro was not typesafe as it happily deferred errors to runtime that can be caught at compile time. Replacing it with a generic C++11 constexpr allows for typecasting, comparison and compile time error checking.
This commit is contained in:
+6
-6
@@ -675,7 +675,7 @@ bool PGM_BASE::SetLanguage( bool first_time )
|
||||
m_common_settings->Read( languageCfgKey, &languageSel );
|
||||
|
||||
// Search for the current selection
|
||||
for( unsigned ii = 0; ii < DIM( s_Languages ); ii++ )
|
||||
for( unsigned ii = 0; ii < arrayDim( s_Languages ); ii++ )
|
||||
{
|
||||
if( s_Languages[ii].m_Lang_Label == languageSel )
|
||||
{
|
||||
@@ -717,7 +717,7 @@ bool PGM_BASE::SetLanguage( bool first_time )
|
||||
wxString languageSel;
|
||||
|
||||
// Search for the current selection language name
|
||||
for( unsigned ii = 0; ii < DIM( s_Languages ); ii++ )
|
||||
for( unsigned ii = 0; ii < arrayDim( s_Languages ); ii++ )
|
||||
{
|
||||
if( s_Languages[ii].m_WX_Lang_Identifier == m_language_id )
|
||||
{
|
||||
@@ -756,9 +756,9 @@ bool PGM_BASE::SetLanguage( bool first_time )
|
||||
void PGM_BASE::SetLanguageIdentifier( int menu_id )
|
||||
{
|
||||
wxLogTrace( traceLocale, "Select language ID %d from %d possible languages.",
|
||||
menu_id, DIM( s_Languages ) );
|
||||
menu_id, arrayDim( s_Languages ) );
|
||||
|
||||
for( unsigned ii = 0; ii < DIM( s_Languages ); ii++ )
|
||||
for( unsigned ii = 0; ii < arrayDim( s_Languages ); ii++ )
|
||||
{
|
||||
if( menu_id == s_Languages[ii].m_KI_Lang_Identifier )
|
||||
{
|
||||
@@ -814,7 +814,7 @@ void PGM_BASE::AddMenuLanguageList( wxMenu* MasterMenu )
|
||||
|
||||
menu = new wxMenu;
|
||||
|
||||
for( unsigned ii = 0; ii < DIM( s_Languages ); ii++ )
|
||||
for( unsigned ii = 0; ii < arrayDim( s_Languages ); ii++ )
|
||||
{
|
||||
wxString label;
|
||||
|
||||
@@ -835,7 +835,7 @@ void PGM_BASE::AddMenuLanguageList( wxMenu* MasterMenu )
|
||||
KiBitmap( language_xpm ) );
|
||||
|
||||
// Set Check mark on current selected language
|
||||
for( unsigned ii = 0; ii < DIM( s_Languages ); ii++ )
|
||||
for( unsigned ii = 0; ii < arrayDim( s_Languages ); ii++ )
|
||||
{
|
||||
if( m_language_id == s_Languages[ii].m_WX_Lang_Identifier )
|
||||
menu->Check( s_Languages[ii].m_KI_Lang_Identifier, true );
|
||||
|
||||
Reference in New Issue
Block a user