1 package Reaction::UI::Widget;
4 use aliased 'Reaction::UI::ViewPort';
5 use aliased 'Reaction::UI::View';
6 use aliased 'Reaction::UI::LayoutSet';
10 has 'viewport' => (isa => ViewPort, is => 'ro'); # required?
11 has 'view' => (isa => View, is => 'ro', required => 1);
12 has 'layout_set' => (isa => LayoutSet, is => 'ro', required => 1);
14 implements 'render' => as {
15 my ($self, $rctx) = @_;
16 my $args = { self => $self };
17 $args->{viewport} = $self->viewport if $self->has_viewport;
18 $self->render_widget($rctx, $args);
21 implements 'render_viewport' => as {
22 my ($self, $rctx, $args) = @_;
23 my $vp = $args->{'_'};
24 $self->view->render_viewport($rctx, $vp);
39 See L<Reaction::Class> for authors.
43 See L<Reaction::Class> for the license.