package # Hide from pause SampleAppWx::default; use strict; use warnings; use Wx ':everything'; use Catalyst::Engine::Wx::Event qw( CAT_EVT_QUIT CAT_EVT_CLOSE CAT_EVT_LIST_ITEM_ACTIVATED ); use base 'Wx::Frame'; sub new { my ($class, $catalyst, $c ) = @_; my $self = $class->SUPER::new( undef, -1, 'Books', [0, 0], [475,300] ); my $list_ctrl = Wx::ListCtrl->new($self,-1,[3,3],[20,20], wxSIMPLE_BORDER|wxSUNKEN_BORDER|wxSTATIC_BORDER|wxLC_REPORT|wxLC_ALIGN_LEFT|wxLC_HRULES); $list_ctrl->InsertColumn( 0, "Title" ); $list_ctrl->InsertColumn( 1, "Rating" ); $list_ctrl->InsertColumn( 2, "Authors" ); $self->Refresh(); $self->Show(1); my $i = 0; foreach (@{ $c->stash->{books} }) { my $idx_1 = $list_ctrl->InsertStringItem( $i, $_->title ); $list_ctrl->SetItem( $idx_1, 1, $_->rating ); my $authors; foreach my $author ( $_->authors ) { $authors .= $author->first_name." ".$author->last_name.", "; } chop($authors); chop($authors); $list_ctrl->SetItem( $idx_1, 2, $authors ); } $list_ctrl->SetColumnWidth(0, -1); $list_ctrl->SetColumnWidth(2, -1); Wx::LogMessage( "Welcome to Catalyst::Engine::Wx !" ); CAT_EVT_LIST_ITEM_ACTIVATED( $self, $list_ctrl, 'Test::And->display' ); CAT_EVT_CLOSE( $self, sub { CAT_EVT_QUIT; } ); return 1; } sub display { my ($self, $catalyst, $c ) = @_; print " method display of $self !! \n"; Wx::MessageBox('Hello world', 'Hello' ); } 1;