X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/5273bf2fd3292ec3ab3da4f0c197b2f0e93df32e..a6c255cbc0a0f6757b9bef432aa30becd1b3da91:/include/wx/cmndata.h diff --git a/include/wx/cmndata.h b/include/wx/cmndata.h index 4bc6a83a39..75eb6960fb 100644 --- a/include/wx/cmndata.h +++ b/include/wx/cmndata.h @@ -12,77 +12,104 @@ #ifndef _WX_CMNDATA_H_BASE_ #define _WX_CMNDATA_H_BASE_ -#ifdef __GNUG__ +#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) #pragma interface "cmndata.h" #endif #include "wx/window.h" #include "wx/font.h" +#include "wx/encinfo.h" #include "wx/colour.h" #include "wx/gdicmn.h" -#if defined(__WXMAC__) && defined(TARGET_CARBON) && !defined(__UNIX__) - #if PM_USE_SESSION_APIS - #include - #endif - #include -#endif - -#if (defined(__WXMOTIF__) || defined(__WXGTK__) || defined(__WXPM__) || defined(__WXMAC__)) && wxUSE_POSTSCRIPT -class WXDLLEXPORT wxPrintSetupData; +#if wxUSE_STREAMS +#include "wx/stream.h" #endif class WXDLLEXPORT wxColourData: public wxObject { - DECLARE_DYNAMIC_CLASS(wxColourData) public: wxColourData(); wxColourData(const wxColourData& data); ~wxColourData(); - void SetChooseFull(bool flag) { chooseFull = flag; } - bool GetChooseFull() const { return chooseFull; } - void SetColour(wxColour& colour) { dataColour = colour; } - wxColour &GetColour() { return dataColour; } + void SetChooseFull(bool flag) { m_chooseFull = flag; } + bool GetChooseFull() const { return m_chooseFull; } + void SetColour(const wxColour& colour) { m_dataColour = colour; } + const wxColour& GetColour() const { return m_dataColour; } + wxColour& GetColour() { return m_dataColour; } // Array of 16 custom colours - void SetCustomColour(int i, wxColour& colour); + void SetCustomColour(int i, const wxColour& colour); wxColour GetCustomColour(int i); void operator=(const wxColourData& data); public: - wxColour dataColour; - wxColour custColours[16]; - bool chooseFull; + wxColour m_dataColour; + wxColour m_custColours[16]; + bool m_chooseFull; + +private: + DECLARE_DYNAMIC_CLASS(wxColourData) }; class WXDLLEXPORT wxFontData: public wxObject { - DECLARE_DYNAMIC_CLASS(wxFontData) public: wxFontData(); ~wxFontData(); - void SetAllowSymbols(bool flag) { allowSymbols = flag; } - bool GetAllowSymbols() const { return allowSymbols; } - - void SetColour(const wxColour& colour) { fontColour = colour; } - wxColour &GetColour() { return fontColour; } - - void SetShowHelp(bool flag) { showHelp = flag; } - bool GetShowHelp() const { return showHelp; } - - void EnableEffects(bool flag) { enableEffects = flag; } - bool GetEnableEffects() const { return enableEffects; } - - void SetInitialFont(const wxFont& font) { initialFont = font; } - wxFont GetInitialFont() const { return initialFont; } - - void SetChosenFont(const wxFont& font) { chosenFont = font; } - wxFont GetChosenFont() const { return chosenFont; } - - void SetRange(int minRange, int maxRange) { minSize = minRange; maxSize = maxRange; } + 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) + { + } + + wxFontData& operator=(const wxFontData& data) + { + wxObject::operator=(data); + 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; + return *this; + } + + void SetAllowSymbols(bool flag) { m_allowSymbols = flag; } + bool GetAllowSymbols() const { return m_allowSymbols; } + + void SetColour(const wxColour& colour) { m_fontColour = colour; } + wxColour &GetColour() { return m_fontColour; } + + void SetShowHelp(bool flag) { m_showHelp = flag; } + bool GetShowHelp() const { return m_showHelp; } + + void EnableEffects(bool flag) { m_enableEffects = flag; } + bool GetEnableEffects() const { return m_enableEffects; } + + void SetInitialFont(const wxFont& font) { m_initialFont = font; } + wxFont GetInitialFont() const { return m_initialFont; } + + void SetChosenFont(const wxFont& font) { m_chosenFont = font; } + wxFont GetChosenFont() const { return m_chosenFont; } + + void SetRange(int minRange, int maxRange) { m_minSize = minRange; m_maxSize = maxRange; } // encoding info is split into 2 parts: the logical wxWin encoding // (wxFontEncoding) and a structure containing the native parameters for @@ -93,18 +120,21 @@ public: wxNativeEncodingInfo& EncodingInfo() { return m_encodingInfo; } public: - wxColour fontColour; - bool showHelp; - bool allowSymbols; - bool enableEffects; - wxFont initialFont; - wxFont chosenFont; - int minSize; - int maxSize; + wxColour m_fontColour; + bool m_showHelp; + bool m_allowSymbols; + bool m_enableEffects; + wxFont m_initialFont; + wxFont m_chosenFont; + int m_minSize; + int m_maxSize; private: wxFontEncoding m_encoding; wxNativeEncodingInfo m_encodingInfo; + +private: + DECLARE_DYNAMIC_CLASS(wxFontData) }; #if wxUSE_PRINTING_ARCHITECTURE @@ -113,10 +143,37 @@ private: * Encapsulates printer information (not printer dialog information) */ -class WXDLLEXPORT wxPrintData: public wxObject +#ifdef __WXMAC__ + +class wxNativePrintData ; + +#endif + +enum wxPrintBin { - DECLARE_DYNAMIC_CLASS(wxPrintData) + 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, +}; + +class WXDLLEXPORT wxPrintData: public wxObject +{ +public: wxPrintData(); wxPrintData(const wxPrintData& printData); ~wxPrintData(); @@ -125,6 +182,9 @@ class WXDLLEXPORT wxPrintData: public wxObject bool GetCollate() const { return m_printCollate; }; int GetOrientation() const { return m_printOrientation; }; + // Is this data OK for showing the print dialog? + bool Ok() const ; + const wxString& GetPrinterName() const { return m_printerName; } bool GetColour() const { return m_colour; } wxDuplexMode GetDuplex() const { return m_duplexMode; } @@ -132,6 +192,7 @@ class WXDLLEXPORT wxPrintData: public wxObject 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; } void SetNoCopies(int v) { m_printNoCopies = v; }; void SetCollate(bool flag) { m_printCollate = flag; }; @@ -143,6 +204,7 @@ class WXDLLEXPORT wxPrintData: public wxObject void SetPaperId(wxPaperSize sizeId) { m_paperId = sizeId; } void SetPaperSize(const wxSize& sz) { m_paperSize = sz; } void SetQuality(wxPrintQuality quality) { m_printQuality = quality; } + void SetBin(wxPrintBin bin) { m_bin = bin; } // PostScript-specific data const wxString& GetPrinterCommand() const { return m_printerCommand; } @@ -169,13 +231,13 @@ class WXDLLEXPORT wxPrintData: public wxObject void SetPrinterTranslation(long x, long y) { m_printerTranslateX = x; m_printerTranslateY = y; } void SetPrintMode(wxPrintMode printMode) { m_printMode = printMode; } - void operator=(const wxPrintData& data); - - // For compatibility -#if (defined(__WXMOTIF__) || defined(__WXGTK__) || defined(__WXPM__) || defined(__WXMAC__)) && wxUSE_POSTSCRIPT - void operator=(const wxPrintSetupData& setupData); +#if wxUSE_STREAMS + wxOutputStream* GetOutputStream() { return m_outputstream; } + void SetOutputStream(wxOutputStream* outputstream) { m_outputstream = outputstream; } #endif + void operator=(const wxPrintData& data); + #if defined(__WXMSW__) // Convert to/from the DEVMODE structure void ConvertToNative(); @@ -190,19 +252,18 @@ class WXDLLEXPORT wxPrintData: public wxObject #endif public: -#ifdef __WXMSW__ +#if defined(__WXMSW__) void* m_devMode; void* m_devNames; -#elif defined( __WXMAC__ ) - #if TARGET_CARBON - void* m_macPageFormat ; - void* m_macPrintSettings ; - #else - void* m_macPrintInfo ; - #endif +#elif defined(__WXMAC__) + wxNativePrintData* m_nativePrintData ; +#endif +#if wxUSE_STREAMS + wxOutputStream* m_outputstream; #endif private: + wxPrintBin m_bin; int m_printNoCopies; int m_printOrientation; @@ -227,6 +288,9 @@ private: long m_printerTranslateX; long m_printerTranslateY; wxPrintMode m_printMode; + +private: + DECLARE_DYNAMIC_CLASS(wxPrintData) }; /* @@ -238,8 +302,7 @@ private: class WXDLLEXPORT wxPrintDialogData: public wxObject { - DECLARE_DYNAMIC_CLASS(wxPrintDialogData) - +public: wxPrintDialogData(); wxPrintDialogData(const wxPrintDialogData& dialogData); wxPrintDialogData(const wxPrintData& printData); @@ -277,6 +340,9 @@ class WXDLLEXPORT wxPrintDialogData: public wxObject bool GetEnablePageNumbers() const { return m_printEnablePageNumbers; }; bool GetEnableHelp() const { return m_printEnableHelp; }; + // Is this data OK for showing the print dialog? + bool Ok() const { return m_printData.Ok() ; } + wxPrintData& GetPrintData() { return m_printData; } void SetPrintData(const wxPrintData& printData) { m_printData = printData; } @@ -290,8 +356,8 @@ class WXDLLEXPORT wxPrintDialogData: public wxObject void SetOwnerWindow(wxWindow* win); void* GetNativeData() const { return m_printDlgData; } #elif defined(__WXMAC__) - void ConvertToNative(); - void ConvertFromNative(); + void ConvertToNative(); + void ConvertFromNative(); #endif #ifdef __WXMSW__ @@ -299,7 +365,6 @@ class WXDLLEXPORT wxPrintDialogData: public wxObject #endif private: - int m_printFromPage; int m_printToPage; int m_printMinPage; @@ -314,8 +379,10 @@ private: bool m_printEnableHelp; bool m_printEnablePrintToFile; bool m_printSetupDialog; - wxPrintData m_printData; + +private: + DECLARE_DYNAMIC_CLASS(wxPrintDialogData) }; /* @@ -327,8 +394,6 @@ private: class WXDLLEXPORT wxPageSetupDialogData: public wxObject { - DECLARE_DYNAMIC_CLASS(wxPageSetupDialogData) - public: wxPageSetupDialogData(); wxPageSetupDialogData(const wxPageSetupDialogData& dialogData); @@ -350,11 +415,14 @@ public: bool GetDefaultInfo() const { return m_getDefaultInfo; }; bool GetEnableHelp() const { return m_enableHelp; }; + // Is this data OK for showing the page setup dialog? + bool Ok() 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. void SetPaperSize(const wxSize& sz); - void SetPaperId(wxPaperSize& id) { m_printData.SetPaperId(id); }; + void SetPaperId(wxPaperSize id) { m_printData.SetPaperId(id); }; // Sets the wxPrintData id, plus the paper width/height if found in the paper database. void SetPaperSize(wxPaperSize id); @@ -379,8 +447,8 @@ public: void SetOwnerWindow(wxWindow* win); void* GetNativeData() const { return m_pageSetupData; } #elif defined(__WXMAC__) - void ConvertToNative(); - void ConvertFromNative(); + void ConvertToNative(); + void ConvertFromNative(); #endif // Use paper size defined in this object to set the wxPrintData @@ -390,8 +458,8 @@ public: // Use paper id in wxPrintData to set this object's paper size void CalculatePaperSizeFromId(); - void operator=(const wxPageSetupData& data); - void operator=(const wxPrintData& data); + wxPageSetupDialogData& operator=(const wxPageSetupData& data); + wxPageSetupDialogData& operator=(const wxPrintData& data); wxPrintData& GetPrintData() { return m_printData; } void SetPrintData(const wxPrintData& printData) { m_printData = printData; } @@ -401,14 +469,11 @@ public: #endif private: - wxSize m_paperSize; // The dimensions selected by the user (on return, same as in wxPrintData?) wxPoint m_minMarginTopLeft; wxPoint m_minMarginBottomRight; wxPoint m_marginTopLeft; wxPoint m_marginBottomRight; - - // Flags bool m_defaultMinMargins; bool m_enableMargins; bool m_enableOrientation; @@ -416,8 +481,10 @@ private: bool m_enablePrinter; bool m_getDefaultInfo; // Equiv. to PSD_RETURNDEFAULT bool m_enableHelp; - wxPrintData m_printData; + +private: + DECLARE_DYNAMIC_CLASS(wxPageSetupDialogData) }; #endif // wxUSE_PRINTING_ARCHITECTURE