#include "wx/defs.h"
+#include "wx/toplevel.h"
#include "wx/log.h"
#include "wx/dialog.h"
#include "wx/control.h"
// wxASSERT_MSG( (g_activeFrame == win), wxT("TLW deactivatd although it wasn't active") );
// wxPrintf( wxT("inactive: %s\n"), win->GetTitle().c_str() );
-
- wxLogTrace(wxT("activate"), wxT("Activating frame %p (from focus_in)"), g_activeFrame);
- wxActivateEvent event(wxEVT_ACTIVATE, FALSE, g_activeFrame->GetId());
- event.SetEventObject(g_activeFrame);
- g_activeFrame->GetEventHandler()->ProcessEvent(event);
- g_activeFrame = NULL;
+ if (g_activeFrame)
+ {
+ wxLogTrace(wxT("activate"), wxT("Activating frame %p (from focus_in)"), g_activeFrame);
+ wxActivateEvent event(wxEVT_ACTIVATE, FALSE, g_activeFrame->GetId());
+ event.SetEventObject(g_activeFrame);
+ g_activeFrame->GetEventHandler()->ProcessEvent(event);
+
+ g_activeFrame = NULL;
+ }
return FALSE;
}
if (!win->m_hasVMT || !win->IsShown())
return FALSE;
+
int x = 0;
int y = 0;
gdk_window_get_root_origin( win->m_widget->window, &x, &y );
// e.g. in wxTaskBarIconAreaGTK
if (m_widget == NULL)
{
- GtkWindowType win_type = GTK_WINDOW_TOPLEVEL;
- if (style & wxFRAME_TOOL_WINDOW)
- win_type = GTK_WINDOW_POPUP;
-
if (GetExtraStyle() & wxTOPLEVEL_EX_DIALOG)
{
#ifdef __WXGTK20__
}
else
{
- m_widget = gtk_window_new(win_type);
+ m_widget = gtk_window_new(GTK_WINDOW_TOPLEVEL);
+#if GTK_CHECK_VERSION(2,1,0)
+ if (style & wxFRAME_TOOL_WINDOW)
+ gtk_window_set_type_hint(GTK_WINDOW(m_widget),
+ GDK_WINDOW_TYPE_HINT_UTILITY);
+#endif
+
}
}
m_fsIsShowing = show;
+#if GTK_CHECK_VERSION(2,2,0)
+
+ if (show)
+ gtk_window_fullscreen( GTK_WINDOW( m_widget ) );
+ else
+ gtk_window_unfullscreen( GTK_WINDOW( m_widget ) );
+
+#else
+
GdkWindow *window = m_widget->window;
wxX11FullScreenMethod method =
wxGetFullScreenMethodX11((WXDisplay*)GDK_DISPLAY(),
SetSize(m_fsSaveFrame.x, m_fsSaveFrame.y,
m_fsSaveFrame.width, m_fsSaveFrame.height);
}
-
+#endif
return TRUE;
}
GtkOnSize( m_x, m_y, m_width, m_height );
}
-
+
+ if (show)
+ gtk_widget_set_uposition( m_widget, m_x, m_y );
+
return wxWindow::Show( show );
}