mirror of https://github.com/python/cpython
Added hash() and compare() functions. Needed because multiple WinObj's can now refer to the same underlying WindowRef.
This commit is contained in:
parent
620e914266
commit
87a30924d0
|
@ -2165,11 +2165,21 @@ static PyObject *WinObj_getattr(self, name)
|
||||||
|
|
||||||
#define WinObj_setattr NULL
|
#define WinObj_setattr NULL
|
||||||
|
|
||||||
#define WinObj_compare NULL
|
static int WinObj_compare(self, other)
|
||||||
|
WindowObject *self, *other;
|
||||||
|
{
|
||||||
|
if ( self->ob_itself > other->ob_itself ) return 1;
|
||||||
|
if ( self->ob_itself < other->ob_itself ) return -1;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
#define WinObj_repr NULL
|
#define WinObj_repr NULL
|
||||||
|
|
||||||
#define WinObj_hash NULL
|
static int WinObj_hash(self)
|
||||||
|
WindowObject *self;
|
||||||
|
{
|
||||||
|
return (int)self->ob_itself;
|
||||||
|
}
|
||||||
|
|
||||||
PyTypeObject Window_Type = {
|
PyTypeObject Window_Type = {
|
||||||
PyObject_HEAD_INIT(&PyType_Type)
|
PyObject_HEAD_INIT(&PyType_Type)
|
||||||
|
|
|
@ -126,6 +126,29 @@ class MyObjectDefinition(GlobalObjectDefinition):
|
||||||
OutRbrace()
|
OutRbrace()
|
||||||
Output("self->ob_itself = NULL;")
|
Output("self->ob_itself = NULL;")
|
||||||
Output("self->ob_freeit = NULL;")
|
Output("self->ob_freeit = NULL;")
|
||||||
|
|
||||||
|
def outputCompare(self):
|
||||||
|
Output()
|
||||||
|
Output("static int %s_compare(self, other)", self.prefix)
|
||||||
|
IndentLevel()
|
||||||
|
Output("%s *self, *other;", self.objecttype)
|
||||||
|
DedentLevel()
|
||||||
|
OutLbrace()
|
||||||
|
Output("if ( self->ob_itself > other->ob_itself ) return 1;")
|
||||||
|
Output("if ( self->ob_itself < other->ob_itself ) return -1;")
|
||||||
|
Output("return 0;")
|
||||||
|
OutRbrace()
|
||||||
|
|
||||||
|
def outputHash(self):
|
||||||
|
Output()
|
||||||
|
Output("static int %s_hash(self)", self.prefix)
|
||||||
|
IndentLevel()
|
||||||
|
Output("%s *self;", self.objecttype)
|
||||||
|
DedentLevel()
|
||||||
|
OutLbrace()
|
||||||
|
Output("return (int)self->ob_itself;")
|
||||||
|
OutRbrace()
|
||||||
|
|
||||||
## def outputFreeIt(self, itselfname):
|
## def outputFreeIt(self, itselfname):
|
||||||
## Output("DisposeWindow(%s);", itselfname)
|
## Output("DisposeWindow(%s);", itselfname)
|
||||||
# From here on it's basically all boiler plate...
|
# From here on it's basically all boiler plate...
|
||||||
|
|
Loading…
Reference in New Issue