X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/e41a1b1cbb37808d2bbd532b0d2a4bd49924c81a..52147d1c4bb54b904253e388da76747e459157c0:/src/gtk/frame.cpp diff --git a/src/gtk/frame.cpp b/src/gtk/frame.cpp index dfec0ddbaa..2fb0d7c57a 100644 --- a/src/gtk/frame.cpp +++ b/src/gtk/frame.cpp @@ -20,6 +20,10 @@ #include +#if wxUSE_LIBHILDON + #include +#endif // wxUSE_LIBHILDON + // ---------------------------------------------------------------------------- // event tables // ---------------------------------------------------------------------------- @@ -52,7 +56,8 @@ bool wxFrame::Create( wxWindow *parent, wxFrame::~wxFrame() { - m_isBeingDeleted = true; + SendDestroyEvent(); + DeleteAllBars(); } @@ -110,7 +115,7 @@ void wxFrame::DoGetClientSize( int *width, int *height ) const *height = 0; } -#if wxUSE_MENUS +#if wxUSE_MENUS && wxUSE_ACCEL // Helper for wxCreateAcceleratorTableForMenuBar static void wxAddAccelerators(wxList& accelEntries, wxMenu* menu) { @@ -166,21 +171,21 @@ static wxAcceleratorTable wxCreateAcceleratorTableForMenuBar(wxMenuBar* menuBar) return table; } -#endif +#endif // wxUSE_MENUS && wxUSE_ACCEL bool wxFrame::ShowFullScreen(bool show, long style) { if (!wxFrameBase::ShowFullScreen(show, style)) return false; -#if wxUSE_MENUS +#if wxUSE_MENUS && wxUSE_ACCEL if (show && GetMenuBar()) { wxAcceleratorTable table(wxCreateAcceleratorTableForMenuBar(GetMenuBar())); if (table.IsOk()) SetAcceleratorTable(table); } -#endif +#endif // wxUSE_MENUS && wxUSE_ACCEL wxWindow* const bar[] = { #if wxUSE_MENUS @@ -267,11 +272,15 @@ void wxFrame::DetachMenuBar() if ( m_frameMenuBar ) { +#if wxUSE_LIBHILDON + hildon_window_set_menu(HILDON_WINDOW(m_widget), NULL); +#else // !wxUSE_LIBHILDON m_frameMenuBar->UnsetInvokingWindow( this ); gtk_widget_ref( m_frameMenuBar->m_widget ); gtk_container_remove( GTK_CONTAINER(m_mainWidget), m_frameMenuBar->m_widget ); +#endif // wxUSE_LIBHILDON/!wxUSE_LIBHILDON } wxFrameBase::DetachMenuBar(); @@ -286,6 +295,10 @@ void wxFrame::AttachMenuBar( wxMenuBar *menuBar ) if (m_frameMenuBar) { +#if wxUSE_LIBHILDON + hildon_window_set_menu(HILDON_WINDOW(m_widget), + GTK_MENU(m_frameMenuBar->m_menubar)); +#else // !wxUSE_LIBHILDON m_frameMenuBar->SetInvokingWindow( this ); m_frameMenuBar->SetParent(this); @@ -309,6 +322,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_LIBHILDON } // make sure next size_allocate causes a wxSizeEvent m_oldClientWidth = 0;