[Scheme] GUI : tout intégrer dans un let ? des problèmes s'ensuivent..
GUI : tout intégrer dans un let ? des problèmes s'ensuivent.. [Scheme] - Divers - Programmation
MarshPosté le 03-05-2004 à 14:22:27
Salut,
je suis en train de réaliser un GUI en scheme : en gros je fais une fonction avec un let comme ci-dessous :
(define (lancer-app) (let ( (w (new frame% ... ...
(combo-box (new choice% ... (callback (lambda (o e) (send t set-value "test" ))))) (t (new text-field% (...)) ... )
comment faire pour que ça marche ? parce que la il dit lorsque l'on change la combo qu'il ne connait pas "t", le text-field du dessous... Le problème c'est que le text-field doit forcément être déclaré après la combo pour des raisons de positionnement... Dois-je donc abandonner ma fonction avec let et tout passer dans des define ? (define w (new frame% ...)) ?
merci ANT
PS : autres question moins importantes... - text-field% : comment ne pas faire un backspace quand on appuie sur Delete ? mais bel et bien un delete...
- comment traduire (define vec3 list) en macro ? pour l'instant j'ai fait ça mais c'est moins bon je trouve : (define-macro (vec3 x y z) (list 'list x y z)) j'aimerais pouvoir mettre autant de coord que je veux...
- voila comment je récupère la largeur & hauter d'un canva (let ... (c-width (let-values (((dc-w dc-h) (send canva get-client-size))) dc-w)) (c-height (let-values (((dc-w dc-h) (send canva get-client-size))) dc-h)) ...) on voit ici 2 fois le même appel, on peut améliorer ça ?
Marsh Posté le 03-05-2004 à 14:22:27
Salut,
je suis en train de réaliser un GUI en scheme : en gros je fais une fonction avec un
let comme ci-dessous :
(define (lancer-app)
(let (
(w (new frame% ...
...
(combo-box (new choice% ... (callback (lambda (o e) (send t set-value "test" )))))
(t (new text-field% (...))
...
)
comment faire pour que ça marche ? parce que la il dit lorsque l'on change la combo qu'il
ne connait pas "t", le text-field du dessous...
Le problème c'est que le text-field doit forcément être déclaré après la combo pour des
raisons de positionnement...
Dois-je donc abandonner ma fonction avec let et tout passer dans des define ?
(define w (new frame% ...)) ?
merci
ANT
PS : autres question moins importantes...
- text-field% : comment ne pas faire un backspace quand on appuie sur Delete ? mais bel et bien un delete...
- comment traduire (define vec3 list) en macro ?
pour l'instant j'ai fait ça mais c'est moins bon je trouve :
(define-macro (vec3 x y z) (list 'list x y z))
j'aimerais pouvoir mettre autant de coord que je veux...
- voila comment je récupère la largeur & hauter d'un canva
(let ...
(c-width (let-values (((dc-w dc-h) (send canva get-client-size)))
dc-w))
(c-height (let-values (((dc-w dc-h) (send canva get-client-size)))
dc-h))
...)
on voit ici 2 fois le même appel, on peut améliorer ça ?