aboutsummaryrefslogtreecommitdiffstats
path: root/examples/hyperui/hyperuilib/shared/dataresource.py
blob: 28a101fe2dd6ce5c567a23f24f0b1ee5df287b67 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
"""
/*
 * This file is part of PySide: Python for Qt
 *
 * Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
 *
 * Contact: PySide team <contact@pyside.org>
 *
 * This library is free software; you can redistribute it and/or
 * modify it under the terms of the GNU Lesser General Public License
 * version 2.1 as published by the Free Software Foundation.
 *
 * This library is distributed in the hope that it will be useful, but
 * WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
 * Lesser General Public License for more details.
 *
 * You should have received a copy of the GNU Lesser General Public
 * License along with this library; if not, write to the Free Software
 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
 * 02110-1301 USA
 *
 */
"""


from PySide.QtCore import QSettings
from PySide.QtGui import QPixmap
from hyperuilib.resource.hyperui_rc import *

class Resource(object):
    _instance_ = None

    def __init__(self):
        self._settings = QSettings()
        self._pixmapPrefix = ":/"

    @staticmethod
    def instance():
        if not Resource._instance_:
            Resource._instance_ = Resource()

        return Resource._instance_

    @staticmethod
    def setIniFile(fileName):
        d = Resource.instance();
        if d._settings:
            d._settings = None

        d._settings = QSettings(fileName, QSettings.IniFormat)

    @staticmethod
    def pixmap(path):
        d = Resource.instance()
        f = d._pixmapPrefix + path
        p = QPixmap(f)
        if p.isNull():
            print("Pixmap not found: " + f)
        return p



    @staticmethod
    def setPixmapPrefix(prefix):
        d = Resource.instance()
        d._pixmapPrefix = prefix

    @staticmethod
    def containsValue(key):
        d = Resource.instance()
        return d._settings.contains(key)

    @staticmethod
    def value(key, value=None):
        d = Resource.instance()

        if d._settings.contains(key):
            return d._settings.value(key, value)
        else:
            print("Resource: key '%s' not found" % key)

    @staticmethod
    def intValue(key, value=0):
        return int(Resource.value(key, value))

    @staticmethod
    def doubleValue(key, value=0):
        return float(Resource.value(key, value))

    @staticmethod
    def stringValue(key, value=0):
        return Resource.value(key, value)