Modern wx perl

Post on 11-Jun-2015

556 views 3 download

Tags:

description

proposal for the GCL = Gui Composition Language to significantly simplify building surface of programs and maybe unifiy the API.

Transcript of Modern wx perl

Modern WxPerlModern WxPerl

?

Herbert Breunung

Psy Ops

I'm not chromatic

New ModulesNew Modules

Tie::Wx::Widget

New ModulesNew Modules

Tie::Wx::???

New ModulesNew Modules

GCL::Wx

New ModulesNew Modules

GCL::Wx ???

G C L

Gui

Composition

Language

Gui Composition Lang

Rebol

Prima

FreeTuit

Gui Composition Lang

GCL::Wx

Minimal Wx ProgramMinimal Wx Program

package SimpleApp;our @ISA = 'Wx::App';use Wx;

sub OnInit { my $app = shift; my $frame = Wx::Frame->new ( undef, -1, " Topic "); $frame->Center; $frame->Show(1); $app->SetTopWindow($frame); 1;}

package main;SimpleApp->new->MainLoop;

package SimpleApp;our @ISA = 'Wx::App';use Wx;

sub OnInit { my $app = shift; my $frame = Wx::Frame->new ( undef, -1, " Topic "); my $text = Wx::StaticText->new( $frame, -1, 'This is the Text'); $text->SetForegroundColour( Wx::Colour->new(0, 0, 255) );

my $sizer = Wx::BoxSizer->new( &Wx::wxHORIZONTAL ); $sizer->Add( $text, 1, &Wx::wxGROW | &Wx::wxALL, 5); $frame->SetSizer($sizer); $frame->Fit(); $frame->Center; $frame->Show(1); $app->SetTopWindow($frame); 1;}

package main;SimpleApp->new->MainLoop;

package SimpleApp;our @ISA = 'Wx::App';use Wx;

sub OnInit { my $app = shift; my $frame = Wx::Frame->new ( undef, -1, " Topic "); my $panel = Wx::Panel->new($frame); my $text = Wx::StaticText->new( $panel, -1, 'This is the Text'); $text->SetForegroundColour( Wx::Colour->new( 0, 0, 255) );

my $sizer = Wx::BoxSizer->new( &Wx::wxHORIZONTAL ); $sizer->Add( $text, 1, &Wx::wxGROW | &Wx::wxALL, 5 ); my $psizer = Wx::BoxSizer->new( &Wx::wxHORIZONTAL ); $psizer->Add( $panel, 1, &Wx::wxGROW | &Wx::wxALL); $frame->SetSizer($psizer); $frame->Fit(); $frame->Center; $frame->Show(1); $app->SetTopWindow($frame); 1;}

package main;SimpleApp->new->MainLoop;

package SimpleApp;our @ISA = 'Wx::App';use GCL::Wx;

sub OnInit { GCL::Wx::Frame ( text, 'This is the Text', blue )->Show;

1;}

package main;SimpleApp->new->MainLoop;

my $frame = GCL::Wx::frame ( title "topic", text "mytext" blue, line 2px, row ( button "OK", button "Cancel" ),);

Gui Composition LangGui Composition Lang

● joy 2 GUI programming

Gui Composition LangGui Composition Lang

● joy 2 GUI programming(less syntax)

Gui Composition LangGui Composition Lang

● joy 2 GUI programming● no tech clutter

Gui Composition LangGui Composition Lang

● joy 2 GUI programming● no tech clutter

(apps, file formats, tools)

Gui Composition LangGui Composition Lang

● joy 2 GUI programming● no tech barrier

(apps, file formats, tools)

Gui Composition LangGui Composition Lang

● joy 2 GUI programming● no tech barrier(optional MVC)

Gui Composition LangGui Composition Lang

● joy 2 GUI programming● no tech clutter● unifying API

Gui Composition LangGui Composition Lang

● joy 2 GUI programming● no tech clutter● unifying API

(Wx, Gtk, Tk, Prima, Perl 6)

Gui Composition LangGui Composition Lang

● joy 2 GUI programming● no tech clutter● unifying API

● new and outstanding

Gui Composition LangGui Composition Lang

● joy 2 GUI programming● no tech clutter● unifying API

● new and outstanding(Perl is cool)

● joy 2 GUI programming● no tech clutter● unifying API

● new and outstanding

Gui Composition LangGui Composition Lang

Modern WxPerlModern WxPerl

Thank You