diff options
author | matthewt <matthewt@03d0b0b2-0e1a-0410-a411-fdb2f4bd65d7> | 2007-09-12 18:11:34 +0000 |
---|---|---|
committer | matthewt <matthewt@03d0b0b2-0e1a-0410-a411-fdb2f4bd65d7> | 2007-09-12 18:11:34 +0000 |
commit | 7adfd53f17f66ffe93763e944ed1d3fc52a369dc (patch) | |
tree | 19e599e74419b41cbbe651fd226b81e8b73551d3 /lib/Reaction/UI/Widget.pm | |
parent | c728c97cb1061330e63c7cc048e768ef74988fe6 (diff) | |
download | reaction-7adfd53f17f66ffe93763e944ed1d3fc52a369dc.tar.gz reaction-7adfd53f17f66ffe93763e944ed1d3fc52a369dc.zip |
moved shit to trunk
Diffstat (limited to 'lib/Reaction/UI/Widget.pm')
-rw-r--r-- | lib/Reaction/UI/Widget.pm | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/lib/Reaction/UI/Widget.pm b/lib/Reaction/UI/Widget.pm new file mode 100644 index 0000000..75cfae4 --- /dev/null +++ b/lib/Reaction/UI/Widget.pm @@ -0,0 +1,41 @@ +package Reaction::UI::Widget; + +use Reaction::Class; +use aliased 'Reaction::UI::ViewPort'; +use aliased 'Reaction::UI::View'; + +class Widget which { + + has 'viewport' => (isa => ViewPort, is => 'ro'); # required? + has 'view' => (isa => View, is => 'ro', required => 1); + + implements 'render' => as { + my ($self, $rctx) = @_; + $self->render_widget($rctx, { self => $self }); + }; + + implements 'render_viewport' => as { + my ($self, $rctx, $args) = @_; + my $vp = $args->{'_'}; + $self->view->render_viewport($rctx, $vp); + }; + +}; + +1; + +=head1 NAME + +Reaction::UI::Widget + +=head1 DESCRIPTION + +=head1 AUTHORS + +See L<Reaction::Class> for authors. + +=head1 LICENSE + +See L<Reaction::Class> for the license. + +=cut |