Version 0 of XML_Wrapper

Updated 2011-11-02 23:49:01 by Siqsuruq

Hi, as part of our software we created xml_wrapper package which allow you creating Tk forms on the fly from xml file.

For example, this xml file will produce form:

<?xml version="1.0" encoding="UTF-8"?>
<form>
        <container type="frame" pos="hor" expand="no">
                <line></line>
                <label>Test Form</label>
                <line></line>
        </container>
        <container type="frame" pos="hor" expand="yes">
                <container type="frame" pos="ver" expand="yes">
                        <container type="frame" pos="hor" expand="yes">
                                <entry lsize="20" esize="50" var="e1" mandatory="1">Mandatory Entry</entry>
                                <entry lsize="20" esize="50" var="e2">Normal Entry</entry>
                                <entry lsize="20" esize="50" var="e3" state="disabled">Disabled Entry</entry>
                                <entry lsize="20" esize="30" var="e4" mask="integer">Only Number Entry</entry>
                                <line></line>
                                <dropdown lsize="20" esize="30" var="dd1" vtype="list" values="value1 value2 {value with space 3}">DropDown from List</dropdown>
                                <dropdown lsize="20" esize="30" var="dd2" vtype="table" values="client name">DropDown from DBTable</dropdown>
                                <dropdown lsize="20" esize="30" var="dd3" vtype="func" values="return_list">DropDown from Function</dropdown>
                                <line></line>
                                <file lsize="20" esize="30" var="f1">Select File</file>
                                <file lsize="20" esize="30" var="f2" img="black folder.png">Select File Custom Icon</file>
                                <date lsize="20" esize="30" var="date1">Date widget</date>
                                <date lsize="20" esize="30" var="date2" img="black calendar.png">Date Widget Custom Icon</date>
                                <text lsize="20" esize="60" height="4" var="tb1">Text Widget</text>
                                <line></line>
                                <spinbox lsize="20" esize="5" var="sb" min="0" max="100">SpinBox Widget</spinbox>
                                <label_button lsize="20" width="20" btext="Click me" cmd="print_user">Labeled Button Widget</label_button>
                                <label_button lsize="20" img="add.png" cmd="">Labeled Button Widget with image</label_button>
                                <table var="user" headers='"ID" "Username" "Password"' type="table">daidze_user</table>
                        </container>
                </container>
                <container type="frame" pos="ver" expand="yes">
                        <container type="labelframe" pos="hor" expand="yes" label="Labeled frame">
                                <image var="no_img.png" lsize="15" type="file" framed="yes">Foto</image>
                                <image var="small.png" lsize="15" type="file">Foto</image>
                                <line></line>
                                <bool lsize="20" var="b1">Boolean Widget</bool>
                        </container>
                </container>
        </container>                        
                        <container type="frame" pos="ver" expand="yes">
                                <line></line>
                                <button img="accept.png" cmd="::xml_wrapper::get_values">Accept</button>
                                <button img="delete.png" cmd="::xml_wrapper::clear_values">Clear</button>
                        </container>
</form>

http://www.daidze.org/Widgets.png

I'm working on adding more widgets, user access rights etc. If somebody interested in such package, just mail me. Tables, dropdowns can get data from PostgreSQL DataBase, function etc.