Areas | HTML Rendering, Web Development |
Good if student know | Tcl, Javascript, YUI |
Priority | high |
Difficulty | Medium |
Benefits to the student | High-quality knowledge of a TK window manager together with knowing how to do the same functionality using javascript in a browser |
Benefits to Tcl | Part of the client side of ATWF |
Mentor | Arnulf Wiedemann apw, comp.lang.tcl |
A generator for providing HTML parts of an HTML page for being able to produce grid managed rendering/layout using Javascript and YUI library, by supporting Javascript widgets within pages. This includes a Javascript event handler function being called when resizing a window for calculating the sizes of the grid cells in the grid rows and columns. There should be use of <div> tags and css style info for providing the the appropriate layout parts. There should be Javascript functions, which allow using the call syntax as in Tcl grid manager and there must be a function for putting the different parts to be placed in the grid cells into that structure. The generator will be used to produce layouts from data, which are stored in a database table in a tree structure with a meta syntax, which allows to either produce a TK layout for a TK client or a HTML layout for a "normal" web browser.
The goal of this project is different to the existing Grids CSS in yui in that in Grids CSS there are always fixed parts of the layout like partitions 1/2, 1/2 or 1/3, 1/3, 1/3 of the available size and for this project the parts should be more flexible and possibly extend over more then one row or column. The use of free space within a cell shall be driven by either using a default rule or by using the rules according to the sticky option. It is also desirable to have functions which can handle constructing the HTML parts which build the cell parts constructing the layout of the grid. Eventually these should dynamically generate the desired HTML DOM nodes on the fly when the information for the layout has been fetched from the server during rendering the page on the client. The generating of the layout could be done on the server side too.
An Alternative would be: to base that on ideas from wtk and use OpenGL ES as the low level base.
This could also be used in APWTCL