XUL::Gui

Render cross platform GUI applications with Firefox from Perl
Download

XUL::Gui Ranking & Summary

Advertisement

  • Rating:
  • License:
  • Perl Artistic License
  • Price:
  • FREE
  • Publisher Name:
  • Eric Strom
  • Publisher web site:
  • http://search.cpan.org/~asg/

XUL::Gui Tags


XUL::Gui Description

Render cross platform GUI applications with Firefox from Perl XUL::Gui is a Perl module that exposes the entire functionality of Mozilla Firefox's rendering engine to Perl by providing all of the XUL and HTML tags as functions and allowing you to interact with those objects directly from perl. gui applications created with this toolkit are cross platform, fully support CSS styling, inherit firefox's rich assortment of web technologies (browser, canvas and video tags, flash and other plugins), and are even easier to write than HTML.this module is written in pure perl, and only depends upon core modules, making it easy to distribute your application.all XUL and HTML objects in perl are exact mirrors of their javascript counterparts and can be acted on as such. for anything not written in this document or XUL::Gui::Manual, developer.mozilla.com is the official source of documentation: * https://developer.mozilla.org/en/XUL * http://www.hevanet.com/acorbin/xul/top.xul - XUL periodic table * https://developer.mozilla.org/En/Documentation_hot_linksgui's created with this module are event driven. an arbitrarily complex (and runtime mutable) object tree is passed to display, which then creates the gui in firefox and starts the event loop. display will wait for and respond to events until the quit function is called, or the user closes the window.all of javascript's event handlers are available, and can be written in perl (normally) or javascript (for handlers that need to be very fast such as image rollovers with onmouseover or the like). this is not to say that perl side handlers are slow, but with rollovers and fast mouse movements, sometimes there is mild lag due to protocol overhead.the goal of this module is to make gui development as easy as possible. XUL's widgets and nested design structure gets us most of the way there, and this module with its light weight syntax, and 'do what i mean' nature hopefully finishes the job. everything has sensible defaults with minimal boilerplate, and nested design means a logical code flow that isn't littered with variables. please send feedback if you think anything could be improved.SYNOPSIS use XUL::Gui; display Label 'hello, world!'; # short enough? s/Label/P/ for bonus points use XUL::Gui; display Window title = > "XUL::Gui's long hello", GroupBox( Caption('XUL'), Button( label = > 'click me', oncommand = > sub {shift->label = 'ouch'} ), Button( id = > 'btn', label = >'automatic id registration', oncommand = > sub { $ID{btn}- >label = 'means no more variable clutter'; $ID{txt}- >value = 'and makes cross tag updates easy'; }), Button( type = > 'menu', label = > 'menu button', MenuPopup map {MenuItem label = > $_} qw/first second third/ ), TextBox( id = > 'txt', width = > 300 ), ProgressMeter( mode = > 'undetermined' ), ), GroupBox( Caption('HTML too'), TABLE( width = > '100%', TR map {TD $_} 'one', I('two'), B('three'), U('four'), SUP('five') ), BR, HR, P('all the HTML tags are in CAPS'), ); Requirements: · Perl


XUL::Gui Related Software