X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/5bd24f724209014da8889d1b225294777f5f856a..3903f408241aedc3b2f5e24349d0ac939ba9164c:/src/gtk/menu.cpp diff --git a/src/gtk/menu.cpp b/src/gtk/menu.cpp index 08dae1a867..f27623a980 100644 --- a/src/gtk/menu.cpp +++ b/src/gtk/menu.cpp @@ -1,5 +1,5 @@ ///////////////////////////////////////////////////////////////////////////// -// Name: menu.cpp +// Name: src/gtk/menu.cpp // Purpose: // Author: Robert Roebling // Id: $Id$ @@ -11,10 +11,13 @@ #include "wx/wxprec.h" #include "wx/menu.h" -#include "wx/log.h" -#include "wx/intl.h" -#include "wx/app.h" -#include "wx/bitmap.h" + +#ifndef WX_PRECOMP + #include "wx/intl.h" + #include "wx/log.h" + #include "wx/app.h" + #include "wx/bitmap.h" +#endif #if wxUSE_ACCEL #include "wx/accel.h" @@ -25,21 +28,14 @@ #include // FIXME: is this right? somehow I don't think so (VZ) -#ifdef __WXGTK20__ - #include - - #define gtk_accel_group_attach(g, o) gtk_window_add_accel_group((o), (g)) - #define gtk_accel_group_detach(g, o) gtk_window_remove_accel_group((o), (g)) - #define gtk_menu_ensure_uline_accel_group(m) gtk_menu_get_accel_group(m) - - #define ACCEL_OBJECT GtkWindow - #define ACCEL_OBJECTS(a) (a)->acceleratables - #define ACCEL_OBJ_CAST(obj) ((GtkWindow*) obj) -#else // GTK+ 1.x - #define ACCEL_OBJECT GtkObject - #define ACCEL_OBJECTS(a) (a)->attach_objects - #define ACCEL_OBJ_CAST(obj) GTK_OBJECT(obj) -#endif + +#define gtk_accel_group_attach(g, o) gtk_window_add_accel_group((o), (g)) +//#define gtk_accel_group_detach(g, o) gtk_window_remove_accel_group((o), (g)) +//#define gtk_menu_ensure_uline_accel_group(m) gtk_menu_get_accel_group(m) + +#define ACCEL_OBJECT GtkWindow +#define ACCEL_OBJECTS(a) (a)->acceleratables +#define ACCEL_OBJ_CAST(obj) ((GtkWindow*) obj) // we use normal item but with a special id for the menu title static const int wxGTK_TITLE_ID = -3; @@ -147,7 +143,7 @@ IMPLEMENT_DYNAMIC_CLASS(wxMenuBar,wxWindow) void wxMenuBar::Init(size_t n, wxMenu *menus[], const wxString titles[], long style) { // the parent window is known after wxFrame::SetMenu() - m_needParent = FALSE; + m_needParent = false; m_style = style; m_invokingWindow = (wxWindow*) NULL; @@ -282,7 +278,7 @@ void wxMenuBar::UnsetInvokingWindow( wxWindow *win ) bool wxMenuBar::Append( wxMenu *menu, const wxString &title ) { if ( !wxMenuBarBase::Append( menu, title ) ) - return FALSE; + return false; return GtkAppend(menu, title); } @@ -328,20 +324,20 @@ bool wxMenuBar::GtkAppend(wxMenu *menu, const wxString& title, int pos) frame->UpdateMenuBarSize(); } - return TRUE; + return true; } bool wxMenuBar::Insert(size_t pos, wxMenu *menu, const wxString& title) { if ( !wxMenuBarBase::Insert(pos, menu, title) ) - return FALSE; + return false; // TODO if ( !GtkAppend(menu, title, (int)pos) ) - return FALSE; + return false; - return TRUE; + return true; } wxMenu *wxMenuBar::Replace(size_t pos, wxMenu *menu, const wxString& title) @@ -747,7 +743,7 @@ void wxMenuItem::SetText( const wxString& str ) oldLabel.Replace(wxT("_"), wxT("")); wxString label1 = wxStripMenuCodes(str); wxString oldhotkey = GetHotKey(); // Store the old hotkey in Ctrl-foo format - wxCharBuffer oldbuf = wxGTK_CONV( GetGtkHotKey(*this) ); // and as foo + wxCharBuffer oldbuf = wxGTK_CONV_SYS( GetGtkHotKey(*this) ); // and as foo DoSetText(str); @@ -763,7 +759,7 @@ void wxMenuItem::SetText( const wxString& str ) else label = GTK_LABEL( GTK_BIN(m_menuItem)->child ); - gtk_label_set_text_with_mnemonic( GTK_LABEL(label), wxGTK_CONV(m_text) ); + gtk_label_set_text_with_mnemonic( GTK_LABEL(label), wxGTK_CONV_SYS(m_text) ); } guint accel_key; @@ -777,7 +773,7 @@ void wxMenuItem::SetText( const wxString& str ) accel_mods ); } - wxCharBuffer buf = wxGTK_CONV( GetGtkHotKey(*this) ); + wxCharBuffer buf = wxGTK_CONV_SYS( GetGtkHotKey(*this) ); gtk_accelerator_parse( (const char*) buf, &accel_key, &accel_mods); if (accel_key != 0) { @@ -880,9 +876,9 @@ void wxMenuItem::Enable( bool enable ) bool wxMenuItem::IsChecked() const { - wxCHECK_MSG( m_menuItem, FALSE, wxT("invalid menu item") ); + wxCHECK_MSG( m_menuItem, false, wxT("invalid menu item") ); - wxCHECK_MSG( IsCheckable(), FALSE, + wxCHECK_MSG( IsCheckable(), false, wxT("can't get state of uncheckable item!") ); return ((GtkCheckMenuItem*)m_menuItem)->active != 0; @@ -954,7 +950,7 @@ bool wxMenu::GtkAppend(wxMenuItem *mitem, int pos) text = mitem->GetText(); const wxBitmap *bitmap = &mitem->GetBitmap(); - menuItem = gtk_image_menu_item_new_with_mnemonic( wxGTK_CONV( text ) ); + menuItem = gtk_image_menu_item_new_with_mnemonic( wxGTK_CONV_SYS( text ) ); GtkWidget *image; if (bitmap->HasPixbuf()) @@ -985,7 +981,7 @@ bool wxMenu::GtkAppend(wxMenuItem *mitem, int pos) { case wxITEM_CHECK: { - menuItem = gtk_check_menu_item_new_with_mnemonic( wxGTK_CONV( text ) ); + menuItem = gtk_check_menu_item_new_with_mnemonic( wxGTK_CONV_SYS( text ) ); m_prevRadio = NULL; break; } @@ -996,12 +992,14 @@ bool wxMenu::GtkAppend(wxMenuItem *mitem, int pos) if ( m_prevRadio == NULL ) { // start of a new radio group - m_prevRadio = menuItem = gtk_radio_menu_item_new_with_mnemonic( group, wxGTK_CONV( text ) ); + m_prevRadio = menuItem = + gtk_radio_menu_item_new_with_mnemonic( group, wxGTK_CONV_SYS( text ) ); } else // continue the radio group { group = gtk_radio_menu_item_get_group (GTK_RADIO_MENU_ITEM (m_prevRadio)); - m_prevRadio = menuItem = gtk_radio_menu_item_new_with_mnemonic( group, wxGTK_CONV( text ) ); + m_prevRadio = menuItem = + gtk_radio_menu_item_new_with_mnemonic( group, wxGTK_CONV_SYS( text ) ); } break; } @@ -1012,7 +1010,7 @@ bool wxMenu::GtkAppend(wxMenuItem *mitem, int pos) case wxITEM_NORMAL: { - menuItem = gtk_menu_item_new_with_mnemonic( wxGTK_CONV( text ) ); + menuItem = gtk_menu_item_new_with_mnemonic( wxGTK_CONV_SYS( text ) ); m_prevRadio = NULL; break; } @@ -1022,7 +1020,7 @@ bool wxMenu::GtkAppend(wxMenuItem *mitem, int pos) guint accel_key; GdkModifierType accel_mods; - wxCharBuffer buf = wxGTK_CONV( GetGtkHotKey(*mitem) ); + wxCharBuffer buf = wxGTK_CONV_SYS( GetGtkHotKey(*mitem) ); // wxPrintf( wxT("item: %s hotkey %s\n"), mitem->GetText().c_str(), GetGtkHotKey(*mitem).c_str() ); gtk_accelerator_parse( (const char*) buf, &accel_key, &accel_mods); @@ -1080,7 +1078,7 @@ bool wxMenu::GtkAppend(wxMenuItem *mitem, int pos) // gtk_widget_lock_accelerators(mitem->GetMenuItem()); } - return TRUE; + return true; } wxMenuItem* wxMenu::DoAppend(wxMenuItem *mitem) @@ -1409,7 +1407,7 @@ static wxString GetGtkHotKey( const wxMenuItem& item ) extern "C" WXDLLIMPEXP_CORE void gtk_pop_hide_callback( GtkWidget *WXUNUSED(widget), bool* is_waiting ) { - *is_waiting = FALSE; + *is_waiting = false; } WXDLLIMPEXP_CORE void SetInvokingWindow( wxMenu *menu, wxWindow* win ) @@ -1512,4 +1510,3 @@ bool wxWindowGTK::DoPopupMenu( wxMenu *menu, int x, int y ) } #endif // wxUSE_MENUS_NATIVE -