-void wxMenu::Delete( int id )
-{
- wxNode *node = m_items.First();
- while (node)
- {
- wxMenuItem *item = (wxMenuItem*)node->Data();
- if (item->GetId() == id)
- {
- gtk_widget_destroy( item->GetMenuItem() );
- m_items.DeleteNode( node );
- return;
- }
- node = node->Next();
- }
-}
-
-int wxMenu::FindItem( const wxString itemString ) const
-{
- wxString s = wxT("");
- for ( const wxChar *pc = itemString; *pc != wxT('\0'); pc++ )
- {
- if (*pc == wxT('&'))
- {
- pc++; /* skip it */
-#if (GTK_MINOR_VERSION > 0)
- s << wxT('_');
-#endif
- }
- s << *pc;
- }
-
- wxNode *node = m_items.First();
- while (node)
- {
- wxMenuItem *item = (wxMenuItem*)node->Data();
- if (item->GetText() == s)
- {
- return item->GetId();
- }
- node = node->Next();
- }
-
- return wxNOT_FOUND;
-}
-
-void wxMenu::Enable( int id, bool enable )
-{
- wxMenuItem *item = FindItem(id);
-
- wxCHECK_RET( item, wxT("wxMenu::Enable: no such item") );
-
- item->Enable(enable);
-}
-
-bool wxMenu::IsEnabled( int id ) const
-{
- wxMenuItem *item = FindItem(id);
-
- wxCHECK_MSG( item, FALSE, wxT("wxMenu::IsEnabled: no such item") );
-
- return item->IsEnabled();
-}
-
-void wxMenu::Check( int id, bool enable )
-{
- wxMenuItem *item = FindItem(id);
-
- wxCHECK_RET( item, wxT("wxMenu::Check: no such item") );
-
- item->Check(enable);
-}
-
-bool wxMenu::IsChecked( int id ) const
-{
- wxMenuItem *item = FindItem(id);
-
- wxCHECK_MSG( item, FALSE, wxT("wxMenu::IsChecked: no such item") );
-
- return item->IsChecked();
-}
-
-void wxMenu::SetLabel( int id, const wxString &label )
-{
- wxMenuItem *item = FindItem(id);
-
- wxCHECK_RET( item, wxT("wxMenu::SetLabel: no such item") );
-
- item->SetText(label);
-}
-
-wxString wxMenu::GetLabel( int id ) const
-{
- wxMenuItem *item = FindItem(id);
-
- wxCHECK_MSG( item, wxT(""), wxT("wxMenu::GetLabel: no such item") );
-
- return item->GetText();