eventShow.SetEventObject(win);
win->GetEventHandler()->ProcessEvent(eventShow);
}
- // restore focus-on-map setting in case ShowWithoutActivating() was called
- gtk_window_set_focus_on_map(GTK_WINDOW(win->m_widget), true);
+
+#if GTK_CHECK_VERSION(2,6,0)
+ if (!gtk_check_version(2,6,0))
+ {
+ // restore focus-on-map setting in case ShowWithoutActivating() was called
+ gtk_window_set_focus_on_map(GTK_WINDOW(win->m_widget), true);
+ }
+#endif // GTK+ 2.6+
+
return false;
}
}
{
gtk_window_set_keep_above(GTK_WINDOW(m_widget), TRUE);
}
+ if (style & wxMAXIMIZE)
+ gtk_window_maximize(GTK_WINDOW(m_widget));
#if 0
if (!name.empty())
{
if (!m_isShown)
{
- gtk_window_set_focus_on_map(GTK_WINDOW(m_widget), false);
+#if GTK_CHECK_VERSION(2,6,0)
+ if (!gtk_check_version(2,6,0))
+ gtk_window_set_focus_on_map(GTK_WINDOW(m_widget), false);
+#endif // GTK+ 2.6+
+
Show(true);
}
}
void wxTopLevelWindowGTK::DoSetClientSize(int width, int height)
{
+ wxTopLevelWindowBase::DoSetClientSize(width, height);
+
// Since client size is being explicitly set, don't change it later
+ // Has to be done after calling base because it calls SetSize,
+ // which sets this true
m_deferShowAllowed = false;
-
- wxTopLevelWindowBase::DoSetClientSize(width, height);
}
void wxTopLevelWindowGTK::DoGetClientSize( int *width, int *height ) const
bool wxTopLevelWindowGTK::CanSetTransparent()
{
// allow to override automatic detection as it's far from perfect
- static const wxChar *SYSOPT_TRANSPARENT = wxT("gtk.tlw.can-set-transparent");
+ const wxString SYSOPT_TRANSPARENT = "gtk.tlw.can-set-transparent";
if ( wxSystemOptions::HasOption(SYSOPT_TRANSPARENT) )
{
return wxSystemOptions::GetOptionInt(SYSOPT_TRANSPARENT) != 0;