]> git.saurik.com Git - wxWidgets.git/blobdiff - src/gtk/menu.cpp
the same event handler class, not object, can be used with multiple windows (patch...
[wxWidgets.git] / src / gtk / menu.cpp
index 630bd5d1b3579000cc96f78647c4be263ad248eb..bd901c5000d1da0ccf15b166bd37a9bec7f514c8 100644 (file)
@@ -140,13 +140,11 @@ 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_style = style;
-    m_invokingWindow = (wxWindow*) NULL;
+    m_invokingWindow = NULL;
 
-    if (!PreCreation( (wxWindow*) NULL, wxDefaultPosition, wxDefaultSize ) ||
-        !CreateBase( (wxWindow*) NULL, -1, wxDefaultPosition, wxDefaultSize, style, wxDefaultValidator, wxT("menubar") ))
+    if (!PreCreation( NULL, wxDefaultPosition, wxDefaultSize ) ||
+        !CreateBase( NULL, -1, wxDefaultPosition, wxDefaultSize, style, wxDefaultValidator, wxT("menubar") ))
     {
         wxFAIL_MSG( wxT("wxMenuBar creation failed") );
         return;
@@ -157,12 +155,12 @@ void wxMenuBar::Init(size_t n, wxMenu *menus[], const wxString titles[], long st
     if (style & wxMB_DOCKABLE)
     {
         m_widget = gtk_handle_box_new();
-        gtk_container_add( GTK_CONTAINER(m_widget), GTK_WIDGET(m_menubar) );
-        gtk_widget_show( GTK_WIDGET(m_menubar) );
+        gtk_container_add(GTK_CONTAINER(m_widget), m_menubar);
+        gtk_widget_show(m_menubar);
     }
     else
     {
-        m_widget = GTK_WIDGET(m_menubar);
+        m_widget = m_menubar;
     }
 
     PostCreation();
@@ -823,7 +821,7 @@ void wxMenuItem::SetText( const wxString& str )
         gtk_accelerator_parse( (const char*) oldbuf, &accel_key, &accel_mods);
         if (accel_key != 0)
         {
-            gtk_widget_remove_accelerator( GTK_WIDGET(m_menuItem),
+            gtk_widget_remove_accelerator(m_menuItem,
                                         m_parentMenu->m_accel,
                                         accel_key,
                                         accel_mods );
@@ -833,7 +831,7 @@ void wxMenuItem::SetText( const wxString& str )
     {
         // if the accelerator was taken from a stock ID, just get it back from GTK+ stock
         if (wxGetStockGtkAccelerator(stockid, &accel_mods, &accel_key))
-            gtk_widget_remove_accelerator( GTK_WIDGET(m_menuItem),
+            gtk_widget_remove_accelerator( m_menuItem,
                                            m_parentMenu->m_accel,
                                            accel_key,
                                            accel_mods );
@@ -846,7 +844,7 @@ void wxMenuItem::SetText( const wxString& str )
         gtk_accelerator_parse( (const char*) buf, &accel_key, &accel_mods);
         if (accel_key != 0)
         {
-            gtk_widget_add_accelerator( GTK_WIDGET(m_menuItem),
+            gtk_widget_add_accelerator( m_menuItem,
                                         "activate",
                                         m_parentMenu->m_accel,
                                         accel_key,
@@ -858,7 +856,7 @@ void wxMenuItem::SetText( const wxString& str )
     {
         // if the accelerator was taken from a stock ID, just get it back from GTK+ stock
         if (wxGetStockGtkAccelerator(stockid, &accel_mods, &accel_key))
-            gtk_widget_remove_accelerator( GTK_WIDGET(m_menuItem),
+            gtk_widget_remove_accelerator( m_menuItem,
                                            m_parentMenu->m_accel,
                                            accel_key,
                                            accel_mods );
@@ -1020,6 +1018,8 @@ wxMenu::~wxMenu()
    {
        // see wxMenu::Init
        gtk_widget_unref( m_menu );
+       g_object_unref( m_accel );
+       
        // if the menu is inserted in another menu at this time, there was
        // one more reference to it:
        if ( m_owner )
@@ -1164,7 +1164,7 @@ bool wxMenu::GtkAppend(wxMenuItem *mitem, int pos)
         gtk_accelerator_parse( (const char*) buf, &accel_key, &accel_mods);
         if (accel_key != 0)
         {
-            gtk_widget_add_accelerator (GTK_WIDGET(menuItem),
+            gtk_widget_add_accelerator (menuItem,
                                         "activate",
                                         m_accel,
                                         accel_key,
@@ -1176,7 +1176,7 @@ bool wxMenu::GtkAppend(wxMenuItem *mitem, int pos)
     {
         // if the accelerator was taken from a stock ID, just get it back from GTK+ stock
         if (wxGetStockGtkAccelerator(stockid, &accel_mods, &accel_key))
-            gtk_widget_add_accelerator( GTK_WIDGET(menuItem),
+            gtk_widget_add_accelerator( menuItem,
                                         "activate",
                                         m_accel,
                                         accel_key,