AW: [Zope3-dev] enahnced widget usecase

dev at projekt01.ch dev at projekt01.ch
Fri Oct 1 12:17:22 EDT 2004


Garrett Smith
> Betreff: RE: [Zope3-dev] enahnced widget usecase
> 
> 
> dev at projekt01.ch wrote:
> > Garrett Smith wrote:
> >> Betreff: RE: [Zope3-dev] enahnced widget usecase
> >> 
> >> 
> >> dev at projekt01.ch wrote:
> >>> Hi together,
> >>> 
> >>> How can I handle this widget usecase:
> >>> 
> >>> A object has simply IText fields like:
> >>> 
> >>> title, description, body
> >>> 
> >>> I whould like to show a edit view where
> >>> the field title and description displayed but
> >>> not editable and the body field is rendered
> >>> with his relevant edit widget.
> >> 
> >> The simplest way is to define two attributes in your view class:
> >> 
> >>   title_widget = CustomWidgetFactory(DisplayWidget)
> >>   description_widget = CustomWidgetFactory(DisplayWidget)
> >> 
> >> You could adapt the context to a schema that had readonly
> title and
> >> description fields, but this is a lot more work than explicitly
> >> specifying the widget classes to use, per the example above.
> >> 
> >>  -- Garrett
> > 
> > Yes I know, sorry, my description of the usecase was unclear.
> > 
> > Correct usecase
> > 
> > The user should be able to use a display view where
> > he can click on a icon next to a field and this whould return the 
> > view with the selected field editable. All other fields are in the 
> > display mode.
> 
> As you said, you'd make the use of display widgets
> conditional -- I'd move the widget definition into the view's 
> __init__ method...roughly:
> 
>   def __init__(self, context, request):
>     ...
>     for each field in self.schema:
>       if not request.get('%s.icon_clicked' % field):
>         setattr(self, '%s_widget' % field,
> CustomWidgetFactory(DisplayWidget))
> 
> Sounds like you have a solid understanding of what you need to do.

>  -- Garrett

Ok, I will do some prototyping for single widget editing
and perhaps XML-RPC editing of fields.

Thanks
Roger



More information about the Zope3-dev mailing list