Salome HOME
linux/windows
[tools/eficas.git] / InterfaceQT4 / utilIcons.py
1 # -*- coding: utf-8 -*-
2 # Copyright (C) 2007-2013   EDF R&D
3 #
4 # This library is free software; you can redistribute it and/or
5 # modify it under the terms of the GNU Lesser General Public
6 # License as published by the Free Software Foundation; either
7 # version 2.1 of the License.
8 #
9 # This library is distributed in the hope that it will be useful,
10 # but WITHOUT ANY WARRANTY; without even the implied warranty of
11 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
12 # Lesser General Public License for more details.
13 #
14 # You should have received a copy of the GNU Lesser General Public
15 # License along with this library; if not, write to the Free Software
16 # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
17 #
18 # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
19 #
20
21 from PyQt4.QtGui import QPixmap, QIcon
22 import os
23
24 class PixmapCache:
25     """
26     Class implementing a pixmap cache for icons.
27     """
28     def __init__(self):
29         """
30         Constructor
31         """
32         self.pixmapCache = {}
33
34
35     def getPixmap(self, key):
36         """
37         Public method to retrieve a pixmap.
38         
39         @param key name of the wanted pixmap (string)
40         @return the requested pixmap (QPixmap)
41         """
42         if (1==1):
43         #try:
44             key="/local/pnoyret/Install_Eficas/EficasV1/InterfaceQT/icons/"+key
45             return QPixmap(key)
46             #return self.pixmapCache[key]
47         #except KeyError:
48         else :
49             self.pixmapCache[key] = QPixmap.fromMimeSource(key)
50             return self.pixmapCache[key]
51             
52 pixCache = PixmapCache()
53
54 def getPixmap(key, cache = pixCache):
55     """
56     Module function to retrieve a pixmap.
57     
58     @param key name of the wanted pixmap (string)
59     @return the requested pixmap (QPixmap)
60     """
61     return cache.getPixmap(key)
62     
63 def getIcon(key):
64     key="/local/pnoyret/Install_Eficas/EficasV1/InterfaceQT/icons/"+key
65     return QIcon(key)
66     
67
68 #from PyQt4.Qt3Support import Q3MimeSourceFactory
69
70 #def initializeMimeSourceFactory():
71     """
72     Function to initialize the default mime source factory.
73     
74     """
75 #    defaultFactory = Q3MimeSourceFactory.defaultFactory()
76 #    repini=os.path.dirname(os.path.abspath(__file__))
77 #    defaultFactory.addFilePath(repini+"/../Editeur/icons") #CS_pbruno todo (config)
78