/////////////////////////////////////////////////////////////////////////////
// Name: src/gtk/menu.cpp
-// Purpose:
+// Purpose: implementation of wxMenuBar and wxMenu classes for wxGTK
// Author: Robert Roebling
// Id: $Id$
// Copyright: (c) 1998 Robert Roebling
// For compilers that support precompilation, includes "wx.h".
#include "wx/wxprec.h"
+#if wxUSE_MENUS
+
#include "wx/menu.h"
#ifndef WX_PRECOMP
wxString text;
// '\t' is the deliminator indicating a hot key
- const wxChar *pc = str;
- while ( (*pc != wxT('\0')) && (*pc != wxT('\t')) )
+ wxString::const_iterator pc = str.begin();
+ while ( pc != str.end() && *pc != wxT('\t') )
{
- if ((*pc == wxT('&')) && (*(pc+1) == wxT('&')))
- {
- // "&" is doubled to indicate "&" instead of accelerator
- ++pc;
- text << wxT('&');
- }
- else if (*pc == wxT('&'))
+ if (*pc == wxT('&'))
{
- text << wxT('_');
+ wxString::const_iterator next = pc + 1;
+ if (next != str.end() && *next == wxT('&'))
+ {
+ // "&" is doubled to indicate "&" instead of accelerator
+ ++pc;
+ text << wxT('&');
+ }
+ else
+ {
+ text << wxT('_');
+ }
}
else if ( *pc == wxT('_') ) // escape underscores
{
if(*pc == wxT('\t'))
{
pc++;
- *hotKey = pc;
+ hotKey->assign(pc, str.end());
}
}
}
#endif // __WXGTK20__
+
+#endif // wxUSE_MENUS