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

View File

@@ -1787,7 +1787,7 @@ public:
not sent when the window is restored to its original size after it had been 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. 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 ports so portable programs should only rely on receiving @c wxEVT_SIZE and
not necessarily this event when the window is maximized. 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) if (event->changed_mask & GDK_WINDOW_STATE_ICONIFIED)
win->SetIconizeState((event->new_window_state & GDK_WINDOW_STATE_ICONIFIED) != 0); 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; return false;
} }
} }
@@ -1210,10 +1218,8 @@ void wxTopLevelWindowGTK::Maximize(bool maximize)
bool wxTopLevelWindowGTK::IsMaximized() const bool wxTopLevelWindowGTK::IsMaximized() const
{ {
if(!m_widget->window) return m_widget->window &&
return false; (gdk_window_get_state(m_widget->window) & GDK_WINDOW_STATE_MAXIMIZED);
return gdk_window_get_state(m_widget->window) & GDK_WINDOW_STATE_MAXIMIZED;
} }
void wxTopLevelWindowGTK::Restore() void wxTopLevelWindowGTK::Restore()