X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/88ac883a0d005437c97a60d8195bd5e4719b1154..aa8e9a36c47673613f080d7578e771fe62261ef1:/include/wx/cmndata.h diff --git a/include/wx/cmndata.h b/include/wx/cmndata.h index 6c2c6864a1..7e7e16ce55 100644 --- a/include/wx/cmndata.h +++ b/include/wx/cmndata.h @@ -16,10 +16,12 @@ #pragma interface "cmndata.h" #endif +#include "wx/window.h" #include "wx/font.h" #include "wx/colour.h" +#include "wx/gdicmn.h" -#if (defined(__WXMOTIF__) || defined(__WXGTK__)) && wxUSE_POSTSCRIPT +#if (defined(__WXMOTIF__) || defined(__WXMGL__) || defined(__WXX11__) || defined(__WXGTK__) || defined(__WXPM__) || defined(__WXMAC__)) && wxUSE_POSTSCRIPT class WXDLLEXPORT wxPrintSetupData; #endif @@ -33,11 +35,12 @@ public: void SetChooseFull(bool flag) { chooseFull = flag; } bool GetChooseFull() const { return chooseFull; } - void SetColour(wxColour& colour) { dataColour = colour; } - wxColour &GetColour() { return dataColour; } + void SetColour(const wxColour& colour) { dataColour = colour; } + const wxColour& GetColour() const { return dataColour; } + wxColour& GetColour() { return 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); @@ -53,9 +56,39 @@ class WXDLLEXPORT wxFontData: public wxObject DECLARE_DYNAMIC_CLASS(wxFontData) public: wxFontData(); - wxFontData(const wxFontData& fontData); ~wxFontData(); + wxFontData(const wxFontData& data) + : wxObject() + , fontColour(data.fontColour) + , showHelp(data.showHelp) + , allowSymbols(data.allowSymbols) + , enableEffects(data.enableEffects) + , initialFont(data.initialFont) + , chosenFont(data.chosenFont) + , minSize(data.minSize) + , maxSize(data.maxSize) + , m_encoding(data.m_encoding) + , m_encodingInfo(data.m_encodingInfo) + { + } + + wxFontData& operator=(const wxFontData& data) + { + wxObject::operator=(data); + fontColour = data.fontColour; + showHelp = data.showHelp; + allowSymbols = data.allowSymbols; + enableEffects = data.enableEffects; + initialFont = data.initialFont; + chosenFont = data.chosenFont; + minSize = data.minSize; + maxSize = data.maxSize; + m_encoding = data.m_encoding; + m_encodingInfo = data.m_encodingInfo; + return *this; + } + void SetAllowSymbols(bool flag) { allowSymbols = flag; } bool GetAllowSymbols() const { return allowSymbols; } @@ -76,7 +109,13 @@ public: void SetRange(int minRange, int maxRange) { minSize = minRange; maxSize = maxRange; } - void operator=(const wxFontData& data); + // encoding info is split into 2 parts: the logical wxWin encoding + // (wxFontEncoding) and a structure containing the native parameters for + // it (wxNativeEncodingInfo) + wxFontEncoding GetEncoding() const { return m_encoding; } + void SetEncoding(wxFontEncoding encoding) { m_encoding = encoding; } + + wxNativeEncodingInfo& EncodingInfo() { return m_encodingInfo; } public: wxColour fontColour; @@ -87,6 +126,10 @@ public: wxFont chosenFont; int minSize; int maxSize; + +private: + wxFontEncoding m_encoding; + wxNativeEncodingInfo m_encodingInfo; }; #if wxUSE_PRINTING_ARCHITECTURE @@ -107,6 +150,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; } @@ -154,21 +200,30 @@ class WXDLLEXPORT wxPrintData: public wxObject void operator=(const wxPrintData& data); // For compatibility -#if (defined(__WXMOTIF__) || defined(__WXGTK__)) && wxUSE_POSTSCRIPT +#if (defined(__WXMOTIF__) || defined(__WXMGL__) || defined(__WXX11__) || defined(__WXGTK__) || defined(__WXPM__) || defined(__WXMAC__)) && wxUSE_POSTSCRIPT void operator=(const wxPrintSetupData& setupData); #endif -#ifdef __WXMSW__ +#if defined(__WXMSW__) // Convert to/from the DEVMODE structure 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: -#ifdef __WXMSW__ +#if defined(__WXMSW__) void* m_devMode; + void* m_devNames; +#elif defined(__WXMAC__) + void* m_macPageFormat ; + void* m_macPrintSettings ; #endif private: @@ -220,6 +275,7 @@ class WXDLLEXPORT wxPrintDialogData: public wxObject 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 GetSetupDialog() const { return m_printSetupDialog; }; @@ -230,6 +286,7 @@ class WXDLLEXPORT wxPrintDialogData: public wxObject 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 SetSetupDialog(bool flag) { m_printSetupDialog = flag; }; @@ -244,6 +301,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; } @@ -256,6 +316,9 @@ class WXDLLEXPORT wxPrintDialogData: public wxObject void ConvertFromNative(); void SetOwnerWindow(wxWindow* win); void* GetNativeData() const { return m_printDlgData; } +#elif defined(__WXMAC__) + void ConvertToNative(); + void ConvertFromNative(); #endif #ifdef __WXMSW__ @@ -272,6 +335,7 @@ private: bool m_printAllPages; bool m_printCollate; bool m_printToFile; + bool m_printSelection; bool m_printEnableSelection; bool m_printEnablePageNumbers; bool m_printEnableHelp; @@ -313,11 +377,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); @@ -341,6 +408,9 @@ public: 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 @@ -350,8 +420,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; }