class WXDLLIMPEXP_FWD_CORE wxPrintNativeDataBase;
-class WXDLLEXPORT wxColourData: public wxObject
+class WXDLLEXPORT 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:
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;
}