This package mainly provides a procedure called layout.
layout is ment to help creating layout really fast. In my opinion is much easier to create a layout w/ layout than w/ any graphical tool.
It does not superceeds traditional managers (grid and pack), uses them but provides a "language" or formalism -that I believe is very intuitive- to suggest how we want them displayed.
The main idea is to have a way to compose the layout that be
Practically layout reads a variable where widgets are represented throught strings composed by a qualifier and a name:
e=uno e2=due
will end up in an entry (qualifier e) w/ "-textvar uno" and a composed
widget w/ an entry+label (qualifier e2), the label will have "-text due" and
the entry "-textvar due". If layout was called w/ opt "-arr A", all
variables would be interpreted ar names of array A (A(uno) A(due)).
This is the code that generated the window in the first image
set lay {
first_name last_name
address -
ph fax
}
sd::layout $lay -top -grid
This is the code that generated the window on the right
set lay {
#- Day
goto_day/beg - -
#- View
r=1d/view r=2d/view r=4d/view
r=w/view r=m/view r=y/view
#- Shift ahead
r=period/shift r=double_period/shift r=day/shift
r=week/shift r=month/shift r=year/shift
#- Shift back
r=_period/shift r=_double_period/shift r=_day/shift
r=_week/shift r=_month/shift r=_year/shift
}
sd::layout $lay -top -grid -arr Cal -side left -frame
If this can be of any interest to you please go on looking at the examples in the demo section of the distribution.
Please, visit also the page on tkspy a powerfull debugger and tksql A GUI to edit postgrSQL tables
Download here