Salome HOME
0f3723e25041f15ed7e95c82b329f68f166a9cd5
[modules/yacs.git] / src / pyqt / gui / Icons.py
1 # Copyright (C) 2006-2023  CEA, EDF
2 #
3 # This library is free software; you can redistribute it and/or
4 # modify it under the terms of the GNU Lesser General Public
5 # License as published by the Free Software Foundation; either
6 # version 2.1 of the License, or (at your option) any later version.
7 #
8 # This library is distributed in the hope that it will be useful,
9 # but WITHOUT ANY WARRANTY; without even the implied warranty of
10 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
11 # Lesser General Public License for more details.
12 #
13 # You should have received a copy of the GNU Lesser General Public
14 # License along with this library; if not, write to the Free Software
15 # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
16 #
17 # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
18 #
19
20 """Ce module fournit des icones (QPixmap) pour afficher dans l'arbre
21    Ces icones sont obtenues a partir d'un nom et conservees dans un cache.
22    La source des icones est soit une string xpm soit un fichier gif ou autre
23 """
24
25 import os
26 from qt import QPixmap
27 from .imagesxpm import dico_xpm
28
29 dico_images={}
30
31 def get_image(name):
32   if name in dico_images:
33     return dico_images[name]
34   else :
35     if name in dico_xpm:
36       image=QPixmap(dico_xpm[name])
37     else:
38       fic_image = os.path.join(os.path.dirname(__file__),"icons",name)
39       if not os.path.isfile(fic_image):
40         file, ext = os.path.splitext(fic_image)
41         fic_image = file + '.gif'
42       image = QPixmap(fic_image)
43     dico_images[name]=image
44     return image
45
46 def update_cache():
47    global dico_images
48    dico_images={}
49