X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/68379eaf0ae64d105f8244b1db83e793f7dd83b0..98c4eb39105531b0316a9d8dbf87d7939e4c4270:/include/wx/cmndata.h diff --git a/include/wx/cmndata.h b/include/wx/cmndata.h index c6632a2c0b..997f4b7cb6 100644 --- a/include/wx/cmndata.h +++ b/include/wx/cmndata.h @@ -1,5 +1,5 @@ ///////////////////////////////////////////////////////////////////////////// -// Name: cmndata.h +// Name: wx/cmndata.h // Purpose: Common GDI data classes // Author: Julian Smart and others // Modified by: @@ -12,10 +12,6 @@ #ifndef _WX_CMNDATA_H_BASE_ #define _WX_CMNDATA_H_BASE_ -#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) -#pragma interface "cmndata.h" -#endif - #include "wx/window.h" #include "wx/font.h" #include "wx/encinfo.h" @@ -26,12 +22,16 @@ #include "wx/stream.h" #endif + +class WXDLLEXPORT wxPrintNativeDataBase; + + class WXDLLEXPORT wxColourData: public wxObject { public: wxColourData(); wxColourData(const wxColourData& data); - ~wxColourData(); + virtual ~wxColourData(); void SetChooseFull(bool flag) { m_chooseFull = flag; } bool GetChooseFull() const { return m_chooseFull; } @@ -54,24 +54,24 @@ private: DECLARE_DYNAMIC_CLASS(wxColourData) }; -class WXDLLEXPORT wxFontData: public wxObject +class WXDLLEXPORT wxFontData : public wxObject { public: wxFontData(); - ~wxFontData(); + virtual ~wxFontData(); wxFontData(const wxFontData& data) - : wxObject() - , m_fontColour(data.m_fontColour) - , m_showHelp(data.m_showHelp) - , m_allowSymbols(data.m_allowSymbols) - , m_enableEffects(data.m_enableEffects) - , m_initialFont(data.m_initialFont) - , m_chosenFont(data.m_chosenFont) - , m_minSize(data.m_minSize) - , m_maxSize(data.m_maxSize) - , m_encoding(data.m_encoding) - , m_encodingInfo(data.m_encodingInfo) + : wxObject(), + m_fontColour(data.m_fontColour), + m_showHelp(data.m_showHelp), + m_allowSymbols(data.m_allowSymbols), + m_enableEffects(data.m_enableEffects), + m_initialFont(data.m_initialFont), + m_chosenFont(data.m_chosenFont), + m_minSize(data.m_minSize), + m_maxSize(data.m_maxSize), + m_encoding(data.m_encoding), + m_encodingInfo(data.m_encodingInfo) { } @@ -86,8 +86,8 @@ public: m_chosenFont = data.m_chosenFont; m_minSize = data.m_minSize; m_maxSize = data.m_maxSize; - m_encoding = data.m_encoding; - m_encodingInfo = data.m_encodingInfo; + m_encoding = data.m_encoding; + m_encodingInfo = data.m_encodingInfo; return *this; } @@ -95,7 +95,7 @@ public: bool GetAllowSymbols() const { return m_allowSymbols; } void SetColour(const wxColour& colour) { m_fontColour = colour; } - wxColour &GetColour() { return m_fontColour; } + const wxColour& GetColour() const { return m_fontColour; } void SetShowHelp(bool flag) { m_showHelp = flag; } bool GetShowHelp() const { return m_showHelp; } @@ -119,6 +119,8 @@ public: wxNativeEncodingInfo& EncodingInfo() { return m_encodingInfo; } + + // public for backwards compatibility only: don't use directly public: wxColour m_fontColour; bool m_showHelp; @@ -143,25 +145,44 @@ private: * Encapsulates printer information (not printer dialog information) */ -#ifdef __WXMAC__ - -class wxNativePrintData ; +enum wxPrintBin +{ + wxPRINTBIN_DEFAULT, + + wxPRINTBIN_ONLYONE, + wxPRINTBIN_LOWER, + wxPRINTBIN_MIDDLE, + wxPRINTBIN_MANUAL, + wxPRINTBIN_ENVELOPE, + wxPRINTBIN_ENVMANUAL, + wxPRINTBIN_AUTO, + wxPRINTBIN_TRACTOR, + wxPRINTBIN_SMALLFMT, + wxPRINTBIN_LARGEFMT, + wxPRINTBIN_LARGECAPACITY, + wxPRINTBIN_CASSETTE, + wxPRINTBIN_FORMSOURCE, + + wxPRINTBIN_USER +}; -#endif +const int wxPRINTMEDIA_DEFAULT = 0; class WXDLLEXPORT wxPrintData: public wxObject { public: wxPrintData(); wxPrintData(const wxPrintData& printData); - ~wxPrintData(); + virtual ~wxPrintData(); - int GetNoCopies() const { return m_printNoCopies; }; - bool GetCollate() const { return m_printCollate; }; - int GetOrientation() const { return m_printOrientation; }; + int GetNoCopies() const { return m_printNoCopies; } + bool GetCollate() const { return m_printCollate; } + int GetOrientation() const { return m_printOrientation; } + bool IsOrientationReversed() const { return m_printOrientationReversed; } // Is this data OK for showing the print dialog? - bool Ok() const ; + bool Ok() const { return IsOk(); } + bool IsOk() const ; const wxString& GetPrinterName() const { return m_printerName; } bool GetColour() const { return m_colour; } @@ -170,10 +191,14 @@ public: const wxSize& GetPaperSize() const { return m_paperSize; } // Not used yet: confusable with paper size // in wxPageSetupDialogData wxPrintQuality GetQuality() const { return m_printQuality; } + wxPrintBin GetBin() const { return m_bin; } + wxPrintMode GetPrintMode() const { return m_printMode; } + int GetMedia() const { return m_media; } - void SetNoCopies(int v) { m_printNoCopies = v; }; - void SetCollate(bool flag) { m_printCollate = flag; }; - void SetOrientation(int orient) { m_printOrientation = orient; }; + void SetNoCopies(int v) { m_printNoCopies = v; } + void SetCollate(bool flag) { m_printCollate = flag; } + void SetOrientation(int orient) { m_printOrientation = orient; } + void SetOrientationReversed(bool reversed) { m_printOrientationReversed = reversed; } void SetPrinterName(const wxString& name) { m_printerName = name; } void SetColour(bool colour) { m_colour = colour; } @@ -181,70 +206,36 @@ public: void SetPaperId(wxPaperSize sizeId) { m_paperId = sizeId; } void SetPaperSize(const wxSize& sz) { m_paperSize = sz; } void SetQuality(wxPrintQuality quality) { m_printQuality = quality; } - - // 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 SetBin(wxPrintBin bin) { m_bin = bin; } + void SetMedia(int media) { m_media = media; } 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); -#if defined(__WXMSW__) - // Convert to/from the DEVMODE structure + char* GetPrivData() const { return m_privData; } + int GetPrivDataLen() const { return m_privDataLen; } + void SetPrivData( char *privData, int len ); + + + // Convert between wxPrintData and native data 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__) - wxNativePrintData* m_nativePrintData ; -#endif -#if wxUSE_STREAMS - wxOutputStream* m_outputstream; -#endif + // Holds the native print data + wxPrintNativeDataBase *GetNativeData() const { return m_nativeData; } private: + wxPrintBin m_bin; + int m_media; + wxPrintMode m_printMode; int m_printNoCopies; int m_printOrientation; + bool m_printOrientationReversed; bool m_printCollate; - // New members, 24/3/99 wxString m_printerName; bool m_colour; wxDuplexMode m_duplexMode; @@ -252,17 +243,12 @@ private: 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; + + char* m_privData; + int m_privDataLen; + + wxPrintNativeDataBase *m_nativeData; private: DECLARE_DYNAMIC_CLASS(wxPrintData) @@ -281,7 +267,7 @@ public: wxPrintDialogData(); wxPrintDialogData(const wxPrintDialogData& dialogData); wxPrintDialogData(const wxPrintData& printData); - ~wxPrintDialogData(); + virtual ~wxPrintDialogData(); int GetFromPage() const { return m_printFromPage; }; int GetToPage() const { return m_printToPage; }; @@ -292,7 +278,6 @@ public: bool GetSelection() const { return m_printSelection; }; bool GetCollate() const { return m_printCollate; }; bool GetPrintToFile() const { return m_printToFile; }; - bool GetSetupDialog() const { return m_printSetupDialog; }; void SetFromPage(int v) { m_printFromPage = v; }; void SetToPage(int v) { m_printToPage = v; }; @@ -303,7 +288,6 @@ public: void SetSelection(bool flag) { m_printSelection = flag; }; void SetCollate(bool flag) { m_printCollate = flag; }; void SetPrintToFile(bool flag) { m_printToFile = flag; }; - void SetSetupDialog(bool flag) { m_printSetupDialog = flag; }; void EnablePrintToFile(bool flag) { m_printEnablePrintToFile = flag; }; void EnableSelection(bool flag) { m_printEnableSelection = flag; }; @@ -316,7 +300,8 @@ public: bool GetEnableHelp() const { return m_printEnableHelp; }; // Is this data OK for showing the print dialog? - bool Ok() const { return m_printData.Ok() ; } + bool Ok() const { return IsOk(); } + bool IsOk() const { return m_printData.Ok() ; } wxPrintData& GetPrintData() { return m_printData; } void SetPrintData(const wxPrintData& printData) { m_printData = printData; } @@ -324,21 +309,6 @@ public: void operator=(const wxPrintDialogData& data); void operator=(const wxPrintData& data); // Sets internal m_printData member -#ifdef __WXMSW__ - // Convert to/from the PRINTDLG structure - void ConvertToNative(); - void ConvertFromNative(); - void SetOwnerWindow(wxWindow* win); - void* GetNativeData() const { return m_printDlgData; } -#elif defined(__WXMAC__) - void ConvertToNative(); - void ConvertFromNative(); -#endif - -#ifdef __WXMSW__ - void* m_printDlgData; -#endif - private: int m_printFromPage; int m_printToPage; @@ -353,7 +323,6 @@ private: bool m_printEnablePageNumbers; bool m_printEnableHelp; bool m_printEnablePrintToFile; - bool m_printSetupDialog; wxPrintData m_printData; private: @@ -373,7 +342,7 @@ public: wxPageSetupDialogData(); wxPageSetupDialogData(const wxPageSetupDialogData& dialogData); wxPageSetupDialogData(const wxPrintData& printData); - ~wxPageSetupDialogData(); + virtual ~wxPageSetupDialogData(); wxSize GetPaperSize() const { return m_paperSize; }; wxPaperSize GetPaperId() const { return m_printData.GetPaperId(); }; @@ -391,7 +360,8 @@ public: bool GetEnableHelp() const { return m_enableHelp; }; // Is this data OK for showing the page setup dialog? - bool Ok() const { return m_printData.Ok() ; } + bool Ok() const { return IsOk(); } + bool IsOk() const { return m_printData.Ok() ; } // If a corresponding paper type is found in the paper database, will set the m_printData // paper size id member as well. @@ -415,17 +385,6 @@ public: void EnablePrinter(bool flag) { m_enablePrinter = flag; }; void EnableHelp(bool flag) { m_enableHelp = flag; }; -#if defined(__WIN95__) - // Convert to/from the PAGESETUPDLG structure - void ConvertToNative(); - void ConvertFromNative(); - void SetOwnerWindow(wxWindow* win); - void* GetNativeData() const { return m_pageSetupData; } -#elif defined(__WXMAC__) - void ConvertToNative(); - void ConvertFromNative(); -#endif - // Use paper size defined in this object to set the wxPrintData // paper id void CalculateIdFromPaperSize(); @@ -437,11 +396,8 @@ public: wxPageSetupDialogData& operator=(const wxPrintData& data); wxPrintData& GetPrintData() { return m_printData; } - void SetPrintData(const wxPrintData& printData) { m_printData = printData; } - -#if defined(__WIN95__) - void* m_pageSetupData; -#endif + const wxPrintData& GetPrintData() const { return m_printData; } + void SetPrintData(const wxPrintData& printData); private: wxSize m_paperSize; // The dimensions selected by the user (on return, same as in wxPrintData?)