#include "wx/menu.h"
#include "wx/log.h"
+#include "wx/intl.h"
//-----------------------------------------------------------------------------
// wxMenuBar
m_menus.Append( menu );
menu->m_title = title; // ??????
- size_t pos;
+ int pos;
do {
pos = menu->m_title.First( '&' );
- if (pos != wxString::npos) menu->m_title.Remove( pos, 1 );
- } while (pos != wxString::npos);
+ if (pos != -1) menu->m_title.Remove( pos, 1 );
+ } while (pos != -1);
GtkWidget *root_menu;
root_menu = gtk_menu_item_new_with_label( WXSTRINGCAST(menu->m_title) );
return result;
}
-bool wxMenuBar::IsChecked( int id ) const
+void wxMenuBar::Check( int id, bool check )
+{
+ wxMenuItem* item = FindMenuItemById( id );
+ if (item) item->Check(check);
+};
+
+bool wxMenuBar::Checked( int id ) const
{
wxMenuItem* item = FindMenuItemById( id );
if (item) return item->IsChecked();
return FALSE;
-}
+};
-bool wxMenuBar::IsEnabled( int id ) const
+void wxMenuBar::Enable( int id, bool enable )
+{
+ wxMenuItem* item = FindMenuItemById( id );
+ if (item) item->Enable(enable);
+};
+
+bool wxMenuBar::Enabled( int id ) const
{
wxMenuItem* item = FindMenuItemById( id );
if (item) return item->IsEnabled();
return FALSE;
-}
+};
//-----------------------------------------------------------------------------
// wxMenu
event.SetEventObject( menu );
event.SetInt(id );
wxWindow *win = menu->GetInvokingWindow();
- if (win) win->ProcessEvent( event );
+ if (win) win->GetEventHandler()->ProcessEvent( event );
};
IMPLEMENT_DYNAMIC_CLASS(wxMenuItem,wxObject)
void wxMenuItem::SetText(const wxString& str)
{
+ m_text = "";
for ( const char *pc = str; *pc != '\0'; pc++ ) {
if ( *pc == '&' )
pc++; // skip it
void wxMenuItem::Check( bool check )
{
- wxCHECK_RET( IsCheckable(), "can't check uncheckable item!" )
+ wxCHECK_RET( IsCheckable(), _("Can't check uncheckable item!") )
m_isChecked = check;
gtk_check_menu_item_set_state( (GtkCheckMenuItem*)m_menuItem, (gint)check );
{
wxString s( itemString );
- size_t pos;
+ int pos;
do {
pos = s.First( '&' );
- if (pos != wxString::npos) s.Remove( pos, 1 );
- } while (pos != wxString::npos);
+ if (pos != -1) s.Remove( pos, 1 );
+ } while (pos != -1);
wxNode *node = m_items.First();
while (node)
node = node->Next();
};
- wxLogDebug("wxMenu::FindItem: item %d not found.", id);
+ wxLogDebug(_("wxMenu::FindItem: item %d not found."), id);
return NULL;
}