]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/cmndata.h
look for backtrace() in -lexecinfo, fixes #9783
[wxWidgets.git] / include / wx / cmndata.h
index 3ecfc402a8a1c51729a0e39a5142b532cd26f75e..31269412d8b4f96231e8f610a3c5194d4ac397e9 100644 (file)
@@ -26,7 +26,7 @@
 class WXDLLIMPEXP_FWD_CORE wxPrintNativeDataBase;
 
 
-class WXDLLEXPORT wxColourData : public wxObject
+class WXDLLIMPEXP_CORE wxColourData : public wxObject
 {
 public:
     // number of custom colours we store
@@ -37,7 +37,7 @@ public:
 
     wxColourData();
     wxColourData(const wxColourData& data);
-    void operator=(const wxColourData&);
+    wxColourData& operator=(const wxColourData& data);
     virtual ~wxColourData();
 
     void SetChooseFull(bool flag) { m_chooseFull = flag; }
@@ -46,16 +46,18 @@ public:
     const wxColour& GetColour() const { return m_dataColour; }
     wxColour& GetColour() { return m_dataColour; }
 
-    // These functions modify colours in an internal array of NUM_CUSTOM 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);
 
-public: // TODO: make these fields private
+
+    // public for backwards compatibility only: don't use directly
+public:
     wxColour        m_dataColour;
     wxColour        m_custColours[NUM_CUSTOM];
     bool            m_chooseFull;
@@ -64,7 +66,7 @@ private:
     DECLARE_DYNAMIC_CLASS(wxColourData)
 };
 
-class WXDLLEXPORT wxFontData : public wxObject
+class WXDLLIMPEXP_CORE wxFontData : public wxObject
 {
 public:
     wxFontData();
@@ -87,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;
     }
 
@@ -178,7 +183,7 @@ enum wxPrintBin
 
 const int wxPRINTMEDIA_DEFAULT = 0;
 
-class WXDLLEXPORT wxPrintData: public wxObject
+class WXDLLIMPEXP_CORE wxPrintData: public wxObject
 {
 public:
     wxPrintData();
@@ -223,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; }
@@ -271,7 +276,7 @@ private:
  * from the dialog.
  */
 
-class WXDLLEXPORT wxPrintDialogData: public wxObject
+class WXDLLIMPEXP_CORE wxPrintDialogData: public wxObject
 {
 public:
     wxPrintDialogData();
@@ -346,7 +351,7 @@ private:
 // Compatibility with old name
 #define wxPageSetupData wxPageSetupDialogData
 
-class WXDLLEXPORT wxPageSetupDialogData: public wxObject
+class WXDLLIMPEXP_CORE wxPageSetupDialogData: public wxObject
 {
 public:
     wxPageSetupDialogData();