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