Modern wx perl

33
Modern WxPerl Modern WxPerl ?

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

Page 1: Modern wx perl

Modern WxPerlModern WxPerl

?

Page 2: Modern wx perl

Herbert Breunung

Page 3: Modern wx perl

Psy Ops

Page 4: Modern wx perl

I'm not chromatic

Page 5: Modern wx perl
Page 6: Modern wx perl
Page 7: Modern wx perl
Page 8: Modern wx perl

New ModulesNew Modules

Tie::Wx::Widget

Page 9: Modern wx perl

New ModulesNew Modules

Tie::Wx::???

Page 10: Modern wx perl

New ModulesNew Modules

GCL::Wx

Page 11: Modern wx perl

New ModulesNew Modules

GCL::Wx ???

Page 12: Modern wx perl

G C L

Page 13: Modern wx perl

Gui

Composition

Language

Page 14: Modern wx perl

Gui Composition Lang

Rebol

Prima

FreeTuit

Page 15: Modern wx perl

Gui Composition Lang

GCL::Wx

Page 16: Modern wx perl

Minimal Wx ProgramMinimal Wx Program

Page 17: Modern wx perl

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;

Page 18: Modern wx perl

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;

Page 19: Modern wx perl

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;

Page 20: Modern wx perl

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;

Page 21: Modern wx perl

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

Page 22: Modern wx perl

Gui Composition LangGui Composition Lang

● joy 2 GUI programming

Page 23: Modern wx perl

Gui Composition LangGui Composition Lang

● joy 2 GUI programming(less syntax)

Page 24: Modern wx perl

Gui Composition LangGui Composition Lang

● joy 2 GUI programming● no tech clutter

Page 25: Modern wx perl

Gui Composition LangGui Composition Lang

● joy 2 GUI programming● no tech clutter

(apps, file formats, tools)

Page 26: Modern wx perl

Gui Composition LangGui Composition Lang

● joy 2 GUI programming● no tech barrier

(apps, file formats, tools)

Page 27: Modern wx perl

Gui Composition LangGui Composition Lang

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

Page 28: Modern wx perl

Gui Composition LangGui Composition Lang

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

Page 29: Modern wx perl

Gui Composition LangGui Composition Lang

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

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

Page 30: Modern wx perl

Gui Composition LangGui Composition Lang

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

● new and outstanding

Page 31: Modern wx perl

Gui Composition LangGui Composition Lang

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

● new and outstanding(Perl is cool)

Page 32: Modern wx perl

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

● new and outstanding

Gui Composition LangGui Composition Lang

Page 33: Modern wx perl

Modern WxPerlModern WxPerl

Thank You