[patch] QT backend: fix RadioGroup.getValue()
Sascha Silbe <[email protected]> Thu, 28 Aug 2003 16:14:04 +0200
| Newsgroups | gmane.comp.python.anygui.devel |
|---|---|
| Message-ID | <[email protected]> |
Hi!
QT backend:
Fix the RadioButton implementation so RadioGroup.getValue() works.
Note: RadioGroup.setValue() before app.run() as used in
test/test_radiogroup.py is still broken.
CU/Lnx Sascha
--
Registered Linux User #77587 (http://counter.li.org/)
bomb terrorist afghanistan PGP encrypt CIA FBI BND MAD StaSi anschlag
strike sex pussy xxx kill bj hitler Gates MS Windows ZV ZDV
anygui-qt-radiobutton-value-fix.patch
(text/plain, 1.9 KB)
--- orig/lib/anygui/backends/qtgui.py
+++ mod/lib/anygui/backends/qtgui.py
@@ -305,31 +305,29 @@
# RadioButton
class RadioButtonWrapper(ToggleButtonWrapperBase):
+ # dict with QButtonGroups for each group, common to all instances
groupMap = {}
+ val = 0
def widgetFactory(self, *args, **kwds):
return QRadioButton(*args, **kwds)
def setGroup(self, group):
- if group:
- if not group._items:
- if self.proxy.container:
- group._items.append(self.proxy)
- container = self.proxy.container
- btnGroup = QButtonGroup(container.wrapper.widget)
- RadioButtonWrapper.groupMap[group] = btnGroup
- btnGroup.insert(self.widget) # What if widget is None?
- elif self.proxy not in group._items:
- group._items.append(self.proxy)
- btnGroup = RadioButtonWrapper.groupMap[group]
- btnGroup.insert(self.widget)
+ if not self.widget: return
+ if not group: return
+ # RadioGroup not in groupMap? Add a QButtonGroup widget.
+ if not RadioButtonWrapper.groupMap.has_key(group):
+ if self.proxy.container:
+ btnGroup = QButtonGroup(self.proxy.container.wrapper.widget)
+ RadioButtonWrapper.groupMap[group] = btnGroup
+ else :
+ return
+ # add this button to RadioGroup and to QButtonGroup
+ if self.proxy not in group._items:
+ group._items.append(self.proxy)
+ btnGroup = RadioButtonWrapper.groupMap[group]
+ btnGroup.insert(self.widget)
- def setValue(self, value):
- if self.widget:
- self.widget.setChecked(bool(value))
-
- def getValue(self):
- return bool(self.widget.isChecked())
#==============================================================#
# Base class for Text widgets
signature.asc
(application/pgp-signature, 189 B)
-----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.2 (GNU/Linux) iD8DBQE/Tg4sFu2Z2HTlz4cRArcLAJ0RvrdG7Uy5RVnsr6UMGuB6DkA1XACcD2u5 RU4DAoZQLXGyGifEohJr7v8= =Lrlm -----END PGP SIGNATURE-----