ulis, 2005-08-29. Un constructeur d'interface graphique : http://wfr.tcl.tk/fichiers/ulis/
CE QUE C'EST
C'est un package en pur Tcl qui permet de construire facilement l'interface graphique d'une application Tcl/Tk.
XUL et XAML permettent de construire une interface graphique en la décrivant dans un langage proche de XML, en y mêlant un langage de script puis en interprétant le tout.
cells fait la même chose en utilisant Tcl comme langage et comme interpréteur !
POURQUOI ?
La nécessité de ce package m'est apparue le jour où, ayant réalisé une application, j'ai eu besoin d'en faire une autre semblable et rapidement.
Je me suis alors rendu compte que si Tcl/Tk rendait la chose assez facile, il ne la rendait pas instantanée.
Le package cells réalisé, ce n'est toujours pas instantané, mais c'est bien plus rapide ! Et immédiatement réutilisable.
Exemple
Script de la première fenêtre à gauche :
set ::width 500 set ::height 320 proc width {n} { expr round($::width * $n) } proc height {n} { expr round($::height * $n) } cells create . \ { create cell f(2) -height [height 1] with f(0) \ { config +manager v -width [width 1.0/3] -bg red create cell c(2) -width [width 1.0/6] -height [height 1.0/4] config c(0) -bg gold config c(1) -bg green } with f(1) \ { config +manager p -width [width 2.0/3] -bg navy create cell c(8) -width [width 1.0/6] -height [height 1.0/4] config c(0) +anchor nw +relx 0.0 +rely 0.0 -bg green config c(1) +anchor ne +relx 1.0 +rely 0.0 -bg green config c(2) +anchor se +relx 1.0 +rely 1.0 -bg green config c(3) +anchor sw +relx 0.0 +rely 1.0 -bg green config c(4) +anchor center +relx 0.25 +rely 0.5 -bg gold config c(5) +anchor center +relx 0.75 +rely 0.5 -bg gold config c(6) +anchor center +relx 0.5 +rely 0.25 -bg gold config c(7) +anchor center +relx 0.5 +rely 0.75 -bg gold } }
Voir aussi
Discussion
ulis : suis intéressé si quelqu'un trouve le bazar intéressant. ou si quelqu'un a des idées pour l'améliorer.
Sarnold : j'ai utilisé cells avec bonheur pour le projet Tcl-Pkg[1]. J'ai fortement modifié le code source pour l'adapter à mes besoins (notamment fonctionner avec des widgets de la librairie BWidgets). Je me suis même permis le luxe de proposer à l'utilisateur deux modèles de taille de formulaire. Comme ça, l'application peut être utilisée dans différentes résolutions graphiques. Un grand merci à ulis pour ce modèle de simplicité. Pour faire mieux que ça, j'aurais dû utiliser [Visual Tcl] ou Komodo, ce que je ne me suis pas décidé à faire jusqu'à présent, à cause de la complexité associée.