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 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 : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
svalue(labelIndiceRes2)<-majfenêtre(svalue(comboIndiceRes))
que je puisse faire appel à une fonction qui ressemble à ceci
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
majfenêtre(valeurMaj,Objetàmodifier)

Code exemple à modifier : Sélectionner tout - Visualiser dans une fenêtre à part
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...