]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/cmndata.h
added template wxScopedArray<> too
[wxWidgets.git] / include / wx / cmndata.h
index 997f4b7cb6bd1b81ecccb17294f5be6ec14ef8d3..31269412d8b4f96231e8f610a3c5194d4ac397e9 100644 (file)
 #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,27 @@ public:
     const wxColour& GetColour() const { return m_dataColour; }
     wxColour& GetColour() { return m_dataColour; }
 
-    // Array of 16 custom colours
+    // SetCustomColour() modifies colours in an internal array of NUM_CUSTOM
+    // custom colours;
     void SetCustomColour(int i, const wxColour& colour);
-    wxColour GetCustomColour(int i);
+    wxColour GetCustomColour(int i) const;
+
+    // Serialize the object to a string and restore it from it
+    wxString ToString() const;
+    bool FromString(const wxString& str);
 
-    void operator=(const wxColourData& data);
 
+    // public for backwards compatibility only: don't use directly
 public:
     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 +89,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 +183,7 @@ enum wxPrintBin
 
 const int wxPRINTMEDIA_DEFAULT = 0;
 
-class WXDLLEXPORT wxPrintData: public wxObject
+class WXDLLIMPEXP_CORE wxPrintData: public wxObject
 {
 public:
     wxPrintData();
@@ -213,7 +228,7 @@ public:
     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; }
@@ -261,7 +276,7 @@ private:
  * from the dialog.
  */
 
-class WXDLLEXPORT wxPrintDialogData: public wxObject
+class WXDLLIMPEXP_CORE wxPrintDialogData: public wxObject
 {
 public:
     wxPrintDialogData();
@@ -269,35 +284,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; };
-
-    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; };
+    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 IsOk(); }
@@ -336,7 +351,7 @@ private:
 // Compatibility with old name
 #define wxPageSetupData wxPageSetupDialogData
 
-class WXDLLEXPORT wxPageSetupDialogData: public wxObject
+class WXDLLIMPEXP_CORE wxPageSetupDialogData: public wxObject
 {
 public:
     wxPageSetupDialogData();
@@ -344,20 +359,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(); }
@@ -367,23 +382,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