def OnHisto(self, evt): """dialogue pour rentrer un historique sur une zone""" z = self.currentZone if z == None: return li0 = [] if z.getForme() != 4 and type(z.getVal()) == type([5, 6]): li0 = z.getVal() # ne pas prendre polyV dialg = MyDialogs.MyListDialog(self, self.traduit('Historique Zone'), li0) retour = dialg.ShowModal() if retour == wx.ID_OK: li1 = dialg.GetStrings() z.setVal(li1) self.aquifere.createZoneTransient() else: return dialg.Destroy() self.visu.modifValZone(self.currentVar, self.izone, li1)
def OnMt3dmsOpt(self,evt): """allow to set some mt3dms parameters""" lst = self.model.getParm('Transport','options');print lst dlg = MyDialogs.MyGenericCtrl(self.gui,'Mt3dms options',lst) retour = dlg.ShowModal(); if retour == wx.ID_OK: lst2 = dlg.GetValues() dlg.Destroy() if lst2[0][1][0]=='multiple': if type(lst[1][1])==type((5,6)): lstin=lst[1][1]*1 else : lstin=['all '+str(lst[1][1])] dlg=MyDialogs.MyListDialog(self.gui,'multiple diffusion',lstin) retour = dlg.ShowModal(); if retour == wx.ID_OK: lstout=dlg.GetStrings() lst2[1]=('Diffusion coeff (m2/s)',tuple(lstout)) print lst2 self.model.setParm('Transport','options',lst2) dlg.Destroy()
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)