Salome HOME
*** empty log message ***
[tools/eficas.git] / Editeur / bureau.py
index b7e20949581e7633b5b727f830f6dae96cf9ae44..7c82a0eb1824d0f1e79ce93e08eabee8196ccf2a 100644 (file)
@@ -78,6 +78,7 @@ class BUREAU:
    button_defs  =      (('New24',"newJDC","Création d'un nouveau fichier",'always'),
                         ('Open24',"openJDC","Ouverture d'un fichier existant",'always'),
                         ('Save24',"saveJDC","Sauvegarde du fichier courant",'always'),
+                       ('Fermer24',"closeJDC","Fermeture du fichier courant",'always'),
                         ('Zoom24',"visuJDC","Visualisation du fichier de commandes",'always'),
                         None,
                         ('Copy24',"copy","Copie l'objet courant",'jdc'),
@@ -132,16 +133,44 @@ class BUREAU:
       if len(self.liste_JDCDisplay) == 0 : return
       #if self.JDCDisplay_courant : self.JDCDisplay_courant.jdc.unset_context()
       numero_jdc = self.nb.index(self.nb.getcurselection())
+      self.JDCDisplay_courant.unselect()
       self.JDCDisplay_courant = self.liste_JDCDisplay[numero_jdc]
       self.JDC = self.JDCDisplay_courant.jdc
-      #self.JDC.set_context()
       self.JDCName = self.JDC.nom
+      self.JDCDisplay_courant.select()
       #print "selectJDC",numero_jdc,self.JDCDisplay_courant,self.JDCName
 
-   def newJDC(self,event=None):
+   def newJDC_include(self,event=None):
       """
           Initialise un nouveau JDC vierge
       """
+      import Extensions.jdc_include
+      JdC_aux=Extensions.jdc_include.JdC_include
+
+      self.appli.statusbar.reset_affichage_infos()
+
+      CONTEXT.unset_current_step()
+      jaux=self.cata[0].JdC(procedure="",appli=self.appli,
+                         cata=self.cata,cata_ord_dico=self.cata_ordonne_dico,
+                         rep_mat=self.appli.CONFIGURATION.rep_mat,
+                         )
+      jaux.analyse()
+
+      J=JdC_aux(procedure="",appli=self.appli,
+                         cata=self.cata,cata_ord_dico=self.cata_ordonne_dico,
+                         jdc_pere=jaux,
+                         rep_mat=self.appli.CONFIGURATION.rep_mat,
+                         )
+      J.analyse()
+      self.JDCName=J.nom
+      self.fileName=None
+      self.ShowJDC(J,self.JDCName)
+      self.appli.toolbar.active_boutons()
+
+   def newJDC(self,event=None):
+      """
+          Initialise un nouveau JDC include vierge
+      """
       self.appli.statusbar.reset_affichage_infos()
 
       CONTEXT.unset_current_step()
@@ -271,7 +300,7 @@ class BUREAU:
       texte_cr = str(cr)
       self.visu_texte_cr = Fenetre(self.appli,titre=titre,texte=texte_cr)
 
-   def openJDC(self,file=None,units=None):
+   def openJDC(self,event=None,file=None,units=None):
       """
           Demande à l'utilisateur quel JDC existant il veut ouvrir
       """
@@ -284,9 +313,6 @@ class BUREAU:
       if not hasattr(self,'initialdir'):
          self.initialdir = self.appli.CONFIGURATION.initialdir
 
-      if file.__class__.__name__ in  ('Event',):
-         file=None
-
       if not file :
           file = askopenfilename(title="Ouverture d'un fichier de commandes Aster",
                                  defaultextension=".comm",
@@ -352,7 +378,6 @@ class BUREAU:
             self.appli.top.update()
             self.visuCR(mode='JDC')
 
-
    def GetLabelJDC(self,nb_jdc = 'absent'):
       """
       Retourne le label de l'onglet du NoteBook associé au JDC à afficher
@@ -422,7 +447,7 @@ class BUREAU:
           #PN  Fin Ajout --> Salome
           # le JDC a déjà un nom : on sauvegarde directement sans demander
           # un autre nom au développeur
-          if not save_in_file(self.JDCDisplay_courant.fichier,self.jdc_fini) :
+          if not save_in_file(self.JDCDisplay_courant.fichier,self.jdc_fini,self.appli.dir) :
               showinfo("Erreur","Problème à la sauvegarde du fichier :" + `self.JDCDisplay_courant.fichier`)
               return 0
           else :
@@ -464,7 +489,7 @@ class BUREAU:
             else :
                pass
           # PN fin ajout --> Salome
-          if not save_in_file(sauvegarde,self.jdc_fini) :
+          if not save_in_file(sauvegarde,self.jdc_fini,None) :
               showinfo("Erreur","Problème à la sauvegarde du fichier "+`sauvegarde`)
               return 0
           else :
@@ -476,6 +501,7 @@ class BUREAU:
                   # l'utilisateur a sauvegardé le JDC sous un autre nom
                   self.JDCDisplay_courant.fichier = sauvegarde
                   self.JDCName = self.JDC.nom = stripPath(sauvegarde)
+                  self.JDC.changefichier(sauvegarde)
                   self.changeNomPage()
               return 1
       else :