Salome HOME
PN bug notation scientifique
[tools/eficas.git] / Editeur / appli.py
index 104ba2d99c47b41770efc6840af0ac2fd0e9def3..3b2e2d30d71b6c09c978e3a99bddc71a478dfd4e 100644 (file)
@@ -1,3 +1,4 @@
+# -*- coding: utf-8 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2002  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -40,10 +41,10 @@ import properties
 from widgets import Fenetre
 from Misc import MakeNomComplet
 
-VERSION="EFICAS v1.6"
+VERSION="EFICAS v1.7"
 
 class APPLI: 
-  def __init__ (self,master,code='ASTER',fichier=None) :
+  def __init__ (self,master,code='ASTER',fichier=None,test=0) :
       self.top=master
       self.code=code
       self.top.protocol("WM_DELETE_WINDOW",self.exitEFICAS)
@@ -52,14 +53,23 @@ class APPLI:
       self.top.title(VERSION + ' pour '+self.code)
       self.top.withdraw()
       self.initializeTk(master)
+      self.dict_reels={}
+      self.liste_simp_reel=[]
+      # L'attribut test permet d'activer les panneaux de splash et d'erreur (test=0)
+      # Si test est different de 0, les panneaux ne sont pas activés
+      self.test=test
       Pmw.initialise(master)
       self.lecture_parametres()
       self.format_fichier = Tkinter.StringVar()
       self.message=''
       self.cree_composants_graphiques()
       self.load_appli_composants()                     # Creation du BUREAU
-      splash.fini_splash()
-      self.affiche_FAQ()
+      # PN : ajout d un attribut pour indiquer si 
+      # l appli a ete lance depuis Salome
+      self.salome=0
+      if (self.test == 0):
+           splash.fini_splash()
+           self.affiche_FAQ()
       # AY : cas ou le nom du fichier a été passé en argument
       if fichier :
            fich=str(MakeNomComplet.FILENAME(fichier))
@@ -68,9 +78,7 @@ class APPLI:
            else:
               self.bureau.openJDC( fich)
       # AY : fin
-      # PN : ajout d un attribut pour indiquer si 
-      # l appli a ete lance depuis Salome
-      self.salome=0
+
 
   def send_message(self,message):
       self.message=message
@@ -85,7 +93,8 @@ class APPLI:
       """
           Active la lecture des paramètres standards et utilisateur
       """
-      splash._splash.configure(text = "Chargement des paramètres utilisateur")
+      if (self.test == 0):
+         splash._splash.configure(text = "Chargement des paramètres utilisateur")
       import configuration
       self.CONFIGURATION = configuration.make_config(self,prefs.REPINI)
 
@@ -97,19 +106,23 @@ class APPLI:
            - bureau
            - statusbar
       """
-      splash._splash.configure(text = "Chargement de l'IHM")
-      splash._splash.configure(text = "Chargement de la menubar")
+      if (self.test == 0):
+         splash._splash.configure(text = "Chargement de l'IHM")
+         splash._splash.configure(text = "Chargement de la menubar")
       import menubar
       self.menubar=menubar.MENUBAR(self,self.top)
-      splash._splash.configure(text = "Chargement de la toolbar")
+      if (self.test == 0):
+         splash._splash.configure(text = "Chargement de la toolbar")
       import toolbar
       self.toolbar=toolbar.TOOLBAR(self,self.top)
-      splash._splash.configure(text = "Chargement de la statusbar")
+      if (self.test == 0):
+         splash._splash.configure(text = "Chargement de la statusbar")
       import statusbar
       self.statusbar=statusbar.STATUSBAR(self.top)
 
   def load_appli_composants(self):
-      splash._splash.configure(text = "Chargement des appli_composants")
+      if (self.test == 0):
+         splash._splash.configure(text = "Chargement des appli_composants")
       for mname in self.appli_composants:
          self.load_appli_composant(mname)
 
@@ -123,7 +136,7 @@ class APPLI:
 
   def affiche_FAQ(self):
       import faq
-      faq.affiche(self.top)
+      #faq.affiche(self.top)
 
   def affiche_infos(self,message):
       self.statusbar.affiche_infos(message)
@@ -209,6 +222,13 @@ class APPLI:
          if not item :
             menu.add_separator()
          else:
+            if len(item)==3:
+               raccourci=item[2]
+               newitem=(item[0],item[1])
+            else :
+              raccourci=""
+               newitem=item
+            item=newitem
             label,method=item
             if type(method) == types.TupleType:
                # On a un tuple => on cree une cascade
@@ -223,6 +243,8 @@ class APPLI:
             else:
                command=getattr(appli_composant,method)
                menu.add_command(label=label,command=command)
+               if raccourci != "" :
+                  self.top.bind(raccourci,command)
       # Si au moins un radiobouton existe on invoke le premier
       if radio:menu.invoke(radio)