Salome HOME
Version Aster 6.3.14
[tools/eficas.git] / Editeur / images.py
1 """
2     Ce module joue le role de cache pour les images stockées
3     dans le repertoire ICONDIR
4 """
5
6 import os
7 import Tkinter
8
9 if __name__ == '__main__':
10    # Programme de test
11    import sys
12    import images
13    root=Tkinter.Tk()
14    frame = Tkinter.Frame(root)
15    frame.pack(expand=1,fill='both')
16
17    for name in ('About24','Save24'):
18       Tkinter.Label(frame, image=images.get_image(name)).pack(side=Tkinter.TOP)
19
20    root.mainloop()
21    sys.exit()
22
23 try:
24    import prefs
25    ICONDIR=prefs.ICONDIR
26 except:
27    # Par defaut on utilise le repertoire local icons
28    ICONDIR=os.path.join(os.path.abspath(os.path.dirname(__file__)),'icons')
29
30 dico_images={}
31
32 def get_image(name):
33     if dico_images.has_key(name):
34         return dico_images[name]
35     else : 
36         fic_image = os.path.join(ICONDIR,name)
37         if not os.path.isfile(fic_image):
38            file, ext = os.path.splitext(fic_image)
39            fic_image = file + '.gif'
40         image = Tkinter.PhotoImage(file=fic_image)
41         dico_images[name]=image
42         return image
43
44 def update_cache():
45    global dico_images
46    dico_images={}
47