[Pythonmac-SIG] (no subject)
Tom Elliott
telliott99 at mac.com
Fri Jul 14 00:57:28 CEST 2006
Hi,
Some time ago I asked this list for help with a "Newbie problem"
which was really about Cocoa rather than PyObjC: to determine which
button of a set of radio buttons (NSMatrix) was selected. Bob
Ippolito kindly suggested the following elegant filter solution
(given radioMatrix as an outlet, and getRadio_() as the action to
PyAppDelegate:
def getRadio_(self):
selectedCells = filter(lambda cell: cell.intValue() == 1,
self.radioMatrix.cells())
This actually seemed to work 1.5 years ago. I can't verify that now
easily.
Today I had occasion to go back to this code and it clearly has a
problem. The list of cells with intValue() == 1 includes both the
currently selected cell and the previously selected one. Each time I
select a new button, I get two positives from the filter, unless I
choose the same button twice in a row. Even selectedCells() is
supposed to return both selected and *highlighted* cells, according
to the docs.
In my tests, selectedCells() returns the correct value, but it seems
better to use selectedCell(). Or, selectedRow() (for a single column
matrix) can also be queried to get the correct value. I don't know
if this is surprising or it's obvious to everybody. FYI.
Thanks for all your help. Someday I intend to write a FAVSQ for
PyObjC (FA very simple Q). I think it's wonderful what you've done,
but even simple things have taken me quite a while to figure out.
And I think a helpful thing would be to dissect out very simple
examples of all common situations.
Tom Elliott
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.python.org/pipermail/pythonmac-sig/attachments/20060713/275b1621/attachment.htm
More information about the Pythonmac-SIG
mailing list