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:
Seth Hillbrand
2019-01-06 08:43:12 -08:00
parent cec97ebfa6
commit 1e5ba6f1b1
49 changed files with 116 additions and 116 deletions
+6 -6
View File
@@ -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 );