Salome HOME
f91cc14aa0a28bb294c5a6fc29a675ae9e6c5dcd
[modules/yacs.git] / src / pyqt / gui / Icons.py
1 #  Copyright (C) 2006-2008  CEA/DEN, EDF R&D
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.
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 """Ce module fournit des icones (QPixmap) pour afficher dans l'arbre
20    Ces icones sont obtenues a partir d'un nom et conservees dans un cache.
21    La source des icones est soit une string xpm soit un fichier gif ou autre
22 """
23
24 import os
25 from qt import QPixmap
26 from imagesxpm import dico_xpm
27
28 dico_images={}
29
30 def get_image(name):
31   if dico_images.has_key(name):
32     return dico_images[name]
33   else :
34     if dico_xpm.has_key(name):
35       image=QPixmap(dico_xpm[name])
36     else:
37       fic_image = os.path.join(os.path.dirname(__file__),"icons",name)
38       if not os.path.isfile(fic_image):
39         file, ext = os.path.splitext(fic_image)
40         fic_image = file + '.gif'
41       image = QPixmap(fic_image)
42     dico_images[name]=image
43     return image
44
45 def update_cache():
46    global dico_images
47    dico_images={}
48