Kevin Dangoor wrote:
> 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.

Yes, that's exactly how I've done it.

Any widgets can provide additional options using a constructor argument
(options) and the same argument at render/insert time.

For a selection widgets those options are managed as the possible
choiches.

Ciao
Michele

>
> 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