TkXML

Homepage | Source Code | Mailing List

<img src=“http://travis-ci.org/rubyworks/tkxml.png” />

DESCRIPTION

An XML markup language for generating Tk user-interfaces. It was inspired by GTK’s glade format. The TkXML format defines a very simple one-to-one correlation to the Ruby Tk API.

SYNOPSIS

Here’s an example.xml TkXML file:

<Tk:Root name="test" title="Test">
  <Tk:Frame name="menuframe">
    <Tk:Menubutton name="filebutton" text="File" underline="0">
      <Tk:Menu name="filemenu" tearoff="false">
        <Tk:_add _1="command" label="Open" underline="0" accel="Ctrl+O" command="openDocument" />
        <Tk:_add _1="command" label="Exit" underline="0" accel="Ctrl+Q" command="exitApplication" />
      </Tk:Menu>
      <Tk:_pack side="left" />
    </Tk:Menubutton>
    <Tk:_pack side="left" />
  </Tk:Frame>
  <Tk:_bind _1="Control-o" _2="openDocument" />
  <Tk:_bind _1="Control-q" _2="exitApplication" />
</Tk:Root>

To use the library:

require 'tkxml'

tkxml = TkXML.new(File.read('example.xml'))
tkxml.build

STATUS

At this point, TkXML is little more than an interesting experiment in encoding GUIs via markup. But it may well have the potential of becoming a productive tool if someone were inclined to further it’s development.

HISTORY

An interesting side note. TkXML is the oldest bit of redistributed Ruby code your humble author had ever writ.

COPYRIGHTS

Copyright © 2002 Rubyworks

TkXML is distributable in accordance with the BSD-2-Clause license.

See NOTICE.rdoc for details.