#!/usr/bin/perl -w

# Copyright (C) 2003 by the gtk2-perl team (see the file AUTHORS for the full
# list)
# 
# This library is free software; you can redistribute it and/or modify it under
# the terms of the GNU Library General Public License as published by the Free
# Software Foundation; either version 2.1 of the License, or (at your option)
# any later version.
# 
# This library is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
# FOR A PARTICULAR PURPOSE.  See the GNU Library General Public License for
# more details.
# 
# You should have received a copy of the GNU Library General Public License
# along with this library; if not, write to the Free Software Foundation, Inc.,
# 59 Temple Place - Suite 330, Boston, MA  02111-1307  USA.
#
# $Header: /cvsroot/gtk2-perl/gtk2-perl-xs/Gtk2/examples/layout.pl,v 1.6 2004/01/25 06:52:01 muppetman Exp $
#

use strict;
use Gtk2;
use Glib ':constants';

# Initialize GTK
Gtk2->init;

my $window = Gtk2::Window->new("toplevel");
$window->set_title("Damnit");
$window->set_default_size(640,480);

my $scwin = Gtk2::ScrolledWindow->new(undef, undef);
$scwin->set_policy('automatic', 'automatic');
$window->add($scwin);

$window->signal_connect( "destroy" => sub {
		Gtk2->main_quit;
	});

$window->set_border_width(10);

my $layout = Gtk2::Layout->new(undef,undef);
$layout->set_size(640, 480);
$scwin->add($layout);

my $btn = Gtk2::Button->new_from_stock("gtk-quit");
$btn->set_size_request(100, 50);
$layout->put($btn, 100, 120);
my $i = 1;
$btn->signal_connect( 'enter' => sub {
		if( $i > 14 )
		{
			$_[0]->set_label("Ok, Fine Then.");
			$_[0]->signal_connect( "clicked" => sub {
					Gtk2->main_quit;
				});
			return 1;
		}
		elsif( $i > 9 )
		{
			$_[0]->set_label("Quit Already!");
		}
		elsif( $i > 4 )
		{
			$_[0]->set_label("Perhaps, X");
		}
		elsif( $i > 0 )
		{
			$_[0]->set_label("Ha-Ha");
		}
		$_[1][1]->move($_[0], rand(520), rand(410));
		$i++;
		1;
	}, [ $window, $layout ]  );

$window->show_all;


# Enter the event loop
Gtk2->main;

exit 0;
