- if ((m_x != old_x) || (m_y != old_y))
- gtk_widget_set_uposition( m_widget, m_x, m_y );
- }
-
- if ((m_width != old_width) || (m_height != old_height))
- {
- gtk_widget_set_usize( m_widget, m_width, m_height );
- }
-
- m_sizeSet = TRUE;
-
- wxSizeEvent event( wxSize(m_width,m_height), GetId() );
- event.SetEventObject( this );
- GetEventHandler()->ProcessEvent( event );
-
- m_resizing = FALSE;
-}
-
-void wxDialog::SetSize( int width, int height )
-{
- SetSize( -1, -1, width, height, wxSIZE_USE_EXISTING );
-}
-
-void wxDialog::Centre( int direction )
-{
- wxASSERT_MSG( (m_widget != NULL), "invalid frame" );
-
- int x = 0;
- int y = 0;
-
- if (direction & wxHORIZONTAL == wxHORIZONTAL) x = (gdk_screen_width () - m_width) / 2;
- if (direction & wxVERTICAL == wxVERTICAL) y = (gdk_screen_height () - m_height) / 2;
-
- Move( x, y );
-}
-
-bool wxDialog::Show( bool show )
-{
- if (!show && IsModal())
- {
- EndModal( wxID_CANCEL );
+ wxWindow * const parent = GetParentForModalDialog();
+ if ( parent && parent != this )
+ {
+ gtk_window_set_transient_for( GTK_WINDOW(m_widget),
+ GTK_WINDOW(parent->m_widget) );
+ }