def OnButton(self,evt): item = self.FindWindowById(evt.GetId());n = item.GetName(); #getName ou getLabelText [groupe,nom]=n.split('_'); if groupe=='Modele': groupe='Aquifere' #car toute donnes dans aqui retour = self.gui.control.valide(groupe,nom) if retour =='Stop' : return aqui=self.model.Aquifere ### AQUIFERE if nom=='GriVar': dic1=self.model.getParm(groupe,nom) dialg = MyDialogs.MyGriVarDialog(self,self.traduit(str(nom)),dic1) retour = dialg.ShowModal() if retour == wx.ID_OK: dic2 = dialg.GetValues(); self.model.setParm(groupe,nom,dic2) dialg.Destroy() elif nom=='zList': # liste des z de couches li1=self.model.getParm(groupe,nom) dialg = MyDialogs.MyListDialog(self,self.traduit(str(nom)),li1) retour = dialg.ShowModal() if retour == wx.ID_OK: li2 = dialg.GetValues() self.model.setParm(groupe,nom,li2) dialg.Destroy() elif nom=='Variable': s=str(item.GetStringSelection()) if s=='Tr_Source': s='Transport' if s=='PH_Source': s='PHT3D' self.currentVar = self.tradinverse(s); self.setVbase(groupe,item) # met vbase actuel sur bouton elif nom=='Milieux': self.currentMil=int(item.GetStringSelection()) #self.setVbase(groupe,item) elif nom=='ValBase': if self.currentVar==None: return mil = self.currentMil v = aqui.getVbase(self.currentVar,mil) u = ' ('+aqui.getUnits(self.currentVar)+')' if self.currentVar=='Mur' or (self.currentVar=='Toit' and int(mil)==0): dialg = MyDialogs.MyGenericCtrl(self,nom+u,[(self.currentVar,v)]) if dialg.ShowModal() == wx.ID_OK: lst2 = dialg.GetValues() if lst2 != None: v = lst2[0][1] aqui.setVbase(self.currentVar,v,[mil]) elif self.currentVar=='Toit' and int(mil)>0: return else : lst=[(self.currentVar,v)] if aqui.getDim()=='3D': lst.extend([('Milieu Haut',0),('Milieu Bas',0)]) dialg = MyDialogs.MyGenericCtrl(self,nom+u,lst) if dialg.ShowModal() == wx.ID_OK: lst2 = dialg.GetValues() if lst2 != None: v = lst2[0][1];llist=[self.currentMil] if aqui.getDim()=='3D': llist= range(lst2[1][1],lst2[2][1]+1) #range of media aqui.setVbase(self.currentVar,v,[int(l)for l in llist]) dialg.Destroy() but=self.FindWindowByName(groupe+'_ValBase') but.SetLabel(str(v)) #self.vbase.SetLabel(str(v)) elif nom=='Carte' : dlg = wx.FileDialog(self,self.traduit("Choisir une carte"),"","","*.png",wx.OPEN) retour = dlg.ShowModal() if retour == wx.ID_OK: path = dlg.GetPath() self.model.setMap(path) else : return dlg.Destroy() ### ECOULEMENT elif nom=='Particule': pName = self.model.getProjectName(); if pName=='': # pas de projet self.OnMessage('creez ou sauvez votre projet') return self.visu.startParticules(); self.startP = True; self.model.doAction('Top','zoneStart') ### Transport elif nom in ['Import','Write']: pass elif nom=='Chemistry': dic = self.model.getParm(groupe,nom) dialg = MyDialogs.MyNoteBook(self,"Chemistry",dic) retour = dialg.ShowModal() if retour == wx.ID_OK: dic2 = dialg.GetValues() if dic2 != None: self.model.setParm(groupe,nom,dic2) dialg.Destroy() elif nom=='PH_Source': nomv ='PHT3D';self.currentVar=nomv; self.visu.changeAxesOri('Z',self.currentMil) self.visu.showVar(nomv,self.currentMil) elif nom=='Immobile': dic = self.model.getParm(groupe,nom) dialg = MyDialogs.MyNoteBook(self,"Chemistry Immobile",dic) retour = dialg.ShowModal() if retour == wx.ID_OK: dic2 = dialg.GetValues() if dic2 != None: self.model.setParm(groupe,nom,dic2) dialg.Destroy() ### Observation elif nom=='ZoneO': nomv ='Observation';self.currentVar=nomv; self.visu.changeAxesOri('Z',self.currentMil) self.visu.showVar(nomv,self.currentMil) zlist=aqui.getZoneList(nomv);znames=[z.getNom() for z in zlist] self.gui.afficheTree.setNames('Observation_Zone_L',znames) ### GENERIQUES elif nom[:3]=='Run': pass else : lstDialg = self.model.getParm(groupe,nom) if lstDialg==None: return u = self.unitsForDialog(nom) dialg = MyDialogs.MyGenericCtrl(self,str(nom)+u,lstDialg) retour = dialg.ShowModal() if retour == wx.ID_OK: lst2 = dialg.GetValues() if lst2 != None: self.model.setParm(groupe,nom,lst2) dialg.Destroy() self.model.doAction(groupe,nom)