CGUI Source Page

Email: Christopher Lewis


This page contains the ECMAScript source for the CGUI toolkit. I will add examples and updated documentation as time permits. Please check back from time to time to look for updates. Feel free to contact me with questions or comments.

CGUI is now distributed under the LGPL. As I understand it, this means that you can use CGUI for whatever you want and your work will remain yours. If you modify/improve the CGUI source, please let me know so that I can add your changes to the toolkit; you will receive credit for your work.

Please note that the CGUI project was encorporated into the CSVGUI project and is now maintained via this sourceforge project.

About CGUI

The CGUI toolkit uses an object oriented ECMAScript library to create SVG based Custom GUI elements inside a web browser. These widgets can be embedded in an html document and viewed within the html, or the user can open the SVG document in their web browser and view the SVG directly.

CGUI was implemented with an object oriented hierarchy of primitives to facilitate the addition of new primitives and compound elements. In it's current state the toolkit allows: asynchronous client-server communication; data from the server to be added to the existing SVG document, and data in the GUI to be scaled and translated using controls in the GUI.

A very simple example of the toolkit is in the SVG Open paper "BioViz: Genome Viewer - Development of an SVG GUI for the visualization of genome data". The Genome Viewer described in the paper is available at Note: For either example to work you must have the plugin installed.

Chris Peto - - made some excellent extensions to the toolkit as part of his SVG Editor (see Examples below) including: Scroll Bars, and a Drop Down Menu. I've finally, after months and months worked Chris' extensions into the main CGUI distribution. Thanks Chris, and keep up the excellent work!


To view the following examples, the client must have version 3 of the Adobe SVG Plugin installed (though some of the newer examples work with ASV6 in Firefox.



Widget Examples



Getting the toolkit

cgui_source_nov_14.tar.gz Snapshot of source files for CGUI as a compressed tar file (Nov 14). Contains some new functionality since the (0_4_0) release, but I'm not certain it's all stable/correct so I'm making it available for those who want to try it but not making an official "release".
cgui_source_0_4_0.tar.gz The individual source files for CGUI as a compressed tar file.
cgui_lib.js.gz Can be included _as is_ in an SVG file to provide access to the toolkit
archive Find old versions of the toolkit here.

A Work in Progress