#############################################################################
## Name: lib/Wx/DemoModules/wxHeaderCtrl.pm
## Purpose: wxPerl demo helper for Wx::HeaderCtrl/Wx::HeaderColumn
## Author: Mattia Barbon
## Modified by:
## Created: 25/04/2010
## RCS-ID: $Id: wxHeaderCtrl.pm 2920 2010-04-29 21:11:27Z mbarbon $
## Copyright: (c) 2010 Mattia Barbon
## Licence: This program is free software; you can redistribute it and/or
## modify it under the same terms as Perl itself
#############################################################################
package Wx::DemoModules::wxHeaderCtrl;
use strict;
use base qw(Wx::DemoModules::lib::BaseModule Class::Accessor::Fast);
__PACKAGE__->mk_accessors( qw(headerctrl) );
sub create_control {
my( $self ) = @_;
my $headerctrl = Wx::DemoModules::wxHeaderCtrl::Control->new( $self );
$headerctrl->SetColumnCount( 3 );
return $self->headerctrl( $headerctrl );
}
sub add_to_tags { ( Wx::wxVERSION() >= 2.009 ) ? qw(controls new) : () }
sub title { 'wxHeaderCtrl' }
package Wx::DemoModules::wxHeaderCtrl::Control;
use strict;
use base qw(Wx::PlHeaderCtrl);
sub GetColumn {
my( $self, $index ) = @_;
return $self->{columns}[$index] if $self->{columns}[$index];
my $col = $self->{columns}[$index] =
Wx::DemoModules::wxHeaderCtrl::Column->new;
$col->{index} = $index + 1;
return $self->{columns}[$index];
}
package Wx::DemoModules::wxHeaderCtrl::Column;
use strict;
use base qw(Wx::PlHeaderColumn);
use Wx qw(wxALIGN_CENTER);
sub GetTitle {
my( $self ) = @_;
return 'Column ' . $self->{index};
}
sub GetWidth {
my( $self ) = @_;
return $self->{index} * 100;
}
sub GetAlignment {
my( $self ) = @_;
return wxALIGN_CENTER;
}
1;