At 05:17 PM 5/28/01 -0400, Stephen Adkins wrote:
> >
> >I don't understand the Widget::Controller.  Can you say more about this?
> >
> >Also will we require XML to configure? Or is this also an optional feature
> >that you more or less want for yourself but others can choose to not use?
> >
>
>Hi,
>
>Below is running code for the Perl Widget Library.
>So far, there are only two widgets.
>
>   * a generic Widget::HTML::Element
>   * a drop-down menu Widget::HTML::Select
>
>Are there early comments on the interface from Perl?
>Is this shaping up into what was desired?
>
>Stephen
>
>shark:/usr/ov/acoc/dev/src/Widget/examples> more Widget.xml Widget.2
>::::::::::::::
>Widget.xml
>::::::::::::::
><config>
>   <widget      name="first_name" tag='input' type='text' size='14'
>maxlength='99'/>
>   <widget      name="last_name"  widget-class='Widget::HTML::Element'
>tag='input' type='text' size='14' maxlength='99'/>
>   <widget      name="birth_dt"   widget-type='date'/>
>   <widget      name="sex"        widget-type='sex'/>
>   <widget-type name="date" tag='input' type='text' size='14' maxlength='99'/>
>   <widget-type name="sex"  widget-class='Widget::HTML::Select' domain='sex'/>
>   <domain      name="sex">
>     <item      name="M" label="Male"/>
>     <item      name="F" label="Female"/>
>   </domain>
></config>

This config seems simple enough that it doesn't seem that necessary to use XML.

>::::::::::::::
>Widget.2
>::::::::::::::
>#!/usr/local/bin/perl
>
>use lib "..";
>
>    use Widget;
>
>    my ($wc, $widget, @widgets);
>    $wc = Widget->controller();

Don't you need to provide the controller with a CGI object? I guess this 
part hasn't been necessary yet, so the widget controller is just like a 
hash allowing widgets to be associated by name.

>    $widget = $wc->widget("first_name");
>    print "First Name: ", $widget->html(), "\n";

A widget type has already been defined. So I don't see that the method to 
output it's display should be called html() which is, well, HTML specific. 
I prefer

print "First Name: ", $widget->display(), "\n";

Since widgets are components that know how to display themselves whether 
its WML or HTML or whatever.

Thanks,
     Gunther

Reply via email to