+# -*- coding: utf-8 -*-
# CONFIGURATION MANAGEMENT OF EDF VERSION
# ======================================================================
# COPYRIGHT (C) 1991 - 2002 EDF R&D WWW.CODE-ASTER.ORG
L'aspect applicatif doit etre pris en charge par la classe dérivée
"""
# Modules Python
+import os
import sys
import types
import Pmw
import Tkinter
-from tkMessageBox import showinfo,askyesno,showerror
+from widgets import showerror
# Modules Eficas
import splash
from widgets import Fenetre
from Misc import MakeNomComplet
-VERSION="EFICAS v1.5"
+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)
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 :
- try :
- self.bureau.openJDC( str(MakeNomComplet.FILENAME(fichier)) )
- except Exception,e :
- showerror( "ARGUMENT INVALIDE", str(e) )
+ fich=str(MakeNomComplet.FILENAME(fichier))
+ if not os.path.isfile(fich):
+ showerror("Fichier inexistant", "Fichier %s en argument n'existe pas" % fich)
+ else:
+ self.bureau.openJDC( fich)
# AY : fin
+
def send_message(self,message):
self.message=message
"""
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)
- 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)
def affiche_FAQ(self):
import faq
- faq.affiche(self.top)
+ #faq.affiche(self.top)
def affiche_infos(self,message):
self.statusbar.affiche_infos(message)
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
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)