[Python-checkins] CVS: python/dist/src/Mac/Modules/list listsupport.py,1.12,1.13 _Listmodule.c,1.4,1.5

Just van Rossum jvr@users.sourceforge.net
Mon, 05 Nov 2001 03:12:14 -0800


Update of /cvsroot/python/python/dist/src/Mac/Modules/list
In directory usw-pr-cvs1:/tmp/cvs-serv5850

Modified Files:
	listsupport.py _Listmodule.c 
Log Message:
added acces to the cellSize field, rewrote setattr code

Index: listsupport.py
===================================================================
RCS file: /cvsroot/python/python/dist/src/Mac/Modules/list/listsupport.py,v
retrieving revision 1.12
retrieving revision 1.13
diff -C2 -d -r1.12 -r1.13
*** listsupport.py	2001/11/05 08:27:57	1.12
--- listsupport.py	2001/11/05 11:12:12	1.13
***************
*** 138,146 ****
  
  getattrHookCode = """{
- 	/* XXXX Should we HLock() here?? */
  	if ( strcmp(name, "listFlags") == 0 )
  		return Py_BuildValue("l", (long)GetListFlags(self->ob_itself) & 0xff);
  	if ( strcmp(name, "selFlags") == 0 )
  		return Py_BuildValue("l", (long)GetListSelectionFlags(self->ob_itself) & 0xff);
  }"""
  
--- 138,147 ----
  
  getattrHookCode = """{
  	if ( strcmp(name, "listFlags") == 0 )
  		return Py_BuildValue("l", (long)GetListFlags(self->ob_itself) & 0xff);
  	if ( strcmp(name, "selFlags") == 0 )
  		return Py_BuildValue("l", (long)GetListSelectionFlags(self->ob_itself) & 0xff);
+ 	if ( strcmp(name, "cellSize") == 0 )
+ 		return Py_BuildValue("O&", PyMac_BuildPoint, (*self->ob_itself)->cellSize);
  }"""
  
***************
*** 150,166 ****
  {
  	long intval;
! 		
! 	if ( value == NULL || !PyInt_Check(value) )
  		return -1;
- 	intval = PyInt_AsLong(value);
- 	if (strcmp(name, "listFlags") == 0 ) {
- 		SetListFlags(self->ob_itself, intval);
- 		return 0;
- 	}
- 	if (strcmp(name, "selFlags") == 0 ) {
- 		SetListSelectionFlags(self->ob_itself, intval);
- 		return 0;
  	}
! 	return -1;
  }
  """
--- 151,170 ----
  {
  	long intval;
! 	int err = 0;
! 	
! 	if ( value == NULL ) {
! 		PyErr_SetString(PyExc_AttributeError, "Cannot delete attribute");
  		return -1;
  	}
! 	if (strcmp(name, "listFlags") == 0 )
! 		err = PyArg_Parse(value, "B", &(*self->ob_itself)->listFlags);
! 	else if (strcmp(name, "selFlags") == 0 )
! 		err = PyArg_Parse(value, "B", &(*self->ob_itself)->selFlags);
! 	else if (strcmp(name, "cellSize") == 0 )
! 		err = PyArg_Parse(value, "O&", PyMac_GetPoint, &(*self->ob_itself)->cellSize);
! 	else
! 		PyErr_SetString(PyExc_AttributeError, "No such attribute");
! 	if (err) return 0;
! 	else return -1;
  }
  """

Index: _Listmodule.c
===================================================================
RCS file: /cvsroot/python/python/dist/src/Mac/Modules/list/_Listmodule.c,v
retrieving revision 1.4
retrieving revision 1.5
diff -C2 -d -r1.4 -r1.5
*** _Listmodule.c	2001/11/05 08:27:57	1.4
--- _Listmodule.c	2001/11/05 11:12:12	1.5
***************
*** 608,616 ****
  {
  	{
- 		/* XXXX Should we HLock() here?? */
  		if ( strcmp(name, "listFlags") == 0 )
  			return Py_BuildValue("l", (long)GetListFlags(self->ob_itself) & 0xff);
  		if ( strcmp(name, "selFlags") == 0 )
  			return Py_BuildValue("l", (long)GetListSelectionFlags(self->ob_itself) & 0xff);
  	}
  	return Py_FindMethodInChain(&ListObj_chain, (PyObject *)self, name);
--- 608,617 ----
  {
  	{
  		if ( strcmp(name, "listFlags") == 0 )
  			return Py_BuildValue("l", (long)GetListFlags(self->ob_itself) & 0xff);
  		if ( strcmp(name, "selFlags") == 0 )
  			return Py_BuildValue("l", (long)GetListSelectionFlags(self->ob_itself) & 0xff);
+ 		if ( strcmp(name, "cellSize") == 0 )
+ 			return Py_BuildValue("O&", PyMac_BuildPoint, (*self->ob_itself)->cellSize);
  	}
  	return Py_FindMethodInChain(&ListObj_chain, (PyObject *)self, name);
***************
*** 621,637 ****
  {
  	long intval;
! 		
! 	if ( value == NULL || !PyInt_Check(value) )
  		return -1;
- 	intval = PyInt_AsLong(value);
- 	if (strcmp(name, "listFlags") == 0 ) {
- 		SetListFlags(self->ob_itself, intval);
- 		return 0;
- 	}
- 	if (strcmp(name, "selFlags") == 0 ) {
- 		SetListSelectionFlags(self->ob_itself, intval);
- 		return 0;
  	}
! 	return -1;
  }
  
--- 622,641 ----
  {
  	long intval;
! 	int err = 0;
! 	
! 	if ( value == NULL ) {
! 		PyErr_SetString(PyExc_AttributeError, "Cannot delete attribute");
  		return -1;
  	}
! 	if (strcmp(name, "listFlags") == 0 )
! 		err = PyArg_Parse(value, "B", &(*self->ob_itself)->listFlags);
! 	else if (strcmp(name, "selFlags") == 0 )
! 		err = PyArg_Parse(value, "B", &(*self->ob_itself)->selFlags);
! 	else if (strcmp(name, "cellSize") == 0 )
! 		err = PyArg_Parse(value, "O&", PyMac_GetPoint, &(*self->ob_itself)->cellSize);
! 	else
! 		PyErr_SetString(PyExc_AttributeError, "No such attribute");
! 	if (err) return 0;
! 	else return -1;
  }