// Modified by:
// Created: 01/02/97
// RCS-ID: $Id$
-// Copyright: (c)
+// Copyright: (c) Julian Smart
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
#ifndef __PRINTDLGH_G_
#define __PRINTDLGH_G_
-#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
- #pragma interface "prntdlgg.h"
-#endif
-
#include "wx/defs.h"
#if wxUSE_PRINTING_ARCHITECTURE
#include "wx/cmndata.h"
#include "wx/prntbase.h"
#include "wx/printdlg.h"
+#include "wx/listctrl.h"
#if wxUSE_POSTSCRIPT
#include "wx/dcps.h"
class WXDLLEXPORT wxComboBox;
class WXDLLEXPORT wxStaticText;
class WXDLLEXPORT wxRadioBox;
-class WXDLLEXPORT wxPrintSetupData;
class WXDLLEXPORT wxPageSetupData;
// ----------------------------------------------------------------------------
// constants
// ----------------------------------------------------------------------------
-// FIXME why all these enums start with 10 or 30?
+// This is not clear why all these enums start with 10 or 30 but do not change it
+// without good reason to avoid some subtle backwards compatibility breakage
enum
{
wxPRINTID_ORIENTATION,
wxPRINTID_COMMAND,
wxPRINTID_OPTIONS,
- wxPRINTID_PAPERSIZE
+ wxPRINTID_PAPERSIZE,
+ wxPRINTID_PRINTER
};
#if wxUSE_POSTSCRIPT
public:
wxPostScriptPrintNativeData();
virtual ~wxPostScriptPrintNativeData();
-
+
virtual bool TransferTo( wxPrintData &data );
virtual bool TransferFrom( const wxPrintData &data );
-
+
virtual bool Ok() const { return true; }
-
+
const wxString& GetPrinterCommand() const { return m_printerCommand; }
const wxString& GetPrinterOptions() const { return m_printerOptions; }
const wxString& GetPreviewCommand() const { return m_previewCommand; }
double GetPrinterScaleY() const { return m_printerScaleY; }
long GetPrinterTranslateX() const { return m_printerTranslateX; }
long GetPrinterTranslateY() const { return m_printerTranslateY; }
- wxPrintMode GetPrintMode() const { return m_printMode; }
void SetPrinterCommand(const wxString& command) { m_printerCommand = command; }
void SetPrinterOptions(const wxString& options) { m_printerOptions = options; }
void SetPrinterTranslateX(long x) { m_printerTranslateX = x; }
void SetPrinterTranslateY(long y) { m_printerTranslateY = y; }
void SetPrinterTranslation(long x, long y) { m_printerTranslateX = x; m_printerTranslateY = y; }
- void SetPrintMode(wxPrintMode printMode) { m_printMode = printMode; }
#if wxUSE_STREAMS
wxOutputStream *GetOutputStream() { return m_outputStream; }
double m_printerScaleY;
long m_printerTranslateX;
long m_printerTranslateY;
- wxPrintMode m_printMode;
#if wxUSE_STREAMS
wxOutputStream *m_outputStream;
#endif
-
+
private:
DECLARE_DYNAMIC_CLASS(wxPostScriptPrintNativeData)
};
-
+
// ----------------------------------------------------------------------------
// Simulated Print and Print Setup dialogs for non-Windows platforms (and
// Windows using PostScript print/preview)
virtual int ShowModal();
-#if wxUSE_POSTSCRIPT
wxPrintData& GetPrintData()
{ return m_printDialogData.GetPrintData(); }
-#endif // wxUSE_POSTSCRIPT
wxPrintDialogData& GetPrintDialogData() { return m_printDialogData; }
wxDC *GetPrintDC();
// There are no configuration options for the dialog, so we
// just pass the wxPrintData object (no wxPrintSetupDialogData class needed)
wxGenericPrintSetupDialog(wxWindow *parent, wxPrintData* data);
- wxGenericPrintSetupDialog(wxWindow *parent, wxPrintSetupData* data);
virtual ~wxGenericPrintSetupDialog();
void Init(wxPrintData* data);
+ void OnPrinter(wxListEvent& event);
+
virtual bool TransferDataFromWindow();
virtual bool TransferDataToWindow();
- wxComboBox *CreatePaperTypeChoice(int* x, int* y);
+ virtual wxComboBox *CreatePaperTypeChoice();
public:
+ wxListCtrl* m_printerListCtrl;
wxRadioBox* m_orientationRadioBox;
wxTextCtrl* m_printerCommandText;
wxTextCtrl* m_printerOptionsText;
wxCheckBox* m_colourCheckBox;
- wxComboBox* m_paperTypeChoice;
+ wxComboBox* m_paperTypeChoice;
-#if wxUSE_POSTSCRIPT
wxPrintData m_printData;
wxPrintData& GetPrintData() { return m_printData; }
-#endif // wxUSE_POSTSCRIPT
+
+ // After pressing OK, write data here.
+ wxPrintData* m_targetData;
private:
+ DECLARE_EVENT_TABLE()
DECLARE_CLASS(wxGenericPrintSetupDialog)
};
#endif
// wxUSE_POSTSCRIPT
-class WXDLLEXPORT wxGenericPageSetupDialog : public wxDialog
+class WXDLLEXPORT wxGenericPageSetupDialog : public wxPageSetupDialogBase
{
public:
wxGenericPageSetupDialog(wxWindow *parent = NULL,
- wxPageSetupData* data = NULL);
+ wxPageSetupDialogData* data = NULL);
virtual ~wxGenericPageSetupDialog();
virtual bool TransferDataFromWindow();
virtual bool TransferDataToWindow();
- void OnPrinter(wxCommandEvent& event);
+ virtual wxPageSetupDialogData& GetPageSetupDialogData();
+ void OnPrinter(wxCommandEvent& event);
wxComboBox *CreatePaperTypeChoice(int* x, int* y);
- wxPageSetupData& GetPageSetupData() { return m_pageData; }
public:
wxButton* m_printerButton;
wxTextCtrl* m_marginBottomText;
wxComboBox* m_paperTypeChoice;
- static bool m_pageSetupDialogCancelled;
-
- wxPageSetupData m_pageData;
+ wxPageSetupDialogData m_pageData;
private:
DECLARE_EVENT_TABLE()
#endif
#endif
-// __PRINTDLGH_G__
+// __PRINTDLGH_G_