Trees | Indices | Help |
|
---|
|
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 necessaires 21 # pour le menu Medite 22 #---------------------------------------------------------------------------- 23 #from wxPython.wx import * 24 import wx 25 from Utile.constantesGUI import * 26 from Utile.exceptionsDonnees import * 27 from Utile.decodage import * 28 import Controleurs.DGManager 29 import codecs,sys,re,locale 30 #--------------------------------------------------------------------------------------------------# 31 32 33 # Classe qui permet d'ouvrir l'état Source ou Cible dans sa fenetre respective 34 # de l'interface36 #Le parametre 'type' prend deux valeurs possibles 'Cible' ou 'Source'232 233 # Fenetre de dialogue de selection d'un element dans une liste 23838 wx.Frame.__init__(self, parent, -1,title, pos = wx.Point(200,200) 39 ,size = ( 310,180), 40 style=wx.DEFAULT_FRAME_STYLE|wx.NO_FULL_REPAINT_ON_RESIZE|wx.FRAME_FLOAT_ON_PARENT) 41 self.fenetreMedite=parent 42 self.type=type 43 panel=wx.Panel(self,-1) 44 45 if self.type=='Source': 46 version = self.fenetreMedite.getPlanTravail().getVersionSource() 47 else : 48 version = self.fenetreMedite.getPlanTravail().getVersionCible() 49 50 textVersion=wx.StaticText(panel,-1,"Version : ",wx.Point(15,12)) 51 # self.ctrlVersion=wx.TextCtrl(panel,-1,version,wx.Point(75,10),size=(125,-1),style=wx.TE_READONLY) 52 # self.ctrlVersion.SetInsertionPoint(0) 53 # 54 # self.bVersion = wx.Button(panel, ID_SELECT_AUTEUR, u"S\xe9lection",wx.Point(220,10)) 55 # wx.EVT_BUTTON(self, ID_SELECT_AUTEUR, self.onSelectVersion) 56 #listeVersions=self.fenetreMedite.cdos.getListeDossiersVersions(self.fenetreMedite.getPlanTravail().getAuteur(), 57 # self.fenetreMedite.getPlanTravail().getOeuvre()) 58 self.dgm = Controleurs.DGManager.DGManager() 59 listeVersions=self.dgm.getListeVersionsDG(self.fenetreMedite.getPlanTravail().getAuteur(),self.fenetreMedite.getPlanTravail().getOeuvre()) 60 self.ctrlVersion = wx.ComboBox(panel,-1, listeVersions[0],(75,10), 61 (150, -1), listeVersions, wx.CB_DROPDOWN | wx.CB_READONLY) 62 self.Bind(wx.EVT_TEXT, self.EvtCtrlVersion, self.ctrlVersion) 63 64 textEtat=wx.StaticText(panel,-1,"Etat : ",wx.Point(15,52)) 65 # self.ctrlEtat=wx.TextCtrl(panel,-1,"",wx.Point(75,50),size=(125,-1),style=wx.TE_READONLY) 66 # self.ctrlEtat.SetInsertionPoint(0) 67 # 68 # self.bEtat = wx.Button(panel, ID_SELECT_OEUVRE, u"S\xe9lection",wx.Point(220,50)) 69 # wx.EVT_BUTTON(self, ID_SELECT_OEUVRE, self.onSelectEtat) 70 #listeEtats=self.fenetreMedite.cdos.getListeEtats(self.fenetreMedite.getPlanTravail().getAuteur(), 71 # self.fenetreMedite.getPlanTravail().getOeuvre(),self.ctrlVersion.GetValue()) 72 #listeEtats.insert(0,"") 73 listeEtats=self.dgm.getListeEtatsVersion(self.fenetreMedite.getPlanTravail().getAuteur(), 74 self.fenetreMedite.getPlanTravail().getOeuvre(),self.ctrlVersion.GetValue()) 75 self.ctrlEtat = wx.ComboBox(panel,-1, listeEtats[0],(75,50), 76 (150, -1), listeEtats, wx.CB_DROPDOWN | wx.CB_READONLY) 77 78 79 self.bValider = wx.Button(panel, ID_OK, "VALIDER", wx.Point(50, 90)) 80 wx.EVT_BUTTON(self, ID_OK, self.onValider) 81 82 bAnnuler = wx.Button(panel, ID_ANNULER, "ANNULER", wx.Point(150, 90)) 83 wx.EVT_BUTTON(self, ID_ANNULER, self.onAnnuler) 84 85 self.bValider.SetFocus()8688 if (self.ctrlVersion.GetValue()!=""): 89 #listeEtats=self.fenetreMedite.cdos.getListeEtats(self.fenetreMedite.getPlanTravail().getAuteur(), 90 # self.fenetreMedite.getPlanTravail().getOeuvre(),self.ctrlVersion.GetValue()) 91 listeEtats=self.dgm.getListeEtatsVersion(self.fenetreMedite.getPlanTravail().getAuteur(), 92 self.fenetreMedite.getPlanTravail().getOeuvre(),self.ctrlVersion.GetValue()) 93 self.ctrlEtat.Clear() 94 if listeEtats==[]: self.ctrlEtat.SetValue("") 95 self.ctrlEtat.AppendItems(listeEtats) 96 self.ctrlEtat.Refresh()9799 #self.listeVersions=self.fenetreMedite.cdos.getListeDossiersVersions(self.fenetreMedite.getPlanTravail().getAuteur(), 100 # self.fenetreMedite.getPlanTravail().getOeuvre()) 101 self.listeVersions=self.dgm.getListeVersionsDG(self.fenetreMedite.getPlanTravail().getAuteur(),self.fenetreMedite.getPlanTravail().getOeuvre()) 102 msg = u"Choisissez la version de l\'état" 103 titre = u"S\xe9lectionner une version" 104 self.versionFormSelect=SelectionListe(self.fenetreMedite,msg,titre,self.listeVersions) 105 if self.versionFormSelect.ShowModal() == wx.ID_OK: 106 self.ctrlVersion.SetValue(self.versionFormSelect.GetStringSelection()) 107 self.bEtat.SetFocus()108 109111 if (self.ctrlVersion.GetValue()!=""): 112 #self.listeEtats=self.fenetreMedite.cdos.getListeEtats(self.fenetreMedite.getPlanTravail().getAuteur(), 113 # self.fenetreMedite.getPlanTravail().getOeuvre(), 114 # self.ctrlVersion.GetValue()) 115 self.listeEtats=self.dgm.getListeEtatsVersion(self.fenetreMedite.getPlanTravail().getAuteur(), 116 self.fenetreMedite.getPlanTravail().getOeuvre(),self.ctrlVersion.GetValue()) 117 msg = 'Choisissez le etat' 118 titre = u"S\xe9lectionner un etat" 119 self.etatFormSelect=SelectionListe(self.fenetreMedite,msg,titre,self.listeEtats) 120 if self.etatFormSelect.ShowModal() == wx.ID_OK: 121 self.ctrlEtat.SetValue(self.etatFormSelect.GetStringSelection()) 122 self.bValider.SetFocus() 123 else: 124 text=u"Vous devez remplir les champs sup\xe9rieurs!!" 125 dlg = wx.MessageDialog(self, text, 'Attention !',wx.OK) 126 dlg.ShowModal() 127 dlg.Destroy()128130 if (self.ctrlEtat.GetValue()!=""): 131 self.fenetreMedite.getCompPanel().indiceS.SetValue('') 132 self.fenetreMedite.getCompPanel().indiceC.SetValue('') 133 try: 134 ### Mise a zero des onglets transformations et commentaire 135 self.fenetreMedite.getCompPanel().transformations.SetValue('') 136 self.fenetreMedite.getCompPanel().commentaire.SetValue('') 137 ### 138 choixVersion = self.ctrlVersion.GetValue() 139 choixEtat = self.ctrlEtat.GetValue() 140 chemin=self.dgm.getEtatPath(self.fenetreMedite.getPlanTravail().getAuteur(), 141 self.fenetreMedite.getPlanTravail().getOeuvre(),choixVersion,choixEtat) 142 fontDefault=wx.Font(10,wx.DEFAULT,wx.NORMAL,wx.NORMAL)#,wx.FONTENCODING_ISO8859_1)#, 143 #encoding=wx.FONTENCODING_UTF8) 144 145 if self.type=='Source': 146 self.fenetreMedite.getCompPanel().textWindowLeft.Clear() 147 self.fenetreMedite.getCompPanel().textWindowLeft.SetStyle(0,0,#wx.TextAttr()) 148 wx.TextAttr('black', 149 'white', 150 fontDefault)) 151 #wx.TextAttr(wxNullColour, 152 # wxNullColour, 153 # fontDefault)) 154 #self.fenetreMedite.getCompPanel().textWindowLeft.StyleClearAll() 155 #self.fenetreMedite.getCompPanel().textWindowLeft.LoadFile(chemin) 156 #self.fenetreMedite.getCompPanel().textWindowLeft.AppendText(loadFile(chemin)) 157 self.fenetreMedite.getCompPanel().textWindowLeft.SetValue(loadFile(chemin)) 158 ########### enlever les couleur de l'autre fenetre 159 texte = self.fenetreMedite.getCompPanel().textWindowRight.GetValue() 160 self.fenetreMedite.getCompPanel().textWindowRight.Clear() 161 self.fenetreMedite.getCompPanel().textWindowRight.SetStyle(0,0,#wx.TextAttr()) 162 wx.TextAttr('black', 163 'white', 164 fontDefault)) 165 # # wx.TextAttr(wxNullColour, 166 # wxNullColour, 167 # fontDefault)) 168 #self.fenetreMedite.getCompPanel().textWindowRight.StyleClearAll() 169 self.fenetreMedite.getCompPanel().textWindowRight.SetValue(texte) 170 ########## Mise a jour du plan de travail 171 self.fenetreMedite.getCompPanel().textInfoVersionS.SetLabel(choixVersion) 172 self.fenetreMedite.getCompPanel().textInfoEtatS.SetLabel(choixEtat) 173 self.fenetreMedite.getPlanTravail().setVersionSource(choixVersion) 174 self.fenetreMedite.getPlanTravail().setEtatSource(choixEtat) 175 self.fenetreMedite.nb.SetPageText(self.fenetreMedite.nb.GetSelection(),choixEtat+'-'+self.fenetreMedite.getPlanTravail().getEtatCible()) 176 self.fenetreMedite.getCompPanel().Refresh() 177 self.fenetreMedite.reloadNavMenu() 178 179 elif self.type=='Cible': 180 #self.fenetreMedite.getCompPanel().textWindowRight.StyleClearAll() 181 self.fenetreMedite.getCompPanel().textWindowRight.Clear()#SetValue('') 182 self.fenetreMedite.getCompPanel().textWindowRight.SetStyle(0,0,#wx.TextAttr()) 183 wx.TextAttr('black', 184 'white', 185 fontDefault)) 186 # wx.TextAttr(wxNullColour, 187 # wxNullColour, 188 # fontDefault)) 189 #self.fenetreMedite.getCompPanel().textWindowRight.LoadFile(chemin) 190 #self.fenetreMedite.getCompPanel().textWindowRight.AppendText(loadFile(chemin)) 191 self.fenetreMedite.getCompPanel().textWindowRight.SetValue(loadFile(chemin)) 192 ########## enlever les couleur de l'autre fenetre 193 texte = self.fenetreMedite.getCompPanel().textWindowLeft.GetValue() 194 #self.fenetreMedite.getCompPanel().textWindowLeft.StyleClearAll() 195 self.fenetreMedite.getCompPanel().textWindowLeft.Clear()#SetValue('') 196 self.fenetreMedite.getCompPanel().textWindowLeft.SetStyle(0,0,#wx.TextAttr()) 197 wx.TextAttr('black', 198 'white', 199 fontDefault)) 200 # wx.TextAttr(wxNullColour, 201 # wxNullColour, 202 # fontDefault)) 203 self.fenetreMedite.getCompPanel().textWindowLeft.SetValue(texte) 204 #self.fenetreMedite.getCompPanel().textWindowLeft.StyleClearAll() 205 ########## Mise a jour du plan de travail 206 self.fenetreMedite.getCompPanel().textInfoVersionC.SetLabel(choixVersion) 207 self.fenetreMedite.getCompPanel().textInfoEtatC.SetLabel(choixEtat) 208 self.fenetreMedite.getPlanTravail().setVersionCible(choixVersion) 209 self.fenetreMedite.getPlanTravail().setEtatCible(choixEtat) 210 self.fenetreMedite.nb.SetPageText(self.fenetreMedite.nb.GetSelection(),self.fenetreMedite.getPlanTravail().getEtatSource()+'-'+choixEtat) 211 self.fenetreMedite.getCompPanel().Refresh() 212 self.fenetreMedite.reloadNavMenu() 213 self.fenetreMedite.enableMenuEtatsOuverts() 214 #### Il n'y a plus de resultats 215 self.fenetreMedite.getCompPanel().resultatTransfo = None 216 self.fenetreMedite.smEnregistrer.Enable(ID_ADD_TRANSFOS, False) 217 self.fenetreMedite.smEnregistrer.Enable(ID_ADD_TRANSFOS_COMMENT, False) 218 except IOError, eIO: 219 dlg = wx.MessageDialog(self,u"L'état n'est pas trouvable ! "+str(eIO), 220 'Attention !',wx.OK) 221 dlg.ShowModal() 222 dlg.Destroy() 223 self.Close() 224 else: 225 dlg = wx.MessageDialog(self, "Vous devez remplir tous les champs !", 226 'Attention !',wx.OK) 227 dlg.ShowModal() 228 dlg.Destroy()229
Trees | Indices | Help |
|
---|
Generated by Epydoc 3.0beta1 on Wed Aug 13 15:25:41 2008 | http://epydoc.sourceforge.net |