/////////////////////////////////////////////////////////////////////////////
-// Name: cmndata.h
+// Name: wx/cmndata.h
// Purpose: Common GDI data classes
// Author: Julian Smart and others
// Modified by:
#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; }
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();
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;
}
wxPRINTBIN_USER
};
+const int wxPRINTMEDIA_DEFAULT = 0;
-class WXDLLEXPORT wxPrintData: public wxObject
+class WXDLLIMPEXP_CORE wxPrintData: public wxObject
{
public:
wxPrintData();
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(); }
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 SetOrientationReversed(bool reversed) { m_printOrientationReversed = reversed; }
void SetPrinterName(const wxString& name) { m_printerName = name; }
void SetColour(bool colour) { m_colour = colour; }
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);
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();
private:
wxPrintBin m_bin;
+ int m_media;
wxPrintMode m_printMode;
int m_printNoCopies;
int m_printOrientation;
+ bool m_printOrientationReversed;
bool m_printCollate;
wxString m_printerName;
wxPrintQuality m_printQuality;
wxPaperSize m_paperId;
wxSize m_paperSize;
-
+
wxString m_filename;
-
+
char* m_privData;
int m_privDataLen;
-
+
wxPrintNativeDataBase *m_nativeData;
private:
* from the dialog.
*/
-class WXDLLEXPORT wxPrintDialogData: public wxObject
+class WXDLLIMPEXP_CORE wxPrintDialogData: public wxObject
{
public:
wxPrintDialogData();
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(); }
bool m_printEnablePageNumbers;
bool m_printEnableHelp;
bool m_printEnablePrintToFile;
-#if WXWIN_COMPATIBILITY_2_4
- bool m_printSetupDialog;
-#endif
wxPrintData m_printData;
private:
// Compatibility with old name
#define wxPageSetupData wxPageSetupDialogData
-class WXDLLEXPORT wxPageSetupDialogData: public wxObject
+class WXDLLIMPEXP_CORE wxPageSetupDialogData: public wxObject
{
public:
wxPageSetupDialogData();
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(); }
// 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