X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/53fa663af1aca481d637a8277511a8397e34d02a..3e33568e0bd8416417916d194fc9a50cab9636bf:/include/wx/cmndata.h diff --git a/include/wx/cmndata.h b/include/wx/cmndata.h index d495c8d63c..c8e345af56 100644 --- a/include/wx/cmndata.h +++ b/include/wx/cmndata.h @@ -1,10 +1,9 @@ ///////////////////////////////////////////////////////////////////////////// -// Name: cmndata.h +// Name: wx/cmndata.h // Purpose: Common GDI data classes // Author: Julian Smart and others // Modified by: // Created: 01/02/97 -// RCS-ID: $Id$ // Copyright: (c) // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// @@ -12,147 +11,23 @@ #ifndef _WX_CMNDATA_H_BASE_ #define _WX_CMNDATA_H_BASE_ -#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) -#pragma interface "cmndata.h" -#endif +#include "wx/defs.h" + +#if wxUSE_PRINTING_ARCHITECTURE -#include "wx/window.h" -#include "wx/font.h" -#include "wx/encinfo.h" -#include "wx/colour.h" #include "wx/gdicmn.h" #if wxUSE_STREAMS #include "wx/stream.h" #endif +class WXDLLIMPEXP_FWD_CORE wxPrintNativeDataBase; -class WXDLLEXPORT wxPrintNativeDataBase; - - -class WXDLLEXPORT wxColourData: public wxObject -{ -public: - wxColourData(); - wxColourData(const wxColourData& data); - ~wxColourData(); - - 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, const wxColour& colour); - wxColour GetCustomColour(int i); - - void operator=(const wxColourData& data); - -public: - wxColour m_dataColour; - wxColour m_custColours[16]; - bool m_chooseFull; - -private: - DECLARE_DYNAMIC_CLASS(wxColourData) -}; - -class WXDLLEXPORT wxFontData: public wxObject -{ -public: - wxFontData(); - ~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) - { - } - - 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 - // it (wxNativeEncodingInfo) - wxFontEncoding GetEncoding() const { return m_encoding; } - void SetEncoding(wxFontEncoding encoding) { m_encoding = encoding; } - - wxNativeEncodingInfo& EncodingInfo() { return m_encodingInfo; } - -public: - 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 /* * wxPrintData * Encapsulates printer information (not printer dialog information) */ -#ifdef __WXMAC__ - -class wxNativePrintData ; - -#endif - enum wxPrintBin { wxPRINTBIN_DEFAULT, @@ -174,20 +49,23 @@ enum wxPrintBin wxPRINTBIN_USER }; +const int wxPRINTMEDIA_DEFAULT = 0; -class WXDLLEXPORT wxPrintData: public wxObject +class WXDLLIMPEXP_CORE 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; } + wxPrintOrientation 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; } @@ -198,10 +76,16 @@ public: 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; } + + // Please use the overloaded method below + wxDEPRECATED_INLINE(void SetOrientation(int orient), + m_printOrientation = (wxPrintOrientation)orient; ) + void SetOrientation(wxPrintOrientation 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,12 +94,18 @@ public: void SetPaperSize(const wxSize& sz) { m_paperSize = sz; } void SetQuality(wxPrintQuality quality) { m_printQuality = quality; } void SetBin(wxPrintBin bin) { m_bin = bin; } + void SetMedia(int media) { m_media = media; } void SetPrintMode(wxPrintMode printMode) { m_printMode = printMode; } wxString GetFilename() const { return m_filename; } void SetFilename( const wxString &filename ) { m_filename = filename; } - - void operator=(const wxPrintData& data); + + wxPrintData& operator=(const wxPrintData& data); + + 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(); @@ -223,17 +113,14 @@ public: // Holds the native print data wxPrintNativeDataBase *GetNativeData() const { return m_nativeData; } -public: -#if defined(__WXMAC__) - wxNativePrintData* m_nativePrintData ; -#endif - private: wxPrintBin m_bin; + int m_media; wxPrintMode m_printMode; int m_printNoCopies; - int m_printOrientation; + wxPrintOrientation m_printOrientation; + bool m_printOrientationReversed; bool m_printCollate; wxString m_printerName; @@ -242,9 +129,12 @@ private: wxPrintQuality m_printQuality; wxPaperSize m_paperId; wxSize m_paperSize; - + wxString m_filename; - + + char* m_privData; + int m_privDataLen; + wxPrintNativeDataBase *m_nativeData; private: @@ -258,48 +148,47 @@ private: * from the dialog. */ -class WXDLLEXPORT wxPrintDialogData: public wxObject +class WXDLLIMPEXP_CORE wxPrintDialogData: public wxObject { public: wxPrintDialogData(); wxPrintDialogData(const wxPrintDialogData& dialogData); wxPrintDialogData(const wxPrintData& printData); - ~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; }; - bool GetSetupDialog() const { return m_printSetupDialog; }; - - 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 SetSetupDialog(bool flag) { m_printSetupDialog = 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; }; + 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; } + + 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 m_printData.Ok() ; } + bool Ok() const { return IsOk(); } + bool IsOk() const { return m_printData.IsOk() ; } wxPrintData& GetPrintData() { return m_printData; } void SetPrintData(const wxPrintData& printData) { m_printData = printData; } @@ -307,21 +196,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; @@ -336,7 +210,6 @@ private: bool m_printEnablePageNumbers; bool m_printEnableHelp; bool m_printEnablePrintToFile; - bool m_printSetupDialog; wxPrintData m_printData; private: @@ -350,64 +223,54 @@ private: // Compatibility with old name #define wxPageSetupData wxPageSetupDialogData -class WXDLLEXPORT wxPageSetupDialogData: public wxObject +class WXDLLIMPEXP_CORE wxPageSetupDialogData: public wxObject { public: wxPageSetupDialogData(); wxPageSetupDialogData(const wxPageSetupDialogData& dialogData); wxPageSetupDialogData(const wxPrintData& printData); - ~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; }; + 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; } // 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.IsOk() ; } // 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); - 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; }; - -#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 + 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 @@ -416,15 +279,12 @@ public: // Use paper id in wxPrintData to set this object's paper size void CalculatePaperSizeFromId(); - wxPageSetupDialogData& operator=(const wxPageSetupData& data); + wxPageSetupDialogData& operator=(const wxPageSetupDialogData& data); 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?)