CVS: anygui/lib/anygui Attribs.py,1.19,1.20 Models.py,1.20,1.21 Proxies.py,1.25,1.26 References.py,1.15,1.16
"Dallas T. Johnston" <[email protected]> Fri, 08 Nov 2002 02:52:25 -0800
| Newsgroups | gmane.comp.python.anygui.cvs |
|---|---|
| Message-ID | <[email protected]> |
Update of /cvsroot/anygui/anygui/lib/anygui
In directory usw-pr-cvs1:/tmp/cvs-serv32337/lib/anygui
Modified Files:
Attribs.py Models.py Proxies.py References.py
Log Message:
Finally got SF to accept the commit... =)
Index: Attribs.py
===================================================================
RCS file: /cvsroot/anygui/anygui/lib/anygui/Attribs.py,v
retrieving revision 1.19
retrieving revision 1.20
diff -C2 -r1.19 -r1.20
*** Attribs.py 8 Oct 2002 18:06:40 -0000 1.19
--- Attribs.py 8 Nov 2002 10:52:23 -0000 1.20
***************
*** 55,65 ****
if name.startswith('install') and name.endswith('Model'):
def metaInstall(model):
! self.installModel(self, uncapitalizeAttribute(name[7:][:-5]), model)
return metaInstall
if name.startswith('remove') and name.endswith('Model'):
def metaRemove():
! self.removeModel(self, uncapitalizeAttribute(name[6:][:-5]))
return metaRemove
# === END FOR MODELS === #
if not self.state.has_key(name):
--- 55,66 ----
if name.startswith('install') and name.endswith('Model'):
def metaInstall(model):
! self.installModel(self.wrapper, uncapitalizeAttribute(name[7:-5]), model)
return metaInstall
if name.startswith('remove') and name.endswith('Model'):
def metaRemove():
! self.removeModel(self.wrapper, uncapitalizeAttribute(name[6:-5]))
return metaRemove
# === END FOR MODELS === #
+
if not self.state.has_key(name):
Index: Models.py
===================================================================
RCS file: /cvsroot/anygui/anygui/lib/anygui/Models.py,v
retrieving revision 1.20
retrieving revision 1.21
diff -C2 -r1.20 -r1.21
*** Models.py 24 Sep 2002 15:28:29 -0000 1.20
--- Models.py 8 Nov 2002 10:52:23 -0000 1.21
***************
*** 7,13 ****
# unlinking problems.
class Assignee:
! _locked = 0
def __init__(self):
--- 7,15 ----
# unlinking problems.
+ # TODO: Cleanup the use if both names and objects
+
class Assignee:
! _notifyLocked = 0
def __init__(self):
***************
*** 20,24 ****
self.names.append(name)
self.objects.append(object)
!
def removed(self, object, name):
push = getattr(object, 'push', None)
--- 22,34 ----
self.names.append(name)
self.objects.append(object)
! link(object.proxy, self.eventUpdate)
!
! def eventUpdate(self, event):
! val = self.getValue()
! event.source.pull()
! # only notify if value has changed
! if val != self.getValue():
! send(self)
!
def removed(self, object, name):
push = getattr(object, 'push', None)
***************
*** 26,41 ****
self.objects.remove(object)
self.names.remove(name)
! def lockPush(self):
! self._locked = 1
! def unlockPush(self):
! self._locked = 0
! def send(self, **kwds):
! if self._locked == 0:
for object in self.objects:
! object.push(names=self.names)
! send(self, **kwds)
--- 36,55 ----
self.objects.remove(object)
self.names.remove(name)
+ unlink(object.proxy, self.eventUpdate)
! def lockNotify(self):
! self._notifyLocked = 1
! def unlockNotify(self):
! self._notifyLocked = 0
! def notify(self, **kwds):
! if not self._notifyLocked:
for object in self.objects:
! nameDict = {}
! for name in self.names:
! nameDict[name] = self
! object.push(nameDict)
! send(self, **kwds)
***************
*** 52,57 ****
def setValue(self, value):
! self._value = value
! self.send()
def getValue(self):
--- 66,71 ----
def setValue(self, value):
! self._value = int(value)
! self.notify()
def getValue(self):
***************
*** 64,70 ****
def __int__(self): return self._value
- class ListModel(Model, UserList):
def __init__(self, *arg, **kw):
--- 78,85 ----
def __int__(self): return self._value
+ def __nonzero__(self): return self._value
+ class ListModel(Model, UserList):
def __init__(self, *arg, **kw):
***************
*** 74,78 ****
def setValue(self, value):
self.data[:] = list(value)
! self.send()
def getValue(self):
--- 89,93 ----
def setValue(self, value):
self.data[:] = list(value)
! self.notify()
def getValue(self):
***************
*** 81,134 ****
def __setitem__(self, i, item):
UserList.__setitem__(self, i, item)
! self.send()
def __delitem__(self, i):
UserList.__delitem__(self, i)
! self.send()
def __setslice__(self, i, j, other):
UserList.__setslice__(self, i, j, other)
! self.send()
def __delslice__(self, i, j):
UserList.__delslice__(self, i, j)
! self.send()
def __iadd__(self, other):
UserList.__iadd__(self, other)
! self.send()
def __imul__(self, n):
UserList.__imul__(self, n)
! self.send()
def append(self, item):
UserList.append(self, item)
! self.send()
def insert(self, i, item):
UserList.insert(self, i, item)
! self.send()
def pop(self, i=-1):
result = UserList.pop(self, i)
! self.send()
return result
def remove(self, item):
UserList.remove(self, item)
! self.send()
def reverse(self):
UserList.reverse(self)
! self.send()
def sort(self, *args):
UserList.sort(self, *args)
! self.send()
def extend(self, other):
UserList.extend(self, other)
! self.send()
--- 96,149 ----
def __setitem__(self, i, item):
UserList.__setitem__(self, i, item)
! self.notify()
def __delitem__(self, i):
UserList.__delitem__(self, i)
! self.notify()
def __setslice__(self, i, j, other):
UserList.__setslice__(self, i, j, other)
! self.notify()
def __delslice__(self, i, j):
UserList.__delslice__(self, i, j)
! self.notify()
def __iadd__(self, other):
UserList.__iadd__(self, other)
! self.notify()
def __imul__(self, n):
UserList.__imul__(self, n)
! self.notify()
def append(self, item):
UserList.append(self, item)
! self.notify()
def insert(self, i, item):
UserList.insert(self, i, item)
! self.notify()
def pop(self, i=-1):
result = UserList.pop(self, i)
! self.notify()
return result
def remove(self, item):
UserList.remove(self, item)
! self.notify()
def reverse(self):
UserList.reverse(self)
! self.notify()
def sort(self, *args):
UserList.sort(self, *args)
! self.notify()
def extend(self, other):
UserList.extend(self, other)
! self.notify()
Index: Proxies.py
===================================================================
RCS file: /cvsroot/anygui/anygui/lib/anygui/Proxies.py,v
retrieving revision 1.25
retrieving revision 1.26
diff -C2 -r1.25 -r1.26
*** Proxies.py 8 Oct 2002 18:24:53 -0000 1.25
--- Proxies.py 8 Nov 2002 10:52:23 -0000 1.26
***************
*** 71,77 ****
# locked update of model, this keeps model
# from calling proxy.push
! model.lockPush()
model.setValue(state[prop])
! model.unlockPush()
state[prop] = model
except:
--- 71,77 ----
# locked update of model, this keeps model
# from calling proxy.push
! model.lockNotify()
model.setValue(state[prop])
! model.unlockNotify()
state[prop] = model
except:
***************
*** 114,120 ****
# has changed the value, thus we need to sync model
if state[prop] is not model:
- model.lockPush()
model.setValue(state[prop])
- model.unlockPush()
state[prop] = model
except:
--- 114,118 ----
Index: References.py
===================================================================
RCS file: /cvsroot/anygui/anygui/lib/anygui/References.py,v
retrieving revision 1.15
retrieving revision 1.16
diff -C2 -r1.15 -r1.16
*** References.py 5 Jan 2002 18:28:05 -0000 1.15
--- References.py 8 Nov 2002 10:52:23 -0000 1.16
***************
*** 101,105 ****
obj, func = unwrap(func)
! self.hash = hash((obj, func))
if obj is not None:
--- 101,109 ----
obj, func = unwrap(func)
! # Need to catch cases where obj is not hashable.
! try:
! self.hash = hash((obj, func))
! except (TypeError):
! self.hash = hash((None ,func))
if obj is not None:
-------------------------------------------------------
This sf.net email is sponsored by: See the NEW Palm
Tungsten T handheld. Power & Color in a compact size!
http://ads.sourceforge.net/cgi-bin/redirect.pl?palm0001en