Thanks Tres. The 1's are explained for sure but I can't see a always
doing the job for this. What I need is an object that keeps track of
the last number given to it so it will supply the next based on its
state. For use in a flat form with say a dozen fields you are not
repeating over each field but still you need an incrementing tabindex
value. In this case no repeat is necessary but each call to tabindex
still requires next value and you can't do this if there if state is
not available. I thought I could use the built-in iterator in this way
but 1 or 0 for next will not return what I need from the instance.
Could a method be added to existing Iterator class to provide the
current or next value of Iterator instance for this purpose as opposed
to true and false. Maybe called them currval and nextval or similar. I
hoping not to have to create a product just to do this.
Regards
David
On Wednesday, July 20, 2005, at 10:24 AM, Tres Seaver wrote:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
David Pratt wrote:
Hi Chris. Thanks for your reply.
My understanding (which may be flawed) is that ZTUtils iterator
provides
values of a sequence as you iterate over them with a repeat statement.
I believe what I am trying to do is sensible. I have looked at the
api
and can't seem to get the right magic using the methods provided.
Tabindex for forms keeps track of tab position so when you use tab key
it moves the cursor to next field tabindex in form . So if I have 5
input fields from top to bottom, I want to define an iterator object,
and obtain the next number in the iterator when zpt does its thing to
create the form so that I would have a tabindex starting at 1 and next
field value would be 2, then 3 etc.
A range by itself doesn't do the trick since it provides all values to
the variable where I am looking only for a single number incremented
to
the next value.
- From $ZOPE/lib/python/ZTUtils/Iterator:
__doc__='''Iterator class
Unlike the builtin iterators of Python 2.2+, these classes are
designed to maintain information about the state of an iteration.
The Iterator() function accepts either a sequence or a Python
iterator. The next() method fetches the next item, and returns
true if it succeeds.
$Id: Iterator.py,v 1.9.42.2 2003/11/04 19:27:43 evan Exp $'''
Note that last sentence, which explains why you are seeing the '1'
value
everywere. 'tal:repeat' over a range should get you what you want; I
don't think you *need* an iterator for your use case.
Tres.
- --
===================================================================
Tres Seaver +1 202-558-7113 [EMAIL PROTECTED]
Palladion Software "Excellence by Design" http://palladion.com
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.5 (GNU/Linux)
Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org
iD8DBQFC3lB++gerLs4ltQ4RAuvSAJwPRCNefT9753fli0xOL7EEnRRHgwCggT/C
M3ysckA7tZJZkZ0I10xgkLI=
=jzat
-----END PGP SIGNATURE-----
_______________________________________________
Zope maillist - Zope@zope.org
http://mail.zope.org/mailman/listinfo/zope
** No cross posts or HTML encoding! **
(Related lists -
http://mail.zope.org/mailman/listinfo/zope-announce
http://mail.zope.org/mailman/listinfo/zope-dev )