wxAcceleratorEntry& operator=(const wxAcceleratorEntry& entry)
{
- Set(entry.m_flags, entry.m_keyCode, entry.m_command, entry.m_item);
+ if (&entry != this)
+ Set(entry.m_flags, entry.m_keyCode, entry.m_command, entry.m_item);
return *this;
}
wxCharTypeBuffer& operator=(const wxCharTypeBuffer& src)
{
- if ( m_owned )
- free(m_str);
- CopyFrom(src);
+ if (&src != this)
+ {
+ if ( m_owned )
+ free(m_str);
+ CopyFrom(src);
+ }
return *this;
}
wxMemoryBuffer& operator=(const wxMemoryBuffer& src)
{
- m_bufdata->DecRef();
- m_bufdata = src.m_bufdata;
- m_bufdata->IncRef();
+ if (&src != this)
+ {
+ m_bufdata->DecRef();
+ m_bufdata = src.m_bufdata;
+ m_bufdata->IncRef();
+ }
return *this;
}
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;
}
name() { } \
~name() { } \
\
- name& operator=(const name& src) \
- { base* temp = (base*) this; \
- (*temp) = ((const base&)src); \
- return *this; } \
- \
T& operator[](size_t uiIndex) const \
{ return (T&)(base::operator[](uiIndex)); } \
T& Item(size_t uiIndex) const \
virtual wxEvent *Clone() const { return new wxMouseEvent(*this); }
- wxMouseEvent& operator=(const wxMouseEvent& event) { Assign(event); return *this; }
+ wxMouseEvent& operator=(const wxMouseEvent& event) { if (&event != this) Assign(event); return *this; }
public:
wxCoord m_x, m_y;
// example)
wxKeyEvent& operator=(const wxKeyEvent& evt)
{
- m_x = evt.m_x;
- m_y = evt.m_y;
-
- m_keyCode = evt.m_keyCode;
-
- m_controlDown = evt.m_controlDown;
- m_shiftDown = evt.m_shiftDown;
- m_altDown = evt.m_altDown;
- m_metaDown = evt.m_metaDown;
- m_scanCode = evt.m_scanCode;
- m_rawCode = evt.m_rawCode;
- m_rawFlags = evt.m_rawFlags;
+ if (&evt != this)
+ {
+ m_x = evt.m_x;
+ m_y = evt.m_y;
+
+ m_keyCode = evt.m_keyCode;
+
+ m_controlDown = evt.m_controlDown;
+ m_shiftDown = evt.m_shiftDown;
+ m_altDown = evt.m_altDown;
+ m_metaDown = evt.m_metaDown;
+ m_scanCode = evt.m_scanCode;
+ m_rawCode = evt.m_rawCode;
+ m_rawFlags = evt.m_rawFlags;
#if wxUSE_UNICODE
- m_uniChar = evt.m_uniChar;
+ m_uniChar = evt.m_uniChar;
#endif
-
+ }
return *this;
}
private:
// It makes no sense to copy objects of this class
- wxEventConnectionRef& operator = (const wxEventConnectionRef& WXUNUSED(other)) { wxASSERT(0); return *this; }
+ wxEventConnectionRef& operator = (const wxEventConnectionRef& WXUNUSED(other)) { wxFAIL; return *this; }
};
wxDataFormat( const wxCStrData& id ) { InitFromString(id); }
wxDataFormat& operator=(const wxDataFormat& format)
- { m_type = format.m_type; m_format = format.m_format; return *this; }
+ {
+ if (&format != this)
+ {
+ m_type = format.m_type;
+ m_format = format.m_format;
+ }
+ return *this;
+ }
wxDataFormat& operator=(NativeFormat format)
{ SetId(format); return *this; }
\
Iterator() : m_node(0), m_ht(0) {} \
Iterator( Node* node, const Self* ht ) \
- : m_node(node), m_ht((Self*)ht) {} \
+ : m_node(node), m_ht(wx_const_cast(Self*, ht)) {} \
bool operator ==( const Iterator& it ) const \
{ return m_node == it.m_node; } \
bool operator !=( const Iterator& it ) const \
const_iterator() : Iterator() {} \
const_iterator(iterator i) : Iterator(i) {} \
const_iterator( Node* node, const Self* ht ) \
- : Iterator( node, (Self*)ht ) {} \
+ : Iterator(node, wx_const_cast(Self*, ht)) {} \
const_iterator& operator++() { PlusPlus();return *this; } \
const_iterator operator++(int) { const_iterator it=*this;PlusPlus();return it; } \
const_reference operator *() const { return m_node->m_value; } \
\
const Self& operator=( const Self& ht ) \
{ \
- clear(); \
- m_hasher = ht.m_hasher; \
- m_equals = ht.m_equals; \
- m_getKey = ht.m_getKey; \
- m_items = ht.m_items; \
- HashCopy( ht ); \
+ if (&ht != this) \
+ { \
+ clear(); \
+ m_hasher = ht.m_hasher; \
+ m_equals = ht.m_equals; \
+ m_getKey = ht.m_getKey; \
+ m_items = ht.m_items; \
+ HashCopy( ht ); \
+ } \
return *this; \
} \
\
typedef const KEY_T const_t1; \
typedef const VALUE_T const_t2; \
\
- CLASSNAME( const const_t1& f, const const_t2& s ):first(t1(f)),second(t2(s)) {} \
+ CLASSNAME(const const_t1& f, const const_t2& s) \
+ : first(wx_const_cast(t1&, f)), second(wx_const_cast(t2&, s)) {} \
\
t1 first; \
t2 second; \
like the old class.
*/
-#ifndef _WX_LISTH__
-#define _WX_LISTH__
+#ifndef _WX_LIST_H_
+#define _WX_LIST_H_
// -----------------------------------------------------------------------------
// headers
virtual void DeleteData() { }
public:
// for wxList::iterator
- void** GetDataPtr() const { return &(((wxNodeBase*)this)->m_data); }
+ void** GetDataPtr() const { return &(wx_const_cast(wxNodeBase*, this)->m_data); }
private:
// optional key stuff
wxListKeyValue m_key;
: wxListBase(count, (void **)elements) { } \
\
name& operator=(const name& list) \
- { Assign(list); return *this; } \
+ { if (&list != this) Assign(list); return *this; } \
\
nodetype *GetFirst() const \
{ return (nodetype *)wxListBase::GetFirst(); } \
#if !wxUSE_STL
wxList& operator=(const wxList& list)
- { Assign(list); return *this; }
+ { if (&list != this) Assign(list); return *this; }
// compatibility methods
void Sort(wxSortCompareFunction compfunc) { wxListBase::Sort(compfunc); }
// inefficient!)
wxStringList(const wxStringList& other) : wxStringListBase() { DeleteContents(true); DoCopy(other); }
wxStringList& operator=(const wxStringList& other)
- { Clear(); DoCopy(other); return *this; }
+ {
+ if (&other != this)
+ {
+ Clear();
+ DoCopy(other);
+ }
+ return *this;
+ }
// operations
// makes a copy of the string
iterator(const iterator& i)
: m_cur(i.m_cur), m_node(i.str(), &m_cur) {}
iterator& operator=(const iterator& i)
- { m_cur = i.m_cur; m_node.set(i.str(), &m_cur); return *this; }
+ {
+ if (&i != this)
+ {
+ m_cur = i.m_cur;
+ m_node.set(i.str(), &m_cur);
+ }
+ return *this;
+ }
reference operator*()
{ return wxUniCharRef::CreateForString(m_node, m_cur); }
: m_cur(i.m_cur), m_node(i.str(), &m_cur) {}
const_iterator& operator=(const const_iterator& i)
- { m_cur = i.m_cur; m_node.set(i.str(), &m_cur); return *this; }
+ {
+ if (&i != this)
+ {
+ m_cur = i.m_cur;
+ m_node.set(i.str(), &m_cur);
+ }
+ return *this;
+ }
const_iterator& operator=(const iterator& i)
{ m_cur = i.m_cur; m_node.set(i.str(), &m_cur); return *this; }
// overloaded assignment
// from another wxString
wxString& operator=(const wxString& stringSrc)
- { m_impl = stringSrc.m_impl; return *this; }
+ { if (&stringSrc != this) m_impl = stringSrc.m_impl; return *this; }
wxString& operator=(const wxCStrData& cstr)
{ return *this = cstr.AsString(); }
// from a character
bool operator&&(bool v) const { return (bool)*this && v; }
// Assignment operators:
- wxUniChar& operator=(const wxUniChar& c) { m_value = c.m_value; return *this; }
+ wxUniChar& operator=(const wxUniChar& c) { if (&c != this) m_value = c.m_value; return *this; }
wxUniChar& operator=(const wxUniCharRef& c);
wxUniChar& operator=(char c) { m_value = From8bit(c); return *this; }
wxUniChar& operator=(unsigned char c) { m_value = From8bit((char)c); return *this; }
#endif
wxUniCharRef& operator=(const wxUniCharRef& c)
- { return *this = c.UniChar(); }
+ { if (&c != this) *this = c.UniChar(); return *this; }
wxUniCharRef& operator=(char c) { return *this = wxUniChar(c); }
wxUniCharRef& operator=(unsigned char c) { return *this = wxUniChar(c); }
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
-#ifndef _WX_UTILSH__
-#define _WX_UTILSH__
+#ifndef _WX_UTILS_H_
+#define _WX_UTILS_H_
// ----------------------------------------------------------------------------
// headers
public:
wxPlatform() { Init(); }
wxPlatform(const wxPlatform& platform) { Copy(platform); }
- void operator = (const wxPlatform& platform) { Copy(platform); }
+ void operator = (const wxPlatform& platform) { if (&platform != this) Copy(platform); }
void Copy(const wxPlatform& platform);
// Specify an optional default value
wxWindowIDRef& operator=(const wxWindowIDRef& id)
{
- Assign(id.m_id);
+ if (&id != this)
+ Assign(id.m_id);
return *this;
}