Topics | Slides | Related Links and Readings |
1. UI software architecture | ![]() ![]() |
|
2. Window systems | ![]() ![]() |
Introduction to the X Window System, Oliver Jones, Englewood Cliffs, NJ: Prentice Hall, 1989, www.x.org, Linux window managers |
3. Widget Layout | ![]() ![]() |
|
4. Input Models (event-driven pgm) | ![]() ![]() |
|
5. UI builders |
![]() ![]() |
vtcl, specTcl |
6. State Machines | ![]() ![]() |
A Tcl package |
7. Animation | ![]() ![]() |
tooltips, a progress bar, Animation in Tcl, Timers in Java |
8. 2D graphics | ![]() ![]() |
2D graphics in Java |
9. Constraints | ![]() |
Converting an Existing User Interface to Use Constraints |
10. multi-user applications | ![]() ![]() |
|
11. UI design | Nielsen's heuristics |
|
Slides | Tcl/Tk Examples from Welch's book |
introduction: Tcl/Tk | ![]() ![]() |
chapter 1 |
Tcl: syntax, arrays, expressions,
lists, strings, regexps, control structures, procedures, errors, file handling, network i/o, runtime info, debugging tcl/tk. |
![]() ![]() |
chap. 1, 2, 5 (lists)
Control struct: chap. 6: foreach(6-11) Arrays :chapt. 8 upvar: chap 7-5, 6 Control struct: chap. 6: foreach(6-11) file handling: chap. 9 (error handling: 9-5) procedures:chap. 7 |
Widgets:
hierarchy, commands, attributes, Geometry management: the placer, packer, the grid Event based programming: bindings, variables/callbacks, misc. commands |
![]() ![]() |
runtime info:chap. 13
widget attributes: chap. 34 packer: chap. 20 grid: chap. 21, bindings: chap. 23, focus, grab, dialogs: chap. 33 listboxes: chap. 29 |
More widgets:
listboxes, images, cursors, tags 2D graphics interactive programming: tags, the canvas widget: drawing basic shapes, bindings on tags |
![]() ![]() |
images: 35- 3, 4,5
cursors: 35-6 (full list in cursorfont.h) chap 30-2 Grid and Text: 21- 2, 10 Canvas: Chap. 31: 1 Canvas: Chap. 31: 1,2,5,6, 9,10,11 Canvas mouse drawing: 31-8, 11 Menus: 24-6, 24-7 Canvas selection 32-4, 5 |
Multi process and asyncronous commands:
The send, after and update command, animation |
tooltips (balloons), |
|
Tcl and C | ![]() ![]() |
C: random example with handler
shared variables: see manpage for Tcl_LinkVar |
1. exercise 1: due on october 21st - 10%.
2. exercise 2: due on November 3rd. - 10%
3. exercise 3: due on November 24th. - 15%
4. exercise 4: due on December 8th. -10%
5. exercise 5: due on December 30th - 30%
6. exercise 6: optional, due on January 19th
- 25%