X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/6c30965353103182eecdbd5e111b7965a0c40de6..29188693b3b8ba4b07762df012cc652d421dae79:/src/gtk/frame.cpp diff --git a/src/gtk/frame.cpp b/src/gtk/frame.cpp index 3c1c9f91c3..05635a131e 100644 --- a/src/gtk/frame.cpp +++ b/src/gtk/frame.cpp @@ -20,6 +20,14 @@ #include +#if wxUSE_LIBHILDON + #include +#endif // wxUSE_LIBHILDON + +#if wxUSE_LIBHILDON2 + #include +#endif // wxUSE_LIBHILDON2 + // ---------------------------------------------------------------------------- // event tables // ---------------------------------------------------------------------------- @@ -52,7 +60,8 @@ bool wxFrame::Create( wxWindow *parent, wxFrame::~wxFrame() { - m_isBeingDeleted = true; + SendDestroyEvent(); + DeleteAllBars(); } @@ -74,7 +83,9 @@ void wxFrame::DoGetClientSize( int *width, int *height ) const { GtkRequisition req; gtk_widget_size_request(m_frameMenuBar->m_widget, &req); +#if !wxUSE_LIBHILDON && !wxUSE_LIBHILDON2 *height -= req.height; +#endif } #endif // wxUSE_MENUS_NATIVE @@ -158,7 +169,7 @@ static wxAcceleratorTable wxCreateAcceleratorTableForMenuBar(wxMenuBar* menuBar) wxAcceleratorEntry* entry = (wxAcceleratorEntry*) accelEntries.Item(i)->GetData(); entries[i] = (*entry); delete entry; - + } wxAcceleratorTable table(n, entries); @@ -267,11 +278,13 @@ void wxFrame::DetachMenuBar() if ( m_frameMenuBar ) { - m_frameMenuBar->UnsetInvokingWindow( this ); - +#if wxUSE_LIBHILDON || wxUSE_LIBHILDON2 + hildon_window_set_menu(HILDON_WINDOW(m_widget), NULL); +#else // !wxUSE_LIBHILDON && !wxUSE_LIBHILDON2 gtk_widget_ref( m_frameMenuBar->m_widget ); gtk_container_remove( GTK_CONTAINER(m_mainWidget), m_frameMenuBar->m_widget ); +#endif // wxUSE_LIBHILDON || wxUSE_LIBHILDON2 /!wxUSE_LIBHILDON && !wxUSE_LIBHILDON2 } wxFrameBase::DetachMenuBar(); @@ -286,8 +299,10 @@ void wxFrame::AttachMenuBar( wxMenuBar *menuBar ) if (m_frameMenuBar) { - m_frameMenuBar->SetInvokingWindow( this ); - +#if wxUSE_LIBHILDON || wxUSE_LIBHILDON2 + hildon_window_set_menu(HILDON_WINDOW(m_widget), + GTK_MENU(m_frameMenuBar->m_menubar)); +#else // !wxUSE_LIBHILDON && !wxUSE_LIBHILDON2 m_frameMenuBar->SetParent(this); // menubar goes into top of vbox (m_mainWidget) @@ -309,6 +324,7 @@ void wxFrame::AttachMenuBar( wxMenuBar *menuBar ) gtk_widget_set_size_request(menuBar->m_widget, -1, -1); gtk_widget_show( m_frameMenuBar->m_widget ); +#endif // wxUSE_LIBHILDON || wxUSE_LIBHILDON2/!wxUSE_LIBHILDON && !wxUSE_LIBHILDON2 } // make sure next size_allocate causes a wxSizeEvent m_oldClientWidth = 0;