The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
#############################################################################
## Name:        lib/Wx/DemoModules/wxBannerWindow.pm
## Purpose:     wxPerl demo helper for Wx::BannerWindow
## Author:      Mark Dootson
## Created:     19/03/2012
## RCS-ID:      $Id: wxBannerWindow.pm 3229 2012-03-19 04:05:07Z mdootson $
## Copyright:   (c) 2012 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::wxBannerWindow;

use strict;
use Wx;
use base qw(Wx::Panel);
use Wx qw( :sizer :bitmap :id);
use Wx::Event;

our $VERSION = '0.01';

sub new {
    my( $class, $parent ) = @_;
    my $self = $class->SUPER::new( $parent,  wxID_ANY );
    
	#get our logo
	my $logo = Wx::Bitmap->new(
			Wx::Demo->get_data_file( qq(bannerwindow/demologo.png) ),
			wxBITMAP_TYPE_PNG );
	
	my $top = Wx::BannerWindow->new($self, wxTOP);
	$top->SetBitmap( $logo );
	
	my $left = Wx::BannerWindow->new($self, wxLEFT);
	$left->SetText('Welcome to the banner demo page!',
				   qq(This is a default wxLEFT banner with some text.\nThe banner on the top uses a bitmap.));
	
	my $right = Wx::BannerWindow->new($self, wxRIGHT);
	$right->SetText('Custom Banner', 'You can change the gradient colours');
	$right->SetGradient(Wx::Colour->new(127,127,127),
						Wx::Colour->new(255,255,255));
	
	my $bottom = Wx::BannerWindow->new($self, wxBOTTOM);
	$bottom->SetText('Too Many Banners', 'Perhaps you should only use one banner on a panel?');
	$bottom->SetGradient(Wx::Colour->new(255,255,255),
						 Wx::Colour->new(255,127,127));
	
    my $msizer = Wx::BoxSizer->new(wxHORIZONTAL);
	my $vsizer = Wx::BoxSizer->new(wxVERTICAL);
    $msizer->Add($left,0, wxALL|wxEXPAND, 0);
	
	$vsizer->Add($top,0, wxALL|wxEXPAND, 0);
	$vsizer->AddStretchSpacer(1);
	$vsizer->Add($bottom,0, wxALL|wxEXPAND, 0);
	
	$msizer->Add($vsizer, 1, wxLEFT|wxRIGHT|wxEXPAND, 5);
	$msizer->Add($right,0, wxALL|wxEXPAND, 0);
    $self->SetSizerAndFit($msizer);
	
    return $self;
}

sub add_to_tags { qw(new windows) }
sub title { 'wxBannerWindow' }


#Skip loading if no native wxTreeListCtrl
return defined(&Wx::BannerWindow::new);