First step at moving the print (dialog) native
data into native dirs and cleaning up the code. The native part of wxPrintData is now created via the wxPrintFactory. I moved the code for PostScript to /src/generic/prntdlgg. and for MSW to its the respective dir. I only made wxMac compile, but it already has a native print data class, which should be easy to merge. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@29947 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -26,6 +26,10 @@
|
||||
#include "wx/stream.h"
|
||||
#endif
|
||||
|
||||
|
||||
class WXDLLEXPORT wxPrintNativeDataBase;
|
||||
|
||||
|
||||
class WXDLLEXPORT wxColourData: public wxObject
|
||||
{
|
||||
public:
|
||||
@@ -206,61 +210,22 @@ public:
|
||||
void SetQuality(wxPrintQuality quality) { m_printQuality = quality; }
|
||||
void SetBin(wxPrintBin bin) { m_bin = bin; }
|
||||
|
||||
// PostScript-specific data
|
||||
const wxString& GetPrinterCommand() const { return m_printerCommand; }
|
||||
const wxString& GetPrinterOptions() const { return m_printerOptions; }
|
||||
const wxString& GetPreviewCommand() const { return m_previewCommand; }
|
||||
const wxString& GetFilename() const { return m_filename; }
|
||||
const wxString& GetFontMetricPath() const { return m_afmPath; }
|
||||
double GetPrinterScaleX() const { return m_printerScaleX; }
|
||||
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 SetPreviewCommand(const wxString& command) { m_previewCommand = command; }
|
||||
void SetFilename(const wxString& filename) { m_filename = filename; }
|
||||
void SetFontMetricPath(const wxString& path) { m_afmPath = path; }
|
||||
void SetPrinterScaleX(double x) { m_printerScaleX = x; }
|
||||
void SetPrinterScaleY(double y) { m_printerScaleY = y; }
|
||||
void SetPrinterScaling(double x, double y) { m_printerScaleX = x; m_printerScaleY = y; }
|
||||
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; }
|
||||
void SetOutputStream(wxOutputStream* outputstream) { m_outputstream = outputstream; }
|
||||
#endif
|
||||
|
||||
wxString GetFilename() const { return m_filename; }
|
||||
void SetFilename( const wxString &filename ) { m_filename = filename; }
|
||||
|
||||
void operator=(const wxPrintData& data);
|
||||
|
||||
wxPrintNativeDataBase *GetNativeData() const { return m_nativeData; }
|
||||
|
||||
#if defined(__WXMSW__)
|
||||
// Convert to/from the DEVMODE structure
|
||||
#if defined(__WXMAC__)
|
||||
void ConvertToNative();
|
||||
void ConvertFromNative();
|
||||
void* GetNativeData() const { return m_devMode; }
|
||||
void SetNativeData(void* data) { m_devMode = data; }
|
||||
void* GetNativeDataDevNames() const { return m_devNames; }
|
||||
void SetNativeDataDevNames(void* data) { m_devNames = data; }
|
||||
#elif defined(__WXMAC__)
|
||||
void ConvertToNative();
|
||||
void ConvertFromNative();
|
||||
#endif
|
||||
|
||||
public:
|
||||
#if defined(__WXMSW__)
|
||||
void* m_devMode;
|
||||
void* m_devNames;
|
||||
#elif defined(__WXMAC__)
|
||||
#if defined(__WXMAC__)
|
||||
wxNativePrintData* m_nativePrintData ;
|
||||
#endif
|
||||
#if wxUSE_STREAMS
|
||||
wxOutputStream* m_outputstream;
|
||||
#endif
|
||||
|
||||
private:
|
||||
wxPrintBin m_bin;
|
||||
@@ -269,25 +234,16 @@ private:
|
||||
int m_printOrientation;
|
||||
bool m_printCollate;
|
||||
|
||||
// New members, 24/3/99
|
||||
wxString m_printerName;
|
||||
bool m_colour;
|
||||
wxDuplexMode m_duplexMode;
|
||||
wxPrintQuality m_printQuality;
|
||||
wxPaperSize m_paperId;
|
||||
wxSize m_paperSize;
|
||||
|
||||
// PostScript-specific data
|
||||
wxString m_printerCommand;
|
||||
wxString m_previewCommand;
|
||||
wxString m_printerOptions;
|
||||
|
||||
wxString m_filename;
|
||||
wxString m_afmPath;
|
||||
double m_printerScaleX;
|
||||
double m_printerScaleY;
|
||||
long m_printerTranslateX;
|
||||
long m_printerTranslateY;
|
||||
wxPrintMode m_printMode;
|
||||
|
||||
wxPrintNativeDataBase *m_nativeData;
|
||||
|
||||
private:
|
||||
DECLARE_DYNAMIC_CLASS(wxPrintData)
|
||||
|
@@ -23,6 +23,7 @@
|
||||
|
||||
#include "wx/dialog.h"
|
||||
#include "wx/cmndata.h"
|
||||
#include "wx/prntbase.h"
|
||||
#include "wx/printdlg.h"
|
||||
|
||||
#if wxUSE_POSTSCRIPT
|
||||
@@ -37,6 +38,7 @@ class WXDLLEXPORT wxStaticText;
|
||||
class WXDLLEXPORT wxRadioBox;
|
||||
class WXDLLEXPORT wxPrintSetupData;
|
||||
class WXDLLEXPORT wxPageSetupData;
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// constants
|
||||
// ----------------------------------------------------------------------------
|
||||
@@ -71,12 +73,73 @@ enum
|
||||
wxPRINTID_PAPERSIZE
|
||||
};
|
||||
|
||||
#if wxUSE_POSTSCRIPT
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
// wxPostScriptNativeData
|
||||
//----------------------------------------------------------------------------
|
||||
|
||||
class WXDLLEXPORT wxPostScriptPrintNativeData: public wxPrintNativeDataBase
|
||||
{
|
||||
public:
|
||||
wxPostScriptPrintNativeData();
|
||||
virtual ~wxPostScriptPrintNativeData();
|
||||
|
||||
virtual bool ConvertTo( wxPrintData &data );
|
||||
virtual bool ConvertFrom( 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; }
|
||||
const wxString& GetFontMetricPath() const { return m_afmPath; }
|
||||
double GetPrinterScaleX() const { return m_printerScaleX; }
|
||||
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 SetPreviewCommand(const wxString& command) { m_previewCommand = command; }
|
||||
void SetFontMetricPath(const wxString& path) { m_afmPath = path; }
|
||||
void SetPrinterScaleX(double x) { m_printerScaleX = x; }
|
||||
void SetPrinterScaleY(double y) { m_printerScaleY = y; }
|
||||
void SetPrinterScaling(double x, double y) { m_printerScaleX = x; m_printerScaleY = y; }
|
||||
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; }
|
||||
void SetOutputStream( wxOutputStream *output ) { m_outputStream = output; }
|
||||
#endif
|
||||
|
||||
private:
|
||||
wxString m_printerCommand;
|
||||
wxString m_previewCommand;
|
||||
wxString m_printerOptions;
|
||||
wxString m_afmPath;
|
||||
double m_printerScaleX;
|
||||
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)
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
#if wxUSE_POSTSCRIPT
|
||||
class WXDLLEXPORT wxGenericPrintDialog : public wxPrintDialogBase
|
||||
{
|
||||
public:
|
||||
|
@@ -21,7 +21,24 @@
|
||||
#include "wx/dialog.h"
|
||||
#include "wx/cmndata.h"
|
||||
#include "wx/printdlg.h"
|
||||
#include "wx/prntbase.h"
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
// wxMacPrintNativeData
|
||||
//----------------------------------------------------------------------------
|
||||
|
||||
class WXDLLEXPORT wxMacPrintNativeData: public wxPrintNativeDataBase
|
||||
{
|
||||
public:
|
||||
wxMacPrintNativeData() {};
|
||||
virtual ~wxMacPrintNativeData() {};
|
||||
|
||||
virtual bool ConvertTo( wxPrintData &data ) { return true; }
|
||||
virtual bool ConvertFrom( const wxPrintData &data ) { return true; }
|
||||
|
||||
virtual bool Ok() const { return true; }
|
||||
};
|
||||
|
||||
/*
|
||||
* wxPrinterDialog
|
||||
* The common dialog for printing.
|
||||
|
@@ -20,10 +20,39 @@
|
||||
|
||||
#include "wx/dialog.h"
|
||||
#include "wx/cmndata.h"
|
||||
#include "wx/prntbase.h"
|
||||
#include "wx/printdlg.h"
|
||||
|
||||
class WXDLLEXPORT wxDC;
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
// wxWindowsPrintNativeData
|
||||
//----------------------------------------------------------------------------
|
||||
|
||||
class WXDLLEXPORT wxWindowsPrintNativeData: public wxPrintNativeDataBase
|
||||
{
|
||||
public:
|
||||
wxWindowsPrintNativeData();
|
||||
virtual ~wxWindowsPrintNativeData();
|
||||
|
||||
virtual bool ConvertTo( wxPrintData &data );
|
||||
virtual bool ConvertFrom( const wxPrintData &data );
|
||||
|
||||
virtual bool Ok() const;
|
||||
|
||||
void* GetNativeData() const { return m_devMode; }
|
||||
void SetNativeData(void* data) { m_devMode = data; }
|
||||
void* GetNativeDataDevNames() const { return m_devNames; }
|
||||
void SetNativeDataDevNames(void* data) { m_devNames = data; }
|
||||
|
||||
private:
|
||||
void* m_devMode;
|
||||
void* m_devNames;
|
||||
|
||||
private:
|
||||
DECLARE_DYNAMIC_CLASS(wxWindowsPrintNativeData)
|
||||
};
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
// wxPrinterDialog: the common dialog for printing.
|
||||
// ---------------------------------------------------------------------------
|
||||
|
@@ -39,6 +39,7 @@ class WXDLLEXPORT wxPreviewCanvas;
|
||||
class WXDLLEXPORT wxPreviewControlBar;
|
||||
class WXDLLEXPORT wxPreviewFrame;
|
||||
class WXDLLEXPORT wxPrintFactory;
|
||||
class WXDLLEXPORT wxPrintNativeDataBase;
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
// error consts
|
||||
@@ -77,6 +78,8 @@ public:
|
||||
wxPrintDialogData *data = NULL ) = 0;
|
||||
virtual wxPrintDialogBase *CreatePrintDialog( wxWindow *parent,
|
||||
wxPrintData *data ) = 0;
|
||||
|
||||
virtual wxPrintNativeDataBase *CreatePrintNativeData() = 0;
|
||||
|
||||
static void SetPrintFactory( wxPrintFactory *factory );
|
||||
static wxPrintFactory *GetFactory();
|
||||
@@ -104,6 +107,30 @@ public:
|
||||
wxPrintDialogData *data = NULL );
|
||||
virtual wxPrintDialogBase *CreatePrintDialog( wxWindow *parent,
|
||||
wxPrintData *data );
|
||||
|
||||
virtual wxPrintNativeDataBase *CreatePrintNativeData();
|
||||
};
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
// wxPrintNativeDataBase
|
||||
//----------------------------------------------------------------------------
|
||||
|
||||
class WXDLLEXPORT wxPrintNativeDataBase: public wxObject
|
||||
{
|
||||
public:
|
||||
wxPrintNativeDataBase();
|
||||
virtual ~wxPrintNativeDataBase() {}
|
||||
|
||||
virtual bool ConvertTo( wxPrintData &data ) = 0;
|
||||
virtual bool ConvertFrom( const wxPrintData &data ) = 0;
|
||||
|
||||
virtual bool Ok() const = 0;
|
||||
|
||||
int m_ref;
|
||||
|
||||
private:
|
||||
DECLARE_CLASS(wxPrintNativeDataBase)
|
||||
DECLARE_NO_COPY_CLASS(wxPrintNativeDataBase)
|
||||
};
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
|
Reference in New Issue
Block a user