本文整理汇总了Python中xpcom.server.UnwrapObject.setPref方法的典型用法代码示例。如果您正苦于以下问题:Python UnwrapObject.setPref方法的具体用法?Python UnwrapObject.setPref怎么用?Python UnwrapObject.setPref使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类xpcom.server.UnwrapObject
的用法示例。
在下文中一共展示了UnwrapObject.setPref方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: DOMDeserialize
# 需要导入模块: from xpcom.server import UnwrapObject [as 别名]
# 或者: from xpcom.server.UnwrapObject import setPref [as 别名]
def DOMDeserialize(self, rootElement, parentPref, prefFactory, basedir=None, chainNotifications=0):
"""We know how to deserialize preferent-set elements."""
# Create a new preference set and rig it into the preference set hierarchy.
xpPrefSet = components.classes["@activestate.com/koPreferenceSet;1"] \
.createInstance(components.interfaces.koIPreferenceSet)
newPrefSet = UnwrapObject(xpPrefSet)
newPrefSet.chainNotifications = chainNotifications
try:
newPrefSet.id = rootElement.getAttribute('id') or ""
except KeyError:
newPrefSet.id = ""
try:
newPrefSet.idref = rootElement.getAttribute('idref') or ""
except KeyError:
newPrefSet.idref = ""
# Iterate over the elements of the preference set,
# deserializing them and fleshing out the new preference
# set with content.
childNodes = rootElement.childNodes
for node in childNodes:
if node and node.nodeType == minidom.Node.ELEMENT_NODE:
if node.hasAttribute('validate'):
newPrefSet.setValidation(node.getAttribute('id'), node.getAttribute('validate'))
pref = _dispatch_deserializer(self, node, newPrefSet, prefFactory, basedir, chainNotifications)
if pref:
if pref.id:
newPrefSet.setPref(pref.id, pref)
else:
log.error("Preference has no id - dumping preference:")
pref.dump(0)
return xpPrefSet
示例2: DOMDeserialize
# 需要导入模块: from xpcom.server import UnwrapObject [as 别名]
# 或者: from xpcom.server.UnwrapObject import setPref [as 别名]
def DOMDeserialize(self, rootElement, parentPref, prefFactory, basedir=None, chainNotifications=0):
xpPref = components.classes["@activestate.com/koPreferenceCache;1"].createInstance(
components.interfaces.koIPreferenceCache
)
newPref = UnwrapObject(xpPref)
newPref.id = rootElement.getAttribute("id") or ""
newPref.idref = rootElement.getAttribute("idref") or ""
newPref.basedir = basedir
try:
max_length = int(rootElement.getAttribute("max_length"))
newPref._maxsize = max_length
except ValueError:
log.error("The 'max_length' attribute is invalid")
# Iterate over the elements of the preference set,
# deserializing them and fleshing out the new preference
# set with content.
childNodes = rootElement.childNodes
# Keep the new prefs in a list, then add them in reverse. This
# will magically put everything in the correct order.
sub_prefs = []
for node in childNodes:
if node and node.nodeType == minidom.Node.ELEMENT_NODE:
pref = _dispatch_deserializer(self, node, newPref, prefFactory, basedir, chainNotifications)
if pref:
if pref.id:
sub_prefs.append(pref)
else:
log.error("Preference has no id - dumping preference:")
pref.dump(0)
sub_prefs.reverse()
for pref in sub_prefs:
newPref.setPref(pref)
return xpPref
示例3: applyViewSettingsToDocument
# 需要导入模块: from xpcom.server import UnwrapObject [as 别名]
# 或者: from xpcom.server.UnwrapObject import setPref [as 别名]
def applyViewSettingsToDocument(self, scintilla):
prefs = self.koDoc.prefs
try:
# Unwrap prefs, as it will be faster to work outside of XPCOM.
prefs = UnwrapObject(prefs)
except:
pass
# these should all be conditional on not being the
# default prefs.
scimoz = scintilla.scimoz
prefs.setLongPref('anchor', scimoz.anchor)
prefs.setLongPref('currentPos', scimoz.currentPos)
# scrollWidth is disabled on OS X - see bug 88586.
if sys.platform != "darwin":
prefs.setLongPref("scrollWidth", scimoz.scrollWidth)
prefs.setBooleanPref("scrollWidthTracking", scimoz.scrollWidthTracking)
prefs.setLongPref('xOffset', scimoz.xOffset)
prefs.setLongPref('firstVisibleLine', scimoz.firstVisibleLine)
prefs.setBooleanPref('showWhitespace', scimoz.viewWS)
prefs.setBooleanPref('showLineNumbers', scimoz.getMarginWidthN(scimoz.MARGIN_LINENUMBERS) != 0)
prefs.setBooleanPref('showIndentationGuides', scimoz.indentationGuides)
prefs.setBooleanPref('showEOL', scimoz.viewEOL)
prefs.setBooleanPref('editFoldLines', self._foldFlags)
#prefs.setStringPref('editFoldStyle', ... )
#prefs.setStringPref('editUseFixedFont', ... )
prefs.setLongPref('editWrapType', scimoz.wrapMode)
# these should be saved only if they were explicitely
# set, not if they were just computed
if prefs.hasPrefHere('useTabs'):
prefs.setBooleanPref('useTabs', scimoz.useTabs)
if prefs.hasPrefHere('indentWidth'):
prefs.setLongPref('indentWidth', scimoz.indent)
if prefs.hasPrefHere('tabWidth'):
prefs.setLongPref('tabWidth', scimoz.tabWidth)
if prefs.getBooleanPref("editRestoreFoldPoints"):
i = scimoz.contractedFoldNext(0)
if i >= 0:
foldPoints = components.classes[
'@activestate.com/koOrderedPreference;1'].createInstance()
foldPoints.id = "foldPoints"
while i != -1:
foldPoints.appendLongPref(i)
i = scimoz.contractedFoldNext(i+1)
prefs.setPref("foldPoints", foldPoints)
else:
# we don't want to store foldpoints if there are none
# reloading them is expensive.
if prefs.hasPref('foldPoints'):
prefs.deletePref('foldPoints')
# Get the bookmarks.
bookmarks = None
marker_mask = 1 << MARKNUM_BOOKMARK
lineNo = scimoz.markerNext(0, marker_mask)
while lineNo >= 0:
if bookmarks is None:
bookmarks = components.classes['@activestate.com/koOrderedPreference;1'] \
.createInstance()
bookmarks.id = "bookmarks"
prefs.setPref("bookmarks", bookmarks)
bookmarks.appendLongPref(lineNo)
lineNo = scimoz.markerNext(lineNo+1, marker_mask)
if bookmarks is None and prefs.hasPrefHere("bookmarks"):
# Remove old bookmarks.
prefs.deletePref("bookmarks")