Example #1
0
class ZUserPreferencesBase(IZUserPreferences):

    def __init__(self):
        self.listeners = ZListenerSet()
    # end __init__()

    def addListener(self, listener):
        self.listeners.addListener(listener)
    # end addListener()

    def removeListener(self, listener):
        self.listeners.removeListener(listener)
    # end removeListener()

    def getUserPreference(self, key, dflt = None):
        rval = self._getUserPreference(key)
        if rval is None:
            rval = dflt
        return rval
    # end getUserPreference()

    def getUserPreferenceBool(self, key, dflt = None):
        value = self.getUserPreference(key, None)
        if value is None:
            return dflt
        return value == u"True" or value == u"true" #$NON-NLS-2$ #$NON-NLS-1$
    # end getUserPreferenceBool()

    def getUserPreferenceInt(self, key, dflt = None):
        value = self.getUserPreference(key, None)
        if value is None:
            return dflt
        try:
            return string.atoi(value)
        except:
            return dflt
    # end getUserPreferenceInt

    def setUserPreference(self, key, value):
        self.listeners.doCallback(u"onUserPreferenceChange", [key, value]) #$NON-NLS-1$
        if value is not None:
            value = unicode(value)
        self._setUserPreference(key, value)
    # end setUserPreference()

    def removeUserPreference(self, key):
        self._removeUserPreference(key)
    # end removeUserPreference()

    def _getUserPreference(self, key):
        u"Internal method to get the value of the user preference.  If it does not exist, this should return None." #$NON-NLS-1$
        raise ZAbstractMethodCalledException(unicode(self.__class__), u"_getUserPreference") #$NON-NLS-1$
    # end _getUserPreference()

    def _setUserPreference(self, key, value):
        u"Internal method to set the value of the user preference." #$NON-NLS-1$
        raise ZAbstractMethodCalledException(unicode(self.__class__), u"_setUserPreference") #$NON-NLS-1$
    # end _setUserPreference()

    def _removeUserPreference(self, key):
        u"Internal method to remove the value of the user preference." #$NON-NLS-1$
        raise ZAbstractMethodCalledException(unicode(self.__class__), u"_removeUserPreference") #$NON-NLS-1$