README (2991B)
1 # webglade: JavaScript library to dynamically create XUL GUI from Glade XML files 2 3 webglade is a JavaScript library to dynamically 4 create <a href="http://www.mozilla.org/projects/xul/">XUL</a> GUI from 5 <a href="http://glade.gnome.org/">Glade</a> XML files. It is a Rapid 6 Application Development tool for developing Rich Internet 7 Applications. 8 9 ## Download 10 11 The latest webglade tarball release can be 12 downloaded <a href="webglade.tar.gz">here</a>. 13 14 ## Examples 15 16 <a href="//logand.com/sw/webglade/hw/">hw</a> is a minimal 'hello 17 world' example. 18 Open <a href="//logand.com/sw/webglade/hw/hw.xul">hw.xul</a> to see it 19 in action. 20 21 <a href="//logand.com/sw/webglade/hw2/">hw2</a> is another trivial 22 example. 23 Open <a href="//logand.com/sw/webglade/hw2/hw2.xul">hw2.xul</a> to see 24 it in action. 25 26 <a href="//logand.com/sw/webglade/htv3/">htv3</a> shows simple 27 callback handler. 28 Open <a href="//logand.com/sw/webglade/htv3/htv3.xul">htv3.xul</a> to 29 see it in action. 30 31 <a href="//logand.com/sw/webglade/mab/">mab</a> is an example based on 32 the excellent <a href="http://www.faser.net/mab/">MAB</a> (Mozilla 33 Amazon Browser). 34 Open <a href="//logand.com/sw/webglade/mab/xul/mab.xul">mab.xul</a> to 35 see it in action. The XUL part of MAB is replaced by a Glade XML 36 file. Unfortunately, MAB has been discontinued since Amazon changed 37 their web service so this example always shows the same data. 38 39 ## Usage 40 41 - Create user interface using Glade UI designer. 42 43 - Write your JavaScript application and Glade/XUL initialization code. 44 45 - Create a XUL file which loads all necessary JavaScript files, sets 46 up CSS style and calls your initialization function. 47 48 - Open your XUL file in a XUL enabled web browser. 49 50 See <a href="//logand.com/sw/webglade/hw/">hw</a> for a simple 'hello 51 world' application. 52 Open <a href="http://logand.com/sw/webglade/hw/hw.xul">hw.xul</a> file 53 to run it in your web browser. Note that JavaScript must be enabled. 54 55 ## Goals 56 57 - Load Glade XML file(s) containing description of (Gtk) widgets into 58 a XUL enabled web browser and create similar XUL widgets. 59 60 - Connect callbacks specified in the Glade XML file(s) to user's 61 JavaScript code. 62 63 Allow users to implement and use their own custom widgets. 64 65 ## Why XUL? 66 67 Ideally, webglade would support all web browsers with DOM scripting, 68 DHTML and AJAX. There are many web toolkits webglade could use for 69 backend. However, after experimenting with HTML, XUL and XAML, I 70 settled for XUL which works best and requires little involvement with 71 a specific web toolkit. 72 73 ## Development 74 75 The code was written 76 using <a href="http://common-lisp.net/project/parenscript/">ParenScript</a> 77 and compiled to JavaScript using 78 Emacs <a href="//logand.com/repo/ls-mode/">ls-mode</a>. 79 80 ## License 81 82 webglade is licensed under the terms of the GPL license. Details are 83 contained within 84 the <a href="//logand.com/sw/webglade/COPYING">COPYING</a> file, 85 included with the distribution. 86 87 ## Feedback 88 89 Please send <a href="../../contact.html">me</a> an email.