// Modified by:
// Created: 04/01/98
// RCS-ID: $Id$
-// Copyright: (c) Julian Smart and Markus Holzem
-// Licence: wxWindows license
+// Copyright: (c) Julian Smart
+// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
// ===========================================================================
// headers
// ---------------------------------------------------------------------------
-#ifdef __GNUG__
+#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
#pragma implementation "printdlg.h"
#endif
#pragma hdrstop
#endif
-#include "wx/printdlg.h"
-#include "wx/dcprint.h"
+// Don't use the Windows print dialog if we're in wxUniv mode and using
+// the PostScript architecture
+#if wxUSE_PRINTING_ARCHITECTURE && (!defined(__WXUNIVERSAL__) || !wxUSE_POSTSCRIPT_ARCHITECTURE_IN_MSW)
-// Have to emulate page setup dialog for Win16
-#if !defined(__WIN95__)
- #include "wx/generic/prntdlgg.h"
+#ifndef WX_PRECOMP
+ #include "wx/app.h"
#endif
+#include "wx/printdlg.h"
+#include "wx/dcprint.h"
+
#include <stdlib.h>
-#include <windows.h>
+
+#include "wx/msw/private.h"
+
#include <commdlg.h>
#ifndef __WIN32__
#include <print.h>
#endif
-// Clash with Windows header files
-#ifdef StartDoc
-#undef StartDoc
-#endif
-
// ---------------------------------------------------------------------------
// wxWin macros
// ---------------------------------------------------------------------------
-#if !USE_SHARED_LIBRARY
IMPLEMENT_DYNAMIC_CLASS(wxPrintDialog, wxDialog)
IMPLEMENT_CLASS(wxPageSetupDialog, wxDialog)
-#endif
// ===========================================================================
// implementation
{
m_printDialogData.ConvertToNative();
- bool ret = (PrintDlg( (PRINTDLG *)m_printDialogData.GetNativeData() ) != 0);
+ PRINTDLG* p = (PRINTDLG *)m_printDialogData.GetNativeData() ;
+ if (m_dialogParent)
+ p->hwndOwner = (HWND) m_dialogParent->GetHWND();
+ else if (wxTheApp->GetTopWindow())
+ p->hwndOwner = (HWND) wxTheApp->GetTopWindow()->GetHWND();
+ else
+ p->hwndOwner = 0;
+
+ bool ret = (PrintDlg( p ) != 0);
+
+ p->hwndOwner = 0;
+
if ( ret != FALSE && ((PRINTDLG *)m_printDialogData.GetNativeData())->hDC)
{
wxPrinterDC *pdc = new wxPrinterDC((WXHDC) ((PRINTDLG *)m_printDialogData.GetNativeData())->hDC);
{
#ifdef __WIN95__
m_pageSetupData.ConvertToNative();
- if (PageSetupDlg( (PAGESETUPDLG *)m_pageSetupData.GetNativeData() ))
+ PAGESETUPDLG *p = (PAGESETUPDLG *)m_pageSetupData.GetNativeData();
+ if (m_dialogParent)
+ p->hwndOwner = (HWND) m_dialogParent->GetHWND();
+ else if (wxTheApp->GetTopWindow())
+ p->hwndOwner = (HWND) wxTheApp->GetTopWindow()->GetHWND();
+ else
+ p->hwndOwner = 0;
+ BOOL retVal = PageSetupDlg( p ) ;
+ p->hwndOwner = 0;
+ if (retVal)
{
m_pageSetupData.ConvertFromNative();
return wxID_OK;
#endif
}
+#endif
+ // wxUSE_PRINTING_ARCHITECTURE