IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

R Discussion :

[RGTK2] mettre a jour un label à partir d'une fonction


Sujet :

R

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Mars 2004
    Messages
    66
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 66
    Par défaut [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 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...

  2. #2
    Membre éclairé
    Inscrit en
    Mars 2004
    Messages
    66
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 66
    Par défaut
    Up pour faire avancer le shmilblick.

    Dans le code exemple suivant je fait désormais appel à une procédure qui modifie l'objet comme je le souhaite ce qui est déjà pas mal...

    Code exemple : 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
    34
    35
    36
     
    #programme de test
    library(RGtk2)
    library(gWidgetsRGtk2)
    library(cairoDevice)
     
     
    majfenêtre<-function(valeurMaj,h){
    	valeurMaj<-valeurMaj*2
    	svalue(h)<-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,...) {
     
    					majfenêtre(svalue(comboIndiceRes),labelIndiceRes2)
     
    				}, 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
    }

    Le hic c'est que dans mon programme je souhaiterais passer à la fonction le parent ou le group plutôt que l'objet label lui-même, pensez-vous que cela est possible ?
    Un truc du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    majfenêtre(svalue(comboIndiceRes),ggroup1)
    Ou auriez-vous une piste pour mette à jour ou simplement connaitre les éléments d'un ggroup ?

Discussions similaires

  1. Réponses: 2
    Dernier message: 08/08/2008, 17h41
  2. mettre à jour un xml à partir d'une BD
    Par med_ellouze dans le forum Format d'échange (XML, JSON...)
    Réponses: 24
    Dernier message: 09/08/2007, 21h08
  3. [C#] mettre à jour ma bdd à partir d'une datatable
    Par rudhf dans le forum Windows Forms
    Réponses: 17
    Dernier message: 27/04/2006, 14h27
  4. Réponses: 4
    Dernier message: 16/09/2005, 14h49
  5. Réponses: 3
    Dernier message: 09/07/2004, 10h23

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo