[RGTK2] mettre a jour un label à partir d'une fonction
Bonjour,
C'est la première fois que j'interviens sur le forum R
Je suis en train de développer une interface graphique en R en utilisant le package "gwidgetRGTK2" que j'apprends sur le tas :-(
J'ai un soucis : je souhaite, pour ne pas multiplier du code inutile, créer une procédure /fonction à part qui mette à jour ma fenêtre afin d'y faire appel à différents endroits.
J'ai créé un exemple très simplifié "code exemple" pour mieux comprendre mon besoin.
Si j'arrive ou plutôt vous :P arrivez à le modifier comme voulu alors j'aurais gagné un temps précieux et de la lisibilité dans mon code.
La modification voulu est qu'au lieu d'intégrer le code suivant sur mon évènement clik boutton dans l'interface
Code:
1 2
|
svalue(labelIndiceRes2)<-majfenêtre(svalue(comboIndiceRes)) |
que je puisse faire appel à une fonction qui ressemble à ceci
Code:
1 2
|
majfenêtre(valeurMaj,Objetàmodifier) |
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
|
#programme de test
library(RGtk2)
library(gWidgetsRGtk2)
library(cairoDevice)
majfenêtre<-function(valeurMaj){
valeurMaj<-valeurMaj*2
return (valeurMaj)
}
Gui<-function() {
cstlstIndice <-c(1,2,3,4,5)
mainWin1<-gwindow("Test1") #création fenêtre générale
mainGroup1<-ggroup(horizontal = FALSE, container=mainWin1) # création group générale
mainNoteBook1 <- gnotebook(container = mainGroup1, expand = TRUE) # NoteBook
# début groupe gGroup1
gGroup1<-ggroup(horizontal=FALSE, container=mainNoteBook1, label="Validation tests")
bPassTovalidation<-gbutton("indice selectionné multiplié par 2", handler = function(h,...) {
# code à modifier pour faire appel à une procédure
svalue(labelIndiceRes2)<-majfenêtre(svalue(comboIndiceRes))
}, container=gGroup1, toolkit=guiToolkit() )
labelIndiceRes2 <- glabel("NA", container=gGroup1)
# fin groupe gGroup1
# début groupe gGroup2
gGroup2<-ggroup(horizontal=FALSE, container=mainNoteBook1, label="Validation tests")
labelIndiceRes <- glabel("valeur: ", container=gGroup2)
comboIndiceRes <- gcombobox(cstlstIndice,selected = 3, container=gGroup2)
# fin groupe gGroup2
} |
Je pense qu'il me manque une notion peut-être sur les handler mais je ne trouve pas :-(
Merci à tout ceux qui se pencheront sur ce problème...