IMPLEMENT_DYNAMIC_CLASS(wxDialog,wxPanel)
-wxDialog::wxDialog()
+void wxDialog::Init()
{
- m_title = "";
m_sizeSet = FALSE;
m_modalShowing = FALSE;
}
const wxPoint &pos, const wxSize &size,
long style, const wxString &name )
{
- m_modalShowing = FALSE;
- m_sizeSet = FALSE;
+ Init();
+
Create( parent, id, title, pos, size, style, name );
}
if (m_parent) m_parent->AddChild( this );
PostCreation();
-
+
gtk_widget_realize( m_widget );
+ long decor = (long) GDK_DECOR_ALL;
+ long func = (long) GDK_FUNC_ALL;
+
+ if ((m_windowStyle & wxCAPTION) == 0)
+ decor |= GDK_DECOR_TITLE;
+ if ((m_windowStyle & wxMINIMIZE) == 0)
+ func |= GDK_FUNC_MINIMIZE;
+ if ((m_windowStyle & wxMAXIMIZE) == 0)
+ func |= GDK_FUNC_MAXIMIZE;
+ if ((m_windowStyle & wxSYSTEM_MENU) == 0)
+ decor |= GDK_DECOR_MENU;
+ if ((m_windowStyle & wxMINIMIZE_BOX) == 0)
+ decor |= GDK_DECOR_MINIMIZE;
+ if ((m_windowStyle & wxMAXIMIZE_BOX) == 0)
+ decor |= GDK_DECOR_MAXIMIZE;
+ if ((m_windowStyle & wxRESIZE_BORDER) == 0)
+ func |= GDK_FUNC_RESIZE;
+
+ gdk_window_set_decorations(m_widget->window, (GdkWMDecoration)decor);
+ gdk_window_set_functions(m_widget->window, (GdkWMFunction)func);
+
gtk_signal_connect( GTK_OBJECT(m_widget), "size_allocate",
GTK_SIGNAL_FUNC(gtk_dialog_size_callback), (gpointer)this );
if ((m_x != old_x) || (m_y != old_y))
{
/* m_sizeSet = FALSE; */
- gtk_widget_set_uposition( m_widget, m_x, m_y );
+ gtk_widget_set_uposition( m_widget, m_x, m_y );
}
}
}
wxWindow::Show( show );
-
+
if (show) InitDialog();
return TRUE;
wxFAIL_MSG( "wxDialog:ShowModal called twice" );
return GetReturnCode();
}
-
+
Show( TRUE );
m_modalShowing = TRUE;