Package medite :: Package GUI :: Module FormulairesMenuDossiers
[hide private]
[frames] | no frames]

Source Code for Module medite.GUI.FormulairesMenuDossiers

  1  # -*- coding: iso-8859-1 -*- 
  2  # Copyright 20003 - 2008: Julien Bourdaillet (julien.bourdaillet@lip6.fr), Jean-Gabriel Ganascia (jean-gabriel.ganascia@lip6.fr) 
  3  # This file is part of MEDITE. 
  4  # 
  5  #    MEDITE is free software; you can redistribute it and/or modify 
  6  #    it under the terms of the GNU General Public License as published by 
  7  #    the Free Software Foundation; either version 2 of the License, or 
  8  #    (at your option) any later version. 
  9  # 
 10  #    MEDITE is distributed in the hope that it will be useful, 
 11  #    but WITHOUT ANY WARRANTY; without even the implied warranty of 
 12  #    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the 
 13  #    GNU General Public License for more details. 
 14  # 
 15  #    You should have received a copy of the GNU General Public License 
 16  #    along with Foobar; if not, write to the Free Software 
 17  #    Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA 
 18  #---------------------------------------------------------------------------- 
 19  # Nom:          FormulairesMenuDossiers.py 
 20  # Objet:        Ce fichier regroupe les differentes classes de formulaire 
 21  #               concernant le menu Dossiers 
 22  #---------------------------------------------------------------------------- 
 23   
 24  #from wxPython.wx import * 
 25  import wx 
 26  import Controleurs.DGManager 
 27  from Utile.constantesGUI import * 
 28  from Utile.exceptionsDonnees import * 
 29   
 30  #--------------------------------------------------------------------------------------------------# 
 31  # Classe qui permet d'enregistrer un nouvel auteur dans la base 
32 -class FormAuteur(wx.Frame):
33 - def __init__(self, parent, id):
34 wx.Frame.__init__(self, parent, id,"Enregistrement d'un nouvel auteur",pos = wx.Point(200,200) 35 ,size = (290,200), 36 style=wx.DEFAULT_FRAME_STYLE|wx.NO_FULL_REPAINT_ON_RESIZE|wx.FRAME_FLOAT_ON_PARENT) 37 self.fenetreMedite=parent 38 panelAuteur=wx.Panel(self,-1) 39 40 textNom=wx.StaticText(panelAuteur,-1,"Nom : ",wx.Point(15,12)) 41 self.ctrlNom=wx.TextCtrl(panelAuteur,-1,"",wx.Point(140,10),size=(125,-1)) 42 self.ctrlNom.SetInsertionPoint(0) 43 44 textPrenom=wx.StaticText(panelAuteur,-1,u"Pr\xe9nom : ",wx.Point(15,42)) 45 self.ctrlPrenom=wx.TextCtrl(panelAuteur,-1,"",wx.Point(140,40),size=(125,-1)) 46 self.ctrlPrenom.SetInsertionPoint(0) 47 48 textNaissance=wx.StaticText(panelAuteur,-1,"Date de Naissance : ",wx.Point(15,72)) 49 self.ctrlNaissance=wx.TextCtrl(panelAuteur,-1,"",wx.Point(140,70),size=(125,-1)) 50 self.ctrlNaissance.SetInsertionPoint(0) 51 52 textDeces=wx.StaticText(panelAuteur,-1,u"Date de D\xe9c\xe8s : ",wx.Point(15,102)) 53 self.ctrlDeces=wx.TextCtrl(panelAuteur,-1,"",wx.Point(140,100),size=(125,-1)) 54 self.ctrlDeces.SetInsertionPoint(0) 55 56 bValider = wx.Button(panelAuteur, ID_OK, "Valider", wx.Point(50, 140)) 57 wx.EVT_BUTTON(self, ID_OK, self.onValider) 58 59 bAnnuler = wx.Button(panelAuteur, ID_ANNULER, "Annuler", wx.Point(150, 140)) 60 wx.EVT_BUTTON(self, ID_ANNULER, self.onAnnuler)
61
62 - def onValider(self,event):
63 if self.ctrlNom.GetValue() =='': 64 dlg=wx.MessageDialog(self, u'Vous devez remplir obigatoirement le champ "Nom" !',"Attention",wx.OK) 65 dlg.ShowModal() 66 dlg.Destroy() 67 else : 68 try: 69 dgm = Controleurs.DGManager.DGManager() 70 auteur = Controleurs.DGManager.Auteur(self.ctrlNom.GetValue(),self.ctrlPrenom.GetValue(),self.ctrlNaissance.GetValue(),self.ctrlDeces.GetValue()) 71 dgm.addAuteur(auteur) 72 #self.fenetreMedite.cdon.addAuteur(self.ctrlNom.GetValue(),self.ctrlPrenom.GetValue(),self.ctrlNaissance.GetValue(),self.ctrlDeces.GetValue()) 73 74 except AuteurDejaExistant, eADE: 75 #dlg=wx.MessageDialog(self,u"Cet auteur existe d\xe9jà \nVoulez-vous le modifier ?","Attention",wx.YES_NO) 76 #if dlg.ShowModal()== wx.ID_YES: 77 # formModifAuteur=FormModifierAuteur(self.fenetreMedite, eADE.getAuteur()) 78 # formModifAuteur.Show(True) 79 #dlg.Destroy() 80 pass 81 self.Close()
82
83 - def onAnnuler(self,event):
84 self.Close()
85 86 #Classe qui cree un formulaire de recupere le prenom, la date de naisasnce et deces 87 #et appelle CDonnees pour le modifier dans donnees
88 -class FormModifierAuteur(wx.Frame):
89 - def __init__(self, parent, auteurOld):
90 wx.Frame.__init__(self, parent, -1,"Modifier un auteur",pos = wx.Point(200,200), 91 size = (290,200), 92 style=wx.DEFAULT_FRAME_STYLE|wx.NO_FULL_REPAINT_ON_RESIZE|wx.FRAME_FLOAT_ON_PARENT) 93 self.fenetreMedite=parent 94 panelAuteur=wx.Panel(self,-1) 95 96 textNom=wx.StaticText(panelAuteur,-1,"Nom : ",wx.Point(15,12)) 97 self.textNomVal=wx.StaticText(panelAuteur,-1,auteurOld.getNom(),wx.Point(140,10)) 98 99 textPrenom=wx.StaticText(panelAuteur,-1,u"Pr\xe9nom : ",wx.Point(15,42)) 100 self.ctrlPrenom=wx.TextCtrl(panelAuteur,-1,"",wx.Point(140,40),size=(125,-1)) 101 self.ctrlPrenom.SetInsertionPoint(0) 102 self.ctrlPrenom.SetValue(auteurOld.getPrenom()) 103 104 textNaissance=wx.StaticText(panelAuteur,-1,"Date de Naissance : ",wx.Point(15,72)) 105 self.ctrlNaissance=wx.TextCtrl(panelAuteur,-1,"",wx.Point(140,70),size=(125,-1)) 106 self.ctrlNaissance.SetInsertionPoint(0) 107 self.ctrlNaissance.SetValue(auteurOld.getNaissance()) 108 109 textDeces=wx.StaticText(panelAuteur,-1,u"Date de D\xe9c\xe8s : ",wx.Point(15,102)) 110 self.ctrlDeces=wx.TextCtrl(panelAuteur,-1,"",wx.Point(140,100),size=(125,-1)) 111 self.ctrlDeces.SetInsertionPoint(0) 112 self.ctrlDeces.SetValue(auteurOld.getDeces()) 113 114 bValider = wx.Button(panelAuteur, ID_OK, "Valider", wx.Point(50, 140)) 115 wx.EVT_BUTTON(self, ID_OK, self.onValider) 116 117 bAnnuler = wx.Button(panelAuteur, ID_ANNULER, "Annuler", wx.Point(150, 140)) 118 wx.EVT_BUTTON(self, ID_ANNULER, self.onAnnuler)
119
120 - def onValider(self,event):
121 try: 122 self.fenetreMedite.cdon.updateAuteur(self.textNomVal.GetLabel(),self.ctrlPrenom.GetValue(),self.ctrlNaissance.GetValue(),self.ctrlDeces.GetValue()) 123 except AuteurNonTrouve, eANT: 124 dlg=wx.MessageDialog(self, u"L'auteur n'a pas \xe9t\xe9 trouv\xe9!","Attention",wx.OK) 125 dlg.ShowModal() 126 dlg.Destroy() 127 self.Close()
128
129 - def onAnnuler(self,event):
130 self.Close()
131 132 133 # Classe qui gere la suprssion d'un auteur
134 -class FormSupprimerAuteur:
135 - def __init__(self, parent):
136 self.fenetreMedite = parent 137 dgm = Controleurs.DGManager.DGManager() 138 #listeA = self.fenetreMedite.cdon.getListeNomsAuteurs() 139 listeA = dgm.getListeAuteurs() 140 msg = u'Selectionnez l\'auteur \xe0 supprimmer' 141 titre = 'Supprimer un auteur' 142 self.choixA = SelectionListe(self.fenetreMedite,msg,titre, listeA) 143 if self.choixA.ShowModal() == wx.ID_OK: 144 self.nomA= self.choixA.GetStringSelection() 145 self.choixA.Destroy() 146 msg = u'Vous voulez supprimer l\'auteur "'+self.nomA+u'"\nSi vous supprimez un auteur, vous supprimez tous les \xe9lements qui s\'y rattache.\nVoulez-vous continuez la suppression ?' 147 dlg=wx.MessageDialog(self.fenetreMedite, msg,"Attention!",wx.YES_NO | wx.ICON_EXCLAMATION ) 148 if dlg.ShowModal() == wx.ID_YES: 149 miseAJAuteurSupprimer(self) 150 #self.fenetreMedite.cdon.deleteAuteur(self.nomA) 151 dgm.delAuteur(self.nomA) 152 dlg.Destroy()
153 154 # Classe qui gere l'enregistrement d'une oeuvre
155 -class FormEnregistrerOeuvre:
156 - def __init__(self, parent):
157 self.fenetreMedite = parent 158 dgm = Controleurs.DGManager.DGManager() 159 #listeA = self.fenetreMedite.cdon.getListeNomsAuteurs() 160 listeA = dgm.getListeAuteurs() 161 msg = u'Selectionnez l\'auteur de l\'oeuvre' 162 titre = u'Choix de l\'auteur' 163 self.choixA = SelectionListe(self.fenetreMedite,msg,titre, listeA) 164 if self.choixA.ShowModal() == wx.ID_OK: 165 self.nomAuteur = self.choixA.GetStringSelection() 166 self.choixA.Destroy() 167 formOeuvre = FormSaisieDonneesOeuvre(self.fenetreMedite,self.nomAuteur) 168 formOeuvre.Show(True) 169 else : 170 self.choixA.Destroy()
171 172 # Classe qui cree un formulaire de saisie des informations d'une oeuvre 173 # et appelle le controleur Cdonnees pour enregistrer ces informations
174 -class FormSaisieDonneesOeuvre(wx.Frame):
175 - def __init__(self,fenetreMedite, nomA):
176 wx.Frame.__init__(self,fenetreMedite, -1,"Enregistrement d'un nouvelle oeuvre" 177 ,pos = wx.Point(200,200),size = (290,210) 178 ,style = wx.DEFAULT_FRAME_STYLE|wx.NO_FULL_REPAINT_ON_RESIZE|wx.FRAME_FLOAT_ON_PARENT 179 ) 180 self.fenetreMedite=fenetreMedite 181 panelOeuvre=wx.Panel(self,-1) 182 self.nomA = nomA 183 184 textAuteur=wx.StaticText(panelOeuvre,-1,"Auteur : ",wx.Point(15,12)) 185 textNomA=wx.StaticText(panelOeuvre,-1,self.nomA,wx.Point(130,12)) 186 187 textTitre=wx.StaticText(panelOeuvre,-1,"Titre : ",wx.Point(15,42)) 188 self.ctrlTitre=wx.TextCtrl(panelOeuvre,-1,"",wx.Point(130,40),size=(125,-1)) 189 self.ctrlTitre.SetInsertionPoint(0) 190 191 textEditeur=wx.StaticText(panelOeuvre,-1,"Editeur : ",wx.Point(15,72)) 192 self.ctrlEditeur=wx.TextCtrl(panelOeuvre,-1,"",wx.Point(130,70),size=(125,-1)) 193 self.ctrlEditeur.SetInsertionPoint(0) 194 195 textPublication=wx.StaticText(panelOeuvre,-1,"Date de Publication : ",wx.Point(15,102)) 196 self.ctrlPublication=wx.TextCtrl(panelOeuvre,-1,"",wx.Point(130,100),size=(125,-1)) 197 self.ctrlPublication.SetInsertionPoint(0) 198 199 bValider = wx.Button(panelOeuvre, ID_OK, "VALIDER", wx.Point(50,140)) 200 wx.EVT_BUTTON(self, ID_OK, self.onValider) 201 202 bAnnuler = wx.Button(panelOeuvre, ID_ANNULER, "ANNULER", wx.Point(150,140)) 203 wx.EVT_BUTTON(self, ID_ANNULER, self.onAnnuler)
204
205 - def onValider(self,event):
206 if (self.ctrlTitre.GetValue()!=""): 207 try: 208 #self.fenetreMedite.cdon.addOeuvre(self.nomA, 209 # self.ctrlTitre.GetValue(), 210 # self.ctrlEditeur.GetValue(), 211 # self.ctrlPublication.GetValue()) 212 dgm = Controleurs.DGManager.DGManager() 213 oeuvre = Controleurs.DGManager.Oeuvre(self.ctrlTitre.GetValue(), 214 self.ctrlEditeur.GetValue(), self.ctrlPublication.GetValue()) 215 dgm.addOeuvre(self.nomA,oeuvre) 216 except AuteurNonTrouve,eANT: 217 dlg=wx.MessageDialog(self, u"L'auteur de cette oeuvre n'a pas \xe9t\xe9 trouv\xe9!","Attention",wx.OK) 218 if dlg.ShowModal()==wx.ID_OK: 219 dlg.Destroy() 220 except OeuvreDejaExistante, eODE: 221 #dlg=wx.MessageDialog(self, u"Cette oeuvre existe d\xe9jà !\nVoulez-vous la modifier?","Attention" ,wx.YES_NO) 222 #if dlg.ShowModal()==wx.ID_YES: 223 # formModifOeuvre=FormModifierOeuvre(self.fenetreMedite,self.nomA, 224 # eODE.getOeuvre()) 225 # formModifOeuvre.Show(True) 226 #dlg.Destroy() 227 pass 228 self.Close() 229 else: 230 dlg=wx.MessageDialog(self, u'Vous devez obligatoirement remplir le champ "Titre" !',"Attention",wx.OK) 231 dlg.ShowModal() 232 dlg.Destroy()
233
234 - def onAnnuler(self,event):
235 self.Close()
236 237
238 -class FormModifierOeuvre(wx.Frame):
239 - def __init__(self, parent, auteur,oeuvreOld):
240 wx.Frame.__init__(self, parent, -1,"Modifier une oeuvre",pos = wx.Point(200,200), 241 size = (290,210), 242 style=wx.DEFAULT_FRAME_STYLE|wx.NO_FULL_REPAINT_ON_RESIZE|wx.FRAME_FLOAT_ON_PARENT) 243 self.fenetreMedite=parent 244 panel=wx.Panel(self,-1) 245 246 textNom=wx.StaticText(panel,-1,"Auteur : ",wx.Point(15,12)) 247 self.textNomVal=wx.StaticText(panel,-1,auteur,wx.Point(120,10)) 248 249 textTitre=wx.StaticText(panel,-1,"Titre : ",wx.Point(15,42)) 250 self.textTitreVal=wx.StaticText(panel,-1,oeuvreOld.getTitre(),wx.Point(120,40)) 251 252 textEdition=wx.StaticText(panel,-1,"Edition : ",wx.Point(15,72)) 253 self.ctrlEdition=wx.TextCtrl(panel,-1,"",wx.Point(120,70),size=(125,-1)) 254 self.ctrlEdition.SetInsertionPoint(0) 255 self.ctrlEdition.SetValue(oeuvreOld.getEdition()) 256 257 textPublication=wx.StaticText(panel,-1,"Publication : ",wx.Point(15,102)) 258 self.ctrlPublication=wx.TextCtrl(panel,-1,"",wx.Point(120,100),size=(125,-1)) 259 self.ctrlPublication.SetInsertionPoint(0) 260 self.ctrlPublication.SetValue(oeuvreOld.getPublication()) 261 262 bValider = wx.Button(panel, ID_OK, "Valider", wx.Point(50, 140)) 263 wx.EVT_BUTTON(self, ID_OK, self.onValider) 264 265 bAnnuler = wx.Button(panel, ID_ANNULER, "Annuler", wx.Point(150, 140)) 266 wx.EVT_BUTTON(self, ID_ANNULER, self.onAnnuler)
267
268 - def onValider(self,event):
269 try: 270 self.fenetreMedite.cdon.updateOeuvre(self.textNomVal.GetLabel(),self.textTitreVal.GetLabel(),self.ctrlEdition.GetValue(),self.ctrlPublication.GetValue()) 271 except AuteurNonTrouve, eANT: 272 dlg=wx.MessageDialog(self, u"L'auteur n'a pas \xe9t\xe9 trouv\xe9!","Attention",wx.OK) 273 dlg.ShowModal() 274 dlg.Destroy() 275 except OeuvreNonTrouvee, eONT: 276 dlg=wx.MessageDialog(self, u"L'oeuvre n'a pas \xe9t\xe9 trouv\xe9!","Attention",wx.OK) 277 dlg.ShowModal() 278 dlg.Destroy() 279 self.Close()
280
281 - def onAnnuler(self,event):
282 self.Close()
283 284 # Fenetre de dialogue pour choisir un auteur
285 -class SelectionListe(wx.SingleChoiceDialog):
286 - def __init__(self, parent,pPhrase, pTitre, pListe):
287 wx.SingleChoiceDialog.__init__(self, parent,pPhrase,pTitre,pListe, 288 wx.OK|wx.CANCEL)
289 290 #Classe qui cree un formulaire qui recupere l'auteur et l'oeuvre selectionne et appelle 291 # deleteOeuvre du controleur Cdonnees pour la supprimer 292 #Traite l'exception eANT si l'auteur n'a pas ete trouve 293 #Traite l'exception eONT si l'oeuvre n'a pas ete trouvee
294 -class FormSupprimerOeuvre(wx.Frame):
295 - def __init__(self, parent):
296 wx.Frame.__init__(self, parent, -1,u"Supprimer une oeuvre d\'un auteur", pos = wx.Point(200,200) 297 ,size = ( 320,150), 298 style=wx.DEFAULT_FRAME_STYLE|wx.NO_FULL_REPAINT_ON_RESIZE|wx.FRAME_FLOAT_ON_PARENT) 299 self.fenetreMedite=parent 300 panel=wx.Panel(self,-1) 301 302 textAuteur=wx.StaticText(panel,-1,"Auteur : ",wx.Point(10,12)) 303 #listeAuteurs=self.fenetreMedite.cdon.getListeNomsAuteurs() 304 self.dgm = Controleurs.DGManager.DGManager() 305 listeAuteurs = self.dgm.getListeAuteurs() 306 self.ctrlAuteur = wx.ComboBox(panel,-1, listeAuteurs[0],(75,10), 307 (150, -1), listeAuteurs, wx.CB_DROPDOWN | wx.CB_READONLY) 308 self.Bind(wx.EVT_TEXT, self.EvtCtrlAuteur, self.ctrlAuteur) 309 310 311 textOeuvre=wx.StaticText(panel,-1,"Oeuvre : ",wx.Point(10,42)) 312 #listeOeuvres=self.fenetreMedite.cdon.getListeTitresByAuteur(self.ctrlAuteur.GetValue()) 313 listeOeuvres=self.dgm.getListeOeuvresAuteur(self.ctrlAuteur.GetValue()) 314 self.ctrlOeuvre = wx.ComboBox(panel,-1, listeOeuvres[0],(75,40), 315 (150, -1), listeOeuvres, wx.CB_DROPDOWN | wx.CB_READONLY) 316 317 318 bValider = wx.Button(panel, ID_OK, "VALIDER", wx.Point(50, 80)) 319 wx.EVT_BUTTON(self, ID_OK, self.onOk) 320 321 bAnnuler = wx.Button(panel, ID_ANNULER, "ANNULER", wx.Point(180, 80)) 322 wx.EVT_BUTTON(self, ID_ANNULER, self.onAnnuler)
323
324 - def EvtCtrlAuteur(self,event):
325 if (self.ctrlAuteur.GetValue()!=""): 326 #on recupere la liste des oeuvres de l'auteur selectionné 327 #listeOeuvres=self.fenetreMedite.cdon.getListeTitresByAuteur(self.ctrlAuteur.GetValue()) 328 listeOeuvres=self.dgm.getListeOeuvresAuteur(self.ctrlAuteur.GetValue()) 329 self.ctrlOeuvre.Clear() 330 self.ctrlOeuvre.AppendItems(listeOeuvres) 331 self.ctrlOeuvre.Refresh()
332
333 - def onOk(self,event):
334 self.nomA = self.ctrlAuteur.GetStringSelection() 335 self.nomO = self.ctrlOeuvre.GetStringSelection() 336 if self.nomO == '' : 337 text=u"Vous devez remplir tous les champs sup\xe9rieurs" 338 dlg = wx.MessageDialog(self, text, 'Attention !',wx.OK) 339 dlg.ShowModal() 340 dlg.Destroy() 341 else : 342 try: 343 msg = u'Vous voulez supprimer l\'oeuvre "'+self.nomO+'" de "'+self.nomA+u'"\nSi vous supprimez une oeuvre, vous supprimez tous les \xe9lements qui s\'y rattache.\nVoulez-vous continuez?' 344 dlg=wx.MessageDialog(self, msg,'Attention!',wx.YES_NO | wx.ICON_EXCLAMATION ) 345 if dlg.ShowModal() ==wx.ID_YES: 346 miseAJOeuvreSupprimer(self) 347 #self.fenetreMedite.cdon.deleteOeuvre(self.nomA,self.nomO) 348 dgm = Controleurs.DGManager.DGManager() 349 dgm.delOeuvre(self.nomA,self.nomO) 350 except OeuvreNonTrouvee, eONT: 351 dlg=wx.MessageDialog(self, u"L'oeuvre n'a pas \xe9t\xe9 trouv\xe9!","Attention",wx.OK) 352 dlg.ShowModal() 353 dlg.Destroy() 354 except AuteurNonTrouve, eANT : 355 dlg=wx.MessageDialog(self, u"L'auteur n'a pas \xe9t\xe9 trouv\xe9!","Attention",wx.OK) 356 dlg.ShowModal() 357 dlg.Destroy() 358 self.Close()
359
360 - def onAnnuler(self,event):
361 self.Close()
362
363 -def miseAJOeuvreSupprimer(self):
364 # Mise a jour ecran 365 auteur = self.fenetreMedite.getPlanTravail().getAuteur() 366 oeuvre = self.fenetreMedite.getPlanTravail().getOeuvre() 367 if auteur == self.nomA and oeuvre == self.nomO : 368 miseAZero(self)
369
370 -def miseAJAuteurSupprimer(self):
371 # Mise a jour ecran 372 auteur = self.fenetreMedite.getPlanTravail().getAuteur() 373 if auteur == self.nomA : 374 miseAZero(self)
375
376 -def miseAZero(self):
377 ## mise a jour du plan de travail 378 self.fenetreMedite.getPlanTravail().setAuteur('') 379 self.fenetreMedite.getPlanTravail().setOeuvre('') 380 self.fenetreMedite.getPlanTravail().setVersionSource('') 381 self.fenetreMedite.getPlanTravail().setEtatSource('') 382 self.fenetreMedite.getPlanTravail().setVersionCible('') 383 self.fenetreMedite.getPlanTravail().setEtatCible('') 384 ## mise a jour ecran 385 self.fenetreMedite.getCompPanel().textInfoAuteur.SetLabel('') 386 self.fenetreMedite.getCompPanel().textInfoOeuvre.SetLabel('') 387 self.fenetreMedite.getCompPanel().textWindowLeft.SetValue(u"état source") 388 self.fenetreMedite.getCompPanel().textWindowRight.SetValue(u"état cible") 389 self.fenetreMedite.getCompPanel().textInfoVersionS.SetLabel("") 390 self.fenetreMedite.getCompPanel().textInfoEtatS.SetLabel("") 391 self.fenetreMedite.getCompPanel().textInfoVersionC.SetLabel("") 392 self.fenetreMedite.getCompPanel().textInfoEtatC.SetLabel("") 393 self.fenetreMedite.getCompPanel().transformations.SetValue("") 394 ## Mise a jour Menu 395 self.fenetreMedite.mInformations.Enable(ID_CHARGER_INFOS,False) 396 self.fenetreMedite.smEnregistrer.Enable(ID_ADD_TRANSFOS, False) 397 self.fenetreMedite.smEnregistrer.Enable(ID_ADD_COMMENT, False) 398 self.fenetreMedite.smEnregistrer.Enable(ID_ADD_TRANSFOS_COMMENT, False) 399 self.fenetreMedite.mMedite.Enable(ID_EXECUTER, False) 400 self.fenetreMedite.smOuvrir.Enable(ID_SOURCE, True) 401 self.fenetreMedite.smOuvrir.Enable(ID_CIBLE, True) 402 ## Mise a jour barre outils 403 self.fenetreMedite.tb.EnableTool(ID_EXECUTER, False) 404 self.fenetreMedite.tb.EnableTool(ID_SOURCE, True) 405 self.fenetreMedite.tb.EnableTool(ID_CIBLE, True)
406