cells, the GUI maker

 

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.


Catégorie Applications