#############################################################################
## Name: lib/Wx/DemoModules/wxFlexGridSizer.pm
## Purpose: wxPerl demo helper for Wx::FlexGridSizer
## Author: Mattia Barbon
## Modified by:
## Created: 03/07/2002
## RCS-ID: $Id: wxFlexGridSizer.pm 2189 2007-08-21 18:15:31Z mbarbon $
## Copyright: (c) 2002, 2006 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::wxFlexGridSizer;
use strict;
use base qw(Wx::Frame);
use Wx qw(:sizer wxDefaultPosition wxDefaultSize
wxDEFAULT_DIALOG_STYLE wxRESIZE_BORDER);
sub new {
my( $class, $parent ) = @_;
my $self = $class->SUPER::new( undef, -1, "Wx::FlexGridSizer",
wxDefaultPosition, wxDefaultSize,
wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER );
# top level sizer
my $tsz = Wx::FlexGridSizer->new( 5, 5, 1, 1, );
for my $i ( 1 .. 25 ) {
$tsz->Add( Wx::Button->new( $self, -1, "Button $i" ),
0, wxGROW|wxALL, 2 );
}
# add growable rows/columns
$tsz->AddGrowableCol( 1 );
$tsz->AddGrowableCol( 3 );
$tsz->AddGrowableRow( 2 );
# tell we want automatic layout
$self->SetAutoLayout( 1 );
$self->SetSizer( $tsz );
# size the window optimally and set its minimal size
$tsz->Fit( $self );
$tsz->SetSizeHints( $self );
return $self;
}
sub add_to_tags { qw(sizers) }
sub title { 'wxFlexGridSizer' }
1;