-#if WXGARBAGE_COLLECTION_ON /* MATTHEW: GC */
- if (!modal)
- {
- if (show)
- {
- if (!wxModelessWindows.Find(this))
- wxModelessWindows.Append(this);
- }
- else
- wxModelessWindows.DeleteObject(this);
- }
- if (show)
- {
- if (!wxTopLevelWindows.Find(this))
- wxTopLevelWindows.Append(this);
- }
- else
- wxTopLevelWindows.DeleteObject(this);
-#endif
-
- if ( modal )
- {
- s_macIsInModalLoop = true ;
- if (show)
- {
- if (m_modalShowing)
- {
-// BringWindowToTop((HWND) GetHWND());
- return TRUE;
- }
-
- m_modalShowing = TRUE;
- // if we don't do it, some window might be deleted while we have pointers
- // to them in our disabledWindows list and the program will crash when it
- // will try to reenable them after the modal dialog end
- wxTheApp->DeletePendingObjects();
-
- UMAShowWindow( m_macWindowData->m_macWindow ) ;
- UMASelectWindow( m_macWindowData->m_macWindow ) ;
-
- if (!wxModalDialogs.Member(this))
- wxModalDialogs.Append(this);
-
- while (wxModalDialogs.Member(this) )
- {
- wxTheApp->MacDoOneEvent() ;
- }
- }
- else
- {
- wxModalDialogs.DeleteObject(this);
- UMAHideWindow( m_macWindowData->m_macWindow ) ;
- }
- s_macIsInModalLoop = false ;
- }
- else // !modal
- {
- if (show)
- {
- UMAShowWindow( m_macWindowData->m_macWindow ) ;
- UMASelectWindow( m_macWindowData->m_macWindow ) ;
- }
- else
- {
- UMAHideWindow( m_macWindowData->m_macWindow ) ;
- }
- }
- return TRUE ;
-}
-
-void wxDialog::SetTitle(const wxString& title)
-{
- wxWindow::SetTitle( title ) ;
-}
-
-wxString wxDialog::GetTitle() const
-{
- return wxWindow::GetTitle() ;
-}
-
-void wxDialog::Centre(int direction)
-{
- int x_offset,y_offset ;
- int display_width, display_height;
- int width, height, x, y;
- wxWindow *parent = GetParent();
- if ((direction & wxCENTER_FRAME) && parent)
- {
- parent->GetPosition(&x_offset,&y_offset) ;
- parent->GetSize(&display_width,&display_height) ;
- }
- else
- {
- wxDisplaySize(&display_width, &display_height);
- x_offset = 0 ;
- y_offset = 0 ;
- }
-
- GetSize(&width, &height);
- GetPosition(&x, &y);
-
- if (direction & wxHORIZONTAL)
- x = (int)((display_width - width)/2);
- if (direction & wxVERTICAL)
- y = (int)((display_height - height)/2);
-
- SetSize(x+x_offset, y+y_offset, width, height);
-}