README

GTK::Simpler

This module provides a simpler API for GTK::Simple. The idea here is to load GTK::Simple widgets lazily at runtime and type less characters. For example instead of writing the following:

# This is slow since it will load a lot of GTK::Simple widgets by default
use GTK::Simple;

my $app = GTK::Simple::App.new(title => "Hello");

you write the more concise shorter form:

# Exports a bunch of subroutines by default
use GTK::Simpler;

# GTK::Simple::App is loaded and created only here
my $app = app(title => "Hello");

Example

use v6;
use GTK::Simpler;

my $app = app(title => "Hello GTK!");

$app.set-content(
    vbox(
        my $first-button  = button(label => "Hello World!"),
        my $second-button = button(label => "Goodbye!")
    )
);

$app.border-width        = 20;
$second-button.sensitive = False;

$first-button.clicked.tap({
    .sensitive = False;
    $second-button.sensitive = True
});

$second-button.clicked.tap({
    $app.exit;
});

$app.run;

For more examples, please see the examples folder.

Documentation

Please see the GTK::Simpler generated documentation.

Installation

Please check GTK::Simple prerequisites section for more information.

To install it using zef (a module management tool bundled with Rakudo Star):

$ zef install GTK::Simpler

Testing

  • To run tests:

$ prove -e "perl6 -Ilib"
  • To run all tests including author tests (Please make sure Test::Meta is installed):

$ zef install Test::META
$ AUTHOR_TESTING=1 prove -ve "perl6 -Ilib"

Author

Ahmad M. Zawawi, azawawi on #perl6

License

MIT License

The Camelia image is copyright 2009 by Larry Wall. "Raku" is trademark of the Yet Another Society. All rights reserved.