X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/781609f2909df4ff30eecfadc2f24e88d02aed61..f01a77c7954ff4b7ee9f74af8df5a16f239d3537:/include/wx/cmndata.h diff --git a/include/wx/cmndata.h b/include/wx/cmndata.h index 9ae7f96a68..ca69e6e107 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: @@ -23,14 +23,21 @@ #endif -class WXDLLEXPORT wxPrintNativeDataBase; +class WXDLLIMPEXP_FWD_CORE wxPrintNativeDataBase; -class WXDLLEXPORT wxColourData: public wxObject +class WXDLLIMPEXP_CORE wxColourData : public wxObject { public: + // number of custom colours we store + enum + { + NUM_CUSTOM = 16 + }; + wxColourData(); wxColourData(const wxColourData& data); + wxColourData& operator=(const wxColourData& data); virtual ~wxColourData(); void SetChooseFull(bool flag) { m_chooseFull = flag; } @@ -39,22 +46,25 @@ public: const wxColour& GetColour() const { return m_dataColour; } wxColour& GetColour() { return m_dataColour; } - // Array of 16 custom colours + // These functions modify colours in an internal array of NUM_CUSTOM custom + // colours void SetCustomColour(int i, const wxColour& colour); wxColour GetCustomColour(int i); - void operator=(const wxColourData& data); + // Serialize the object to a string and restore it from it + wxString ToString() const; + bool FromString(const wxString& str); -public: +public: // TODO: make these fields private wxColour m_dataColour; - wxColour m_custColours[16]; + wxColour m_custColours[NUM_CUSTOM]; bool m_chooseFull; private: DECLARE_DYNAMIC_CLASS(wxColourData) }; -class WXDLLEXPORT wxFontData : public wxObject +class WXDLLIMPEXP_CORE wxFontData : public wxObject { public: wxFontData(); @@ -77,17 +87,20 @@ public: 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; + if (&data != this) + { + 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; } @@ -168,7 +181,7 @@ enum wxPrintBin const int wxPRINTMEDIA_DEFAULT = 0; -class WXDLLEXPORT wxPrintData: public wxObject +class WXDLLIMPEXP_CORE wxPrintData: public wxObject { public: wxPrintData(); @@ -178,6 +191,7 @@ public: 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 { return IsOk(); } @@ -197,6 +211,7 @@ public: 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; } @@ -210,36 +225,13 @@ public: wxString GetFilename() const { return m_filename; } void SetFilename( const wxString &filename ) { m_filename = filename; } - + void operator=(const wxPrintData& data); char* GetPrivData() const { return m_privData; } int GetPrivDataLen() const { return m_privDataLen; } void SetPrivData( char *privData, int len ); - - -#if WXWIN_COMPATIBILITY_2_4 - // PostScript-specific data - wxString GetPrinterCommand() const; - wxString GetPrinterOptions() const; - wxString GetPreviewCommand() const; - wxString GetFontMetricPath() const; - double GetPrinterScaleX() const; - double GetPrinterScaleY() const; - long GetPrinterTranslateX() const; - long GetPrinterTranslateY() const; - - void SetPrinterCommand(const wxString& command); - void SetPrinterOptions(const wxString& options); - void SetPreviewCommand(const wxString& command); - void SetFontMetricPath(const wxString& path); - void SetPrinterScaleX(double x); - void SetPrinterScaleY(double y); - void SetPrinterScaling(double x, double y); - void SetPrinterTranslateX(long x); - void SetPrinterTranslateY(long y); - void SetPrinterTranslation(long x, long y); -#endif + // Convert between wxPrintData and native data void ConvertToNative(); @@ -254,6 +246,7 @@ private: int m_printNoCopies; int m_printOrientation; + bool m_printOrientationReversed; bool m_printCollate; wxString m_printerName; @@ -262,12 +255,12 @@ private: wxPrintQuality m_printQuality; wxPaperSize m_paperId; wxSize m_paperSize; - + wxString m_filename; - + char* m_privData; int m_privDataLen; - + wxPrintNativeDataBase *m_nativeData; private: @@ -281,7 +274,7 @@ private: * from the dialog. */ -class WXDLLEXPORT wxPrintDialogData: public wxObject +class WXDLLIMPEXP_CORE wxPrintDialogData: public wxObject { public: wxPrintDialogData(); @@ -289,39 +282,35 @@ public: wxPrintDialogData(const wxPrintData& printData); virtual ~wxPrintDialogData(); - int GetFromPage() const { return m_printFromPage; }; - int GetToPage() const { return m_printToPage; }; - int GetMinPage() const { return m_printMinPage; }; - int GetMaxPage() const { return m_printMaxPage; }; - int GetNoCopies() const { return m_printNoCopies; }; - bool GetAllPages() const { return m_printAllPages; }; - bool GetSelection() const { return m_printSelection; }; - bool GetCollate() const { return m_printCollate; }; - bool GetPrintToFile() const { return m_printToFile; }; -#if WXWIN_COMPATIBILITY_2_4 - bool GetSetupDialog() const { return m_printSetupDialog; }; -#endif - void SetFromPage(int v) { m_printFromPage = v; }; - void SetToPage(int v) { m_printToPage = v; }; - void SetMinPage(int v) { m_printMinPage = v; }; - void SetMaxPage(int v) { m_printMaxPage = v; }; - void SetNoCopies(int v) { m_printNoCopies = v; }; - void SetAllPages(bool flag) { m_printAllPages = flag; }; - void SetSelection(bool flag) { m_printSelection = flag; }; - void SetCollate(bool flag) { m_printCollate = flag; }; - void SetPrintToFile(bool flag) { m_printToFile = flag; }; -#if WXWIN_COMPATIBILITY_2_4 - void SetSetupDialog(bool flag) { m_printSetupDialog = flag; }; -#endif - void EnablePrintToFile(bool flag) { m_printEnablePrintToFile = flag; }; - void EnableSelection(bool flag) { m_printEnableSelection = flag; }; - void EnablePageNumbers(bool flag) { m_printEnablePageNumbers = flag; }; - void EnableHelp(bool flag) { m_printEnableHelp = flag; }; + int GetFromPage() const { return m_printFromPage; } + int GetToPage() const { return m_printToPage; } + int GetMinPage() const { return m_printMinPage; } + int GetMaxPage() const { return m_printMaxPage; } + int GetNoCopies() const { return m_printNoCopies; } + bool GetAllPages() const { return m_printAllPages; } + bool GetSelection() const { return m_printSelection; } + bool GetCollate() const { return m_printCollate; } + bool GetPrintToFile() const { return m_printToFile; } - bool GetEnablePrintToFile() const { return m_printEnablePrintToFile; }; - bool GetEnableSelection() const { return m_printEnableSelection; }; - bool GetEnablePageNumbers() const { return m_printEnablePageNumbers; }; - bool GetEnableHelp() const { return m_printEnableHelp; }; + void SetFromPage(int v) { m_printFromPage = v; } + void SetToPage(int v) { m_printToPage = v; } + void SetMinPage(int v) { m_printMinPage = v; } + void SetMaxPage(int v) { m_printMaxPage = v; } + void SetNoCopies(int v) { m_printNoCopies = v; } + void SetAllPages(bool flag) { m_printAllPages = flag; } + void SetSelection(bool flag) { m_printSelection = flag; } + void SetCollate(bool flag) { m_printCollate = flag; } + void SetPrintToFile(bool flag) { m_printToFile = flag; } + + void EnablePrintToFile(bool flag) { m_printEnablePrintToFile = flag; } + void EnableSelection(bool flag) { m_printEnableSelection = flag; } + void EnablePageNumbers(bool flag) { m_printEnablePageNumbers = flag; } + void EnableHelp(bool flag) { m_printEnableHelp = flag; } + + bool GetEnablePrintToFile() const { return m_printEnablePrintToFile; } + bool GetEnableSelection() const { return m_printEnableSelection; } + 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 IsOk(); } @@ -347,9 +336,6 @@ private: bool m_printEnablePageNumbers; bool m_printEnableHelp; bool m_printEnablePrintToFile; -#if WXWIN_COMPATIBILITY_2_4 - bool m_printSetupDialog; -#endif wxPrintData m_printData; private: @@ -363,7 +349,7 @@ private: // Compatibility with old name #define wxPageSetupData wxPageSetupDialogData -class WXDLLEXPORT wxPageSetupDialogData: public wxObject +class WXDLLIMPEXP_CORE wxPageSetupDialogData: public wxObject { public: wxPageSetupDialogData(); @@ -371,20 +357,20 @@ public: wxPageSetupDialogData(const wxPrintData& printData); virtual ~wxPageSetupDialogData(); - wxSize GetPaperSize() const { return m_paperSize; }; - wxPaperSize GetPaperId() const { return m_printData.GetPaperId(); }; - wxPoint GetMinMarginTopLeft() const { return m_minMarginTopLeft; }; - wxPoint GetMinMarginBottomRight() const { return m_minMarginBottomRight; }; - wxPoint GetMarginTopLeft() const { return m_marginTopLeft; }; - wxPoint GetMarginBottomRight() const { return m_marginBottomRight; }; - - bool GetDefaultMinMargins() const { return m_defaultMinMargins; }; - bool GetEnableMargins() const { return m_enableMargins; }; - bool GetEnableOrientation() const { return m_enableOrientation; }; - bool GetEnablePaper() const { return m_enablePaper; }; - bool GetEnablePrinter() const { return m_enablePrinter; }; - bool GetDefaultInfo() const { return m_getDefaultInfo; }; - bool GetEnableHelp() const { return m_enableHelp; }; + wxSize GetPaperSize() const { return m_paperSize; } + wxPaperSize GetPaperId() const { return m_printData.GetPaperId(); } + wxPoint GetMinMarginTopLeft() const { return m_minMarginTopLeft; } + wxPoint GetMinMarginBottomRight() const { return m_minMarginBottomRight; } + wxPoint GetMarginTopLeft() const { return m_marginTopLeft; } + wxPoint GetMarginBottomRight() const { return m_marginBottomRight; } + + bool GetDefaultMinMargins() const { return m_defaultMinMargins; } + bool GetEnableMargins() const { return m_enableMargins; } + bool GetEnableOrientation() const { return m_enableOrientation; } + bool GetEnablePaper() const { return m_enablePaper; } + bool GetEnablePrinter() const { return m_enablePrinter; } + 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 IsOk(); } @@ -394,23 +380,23 @@ public: // 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); - void SetMinMarginTopLeft(const wxPoint& pt) { m_minMarginTopLeft = pt; }; - void SetMinMarginBottomRight(const wxPoint& pt) { m_minMarginBottomRight = pt; }; - void SetMarginTopLeft(const wxPoint& pt) { m_marginTopLeft = pt; }; - void SetMarginBottomRight(const wxPoint& pt) { m_marginBottomRight = pt; }; - void SetDefaultMinMargins(bool flag) { m_defaultMinMargins = flag; }; - void SetDefaultInfo(bool flag) { m_getDefaultInfo = flag; }; - - void EnableMargins(bool flag) { m_enableMargins = flag; }; - void EnableOrientation(bool flag) { m_enableOrientation = flag; }; - void EnablePaper(bool flag) { m_enablePaper = flag; }; - void EnablePrinter(bool flag) { m_enablePrinter = flag; }; - void EnableHelp(bool flag) { m_enableHelp = flag; }; + void SetMinMarginTopLeft(const wxPoint& pt) { m_minMarginTopLeft = pt; } + void SetMinMarginBottomRight(const wxPoint& pt) { m_minMarginBottomRight = pt; } + void SetMarginTopLeft(const wxPoint& pt) { m_marginTopLeft = pt; } + void SetMarginBottomRight(const wxPoint& pt) { m_marginBottomRight = pt; } + void SetDefaultMinMargins(bool flag) { m_defaultMinMargins = flag; } + void SetDefaultInfo(bool flag) { m_getDefaultInfo = flag; } + + void EnableMargins(bool flag) { m_enableMargins = flag; } + void EnableOrientation(bool flag) { m_enableOrientation = flag; } + void EnablePaper(bool flag) { m_enablePaper = flag; } + void EnablePrinter(bool flag) { m_enablePrinter = flag; } + void EnableHelp(bool flag) { m_enableHelp = flag; } // Use paper size defined in this object to set the wxPrintData // paper id