add wxEVT_MAXIMIZE support to wxGTK

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67164 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Paul Cornett
2011-03-09 17:22:43 +00:00
parent 9bfdedfb3e
commit 89c6e02442
3 changed files with 13 additions and 6 deletions

View File

@@ -461,7 +461,6 @@ All (GUI):
- Added EVT_RIBBONBAR_TAB_LEFT_DCLICK event (snowleopard).
- Fix display of right aligned columns in wxGenericListCtrl (jl).
- Restore text drag-and-drop in wxSTC broken by Scintilla 2 update (Jens Lody).
- Improve wxGTK print/page setup dialog (rafravago).
- Add support for id ranges to XRC (David Hart).
- Added wxToolbook XRC handler (Andrea Zanellato).
- Added wxDocManager::FindTemplate() (troelsk).
@@ -479,7 +478,9 @@ All (GUI):
GTK:
- Improve print/page setup dialog (rafravago).
- Switch to GtkTooltip from deprecated GtkTooltips (Emilien Kia).
- wxTLW generates wxEVT_MAXIMIZE
MSW:

View File

@@ -1787,7 +1787,7 @@ public:
not sent when the window is restored to its original size after it had been
maximized, only a normal wxSizeEvent is generated in this case.
Currently this event is only generated in wxMSW, wxOSX/Cocoa and wxOS2
Currently this event is only generated in wxMSW, wxGTK, wxOSX/Cocoa and wxOS2
ports so portable programs should only rely on receiving @c wxEVT_SIZE and
not necessarily this event when the window is maximized.

View File

@@ -383,6 +383,14 @@ gtk_frame_window_state_callback( GtkWidget* WXUNUSED(widget),
if (event->changed_mask & GDK_WINDOW_STATE_ICONIFIED)
win->SetIconizeState((event->new_window_state & GDK_WINDOW_STATE_ICONIFIED) != 0);
// if maximized bit changed and it is now set
if (event->changed_mask & event->new_window_state & GDK_WINDOW_STATE_MAXIMIZED)
{
wxMaximizeEvent event(win->GetId());
event.SetEventObject(win);
win->HandleWindowEvent(event);
}
return false;
}
}
@@ -1210,10 +1218,8 @@ void wxTopLevelWindowGTK::Maximize(bool maximize)
bool wxTopLevelWindowGTK::IsMaximized() const
{
if(!m_widget->window)
return false;
return gdk_window_get_state(m_widget->window) & GDK_WINDOW_STATE_MAXIMIZED;
return m_widget->window &&
(gdk_window_get_state(m_widget->window) & GDK_WINDOW_STATE_MAXIMIZED);
}
void wxTopLevelWindowGTK::Restore()