Hi Lee,

This functionality is definitely something we need, in one form or
another. I'm hesitant to commit another widget right this moment,
because there are some good suggestions for API cleanup ongoing from
David Bernard and Michele Cella. Now is really the last chance to do
that kind of cleanup.

I'd rather not combine the value with the set of options. You should
be able to pass another keyword to insert() to hold the options list.
And, the main select widget can probably support both styles of
working: up-front definition and render-time definition.

Thanks for the patch and ticket... we do need this in some form,
without question... (I *think* the current widget may take a callable
for the options list, which is the current mechanism for handling
this, but that's not always as pleasant.)

Kevin

On 1/30/06, Lee McFadden <[EMAIL PROTECTED]> wrote:
>
> http://trac.turbogears.org/turbogears/ticket/475
>
> Comments and discussion please.  I think that this is a good addition
> to the base widgets.  If not then I'll add it as a recipe for a custom
> widget on the wiki.
>
> (Copied from the ticket)
>
> Sometimes you don't know what a SelectField's options are going to be
> before you .insert() it and changing the options on the fly isn't
> threadsafe.
>
> Attached is a patch with a new widget called DynamicSelectField?. It's
> essentially the same as a normal SelectField? except it pulls out it's
> options from widget_value on .insert().
>
> Examples:
>
> <div>
>     ${testwidget.insert(value=(3, [(1,"Apple"),(2,"Banana"),(3,"Pear")]))}
> </div>
> <div>
>     ${testwidget.insert(value=(2, [(1,"Audi"),(2,"VW"),(3,"Ford")]))}
> </div>
>
> The first argument in the value tuple is the value of the option you
> want to be selected and the second is a list of tuples containing the
> options and their respective values and text.
>
> With this method the data can still be passed when the widget is
> nested in a Form Widget (or subclass thereof).
>
>
> Lee
>


--
Kevin Dangoor
Author of the Zesty News RSS newsreader

email: [EMAIL PROTECTED]
company: http://www.BlazingThings.com
blog: http://www.BlueSkyOnMars.com

Reply via email to