+//-----------------------------------------------------------------------------
+// "realize" from m_widget
+//-----------------------------------------------------------------------------
+
+/* we cannot MWM hints and icons before the widget has been realized,
+ so we do this directly after realization */
+
+static gint
+gtk_frame_realized_callback( GtkWidget *widget, wxFrame *win )
+{
+ /* all this is for Motif Window Manager "hints" and is supposed to be
+ recognized by other WM as well. not tested. */
+ long decor = (long) GDK_DECOR_ALL;
+ long func = (long) GDK_FUNC_ALL;
+
+ if ((win->m_windowStyle & wxCAPTION) == 0)
+ decor |= GDK_DECOR_TITLE;
+/* if ((win->m_windowStyle & wxMINIMIZE) == 0)
+ func |= GDK_FUNC_MINIMIZE;
+ if ((win->m_windowStyle & wxMAXIMIZE) == 0)
+ func |= GDK_FUNC_MAXIMIZE; */
+ if ((win->m_windowStyle & wxSYSTEM_MENU) == 0)
+ decor |= GDK_DECOR_MENU;
+ if ((win->m_windowStyle & wxMINIMIZE_BOX) == 0)
+ decor |= GDK_DECOR_MINIMIZE;
+ if ((win->m_windowStyle & wxMAXIMIZE_BOX) == 0)
+ decor |= GDK_DECOR_MAXIMIZE;
+ if ((win->m_windowStyle & wxRESIZE_BORDER) == 0)
+ func |= GDK_FUNC_RESIZE;
+
+ gdk_window_set_decorations( win->m_widget->window, (GdkWMDecoration)decor);
+ gdk_window_set_functions( win->m_widget->window, (GdkWMFunction)func);
+
+ /* GTK's shrinking/growing policy */
+ if ((win->m_windowStyle & wxRESIZE_BORDER) == 0)
+ gtk_window_set_policy(GTK_WINDOW(win->m_widget), 0, 0, 1);
+ else
+ gtk_window_set_policy(GTK_WINDOW(win->m_widget), 1, 1, 1);
+
+ /* reset the icon */
+ if (win->m_icon != wxNullIcon)
+ {
+ wxIcon icon( win->m_icon );
+ win->m_icon = wxNullIcon;
+ win->SetIcon( icon );
+ }
+
+ return FALSE;
+}
+