Fixed the equality and inequality operators for some of the basic

data types (wx.Point, wx.Size, wx.Colour, etc.) to no longer raise a
TypeError if the compared object is not compatible, but to just return
a boolean as expected.  For example::

	  wx.Colour(64,0,64) == 123      ==> False


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@38493 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Robin Dunn
2006-03-31 23:29:39 +00:00
parent 8948306f78
commit 1fce4e9668
5 changed files with 245 additions and 63 deletions

View File

@@ -1534,8 +1534,33 @@ public:
void SetCol( int n );
void Set( int row, int col );
bool operator==( const wxGridCellCoords& other ) const;
bool operator!=( const wxGridCellCoords& other ) const;
%extend {
KeepGIL(__eq__);
DocStr(__eq__, "Test for equality of GridCellCoords objects.", "");
bool __eq__(PyObject* other) {
wxGridCellCoords temp, *obj = &temp;
if ( other == Py_None ) return false;
if ( ! wxGridCellCoords_helper(other, &obj) ) {
PyErr_Clear();
return false;
}
return self->operator==(*obj);
}
KeepGIL(__ne__);
DocStr(__ne__, "Test for inequality of GridCellCoords objects.", "");
bool __ne__(PyObject* other) {
wxGridCellCoords temp, *obj = &temp;
if ( other == Py_None ) return true;
if ( ! wxGridCellCoords_helper(other, &obj)) {
PyErr_Clear();
return true;
}
return self->operator!=(*obj);
}
}
%extend {
PyObject* Get() {