本文整理汇总了Python中xpcom.server.UnwrapObject.hasPref方法的典型用法代码示例。如果您正苦于以下问题:Python UnwrapObject.hasPref方法的具体用法?Python UnwrapObject.hasPref怎么用?Python UnwrapObject.hasPref使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类xpcom.server.UnwrapObject
的用法示例。
在下文中一共展示了UnwrapObject.hasPref方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: applyViewSettingsToDocument
# 需要导入模块: from xpcom.server import UnwrapObject [as 别名]
# 或者: from xpcom.server.UnwrapObject import hasPref [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")
示例2: applyDocumentSettingsToView
# 需要导入模块: from xpcom.server import UnwrapObject [as 别名]
# 或者: from xpcom.server.UnwrapObject import hasPref [as 别名]
def applyDocumentSettingsToView(self, scintilla):
scimoz = scintilla.scimoz
# assumption: we are given a 'virgin' view, and a fully
# capable document -- if it doesn't know something, it can figure it out.
languageOb = self.koDoc.languageObj
koDoc = self.koDoc
prefs = koDoc.prefs
try:
# Unwrap prefs, as it will be faster to work outside of XPCOM.
prefs = UnwrapObject(prefs)
except:
pass
lexer = koDoc.lexer
if lexer is None:
lexer = languageOb.getLanguageService(components.interfaces.koILexerLanguageService)
lexer.setCurrent(scimoz)
self._applyPrefs(prefs, scimoz)
if prefs.hasLongPref('anchor'):
scimoz.currentPos = scimoz.anchor = prefs.getLongPref('anchor')
if prefs.hasLongPref('currentPos'):
scimoz.currentPos = prefs.getLongPref('currentPos')
if prefs.hasPrefHere('indentWidth'):
scimoz.indent = prefs.getLongPref('indentWidth')
else:
scimoz.indent = koDoc.indentWidth
if prefs.hasPrefHere('editUseAlternateFaceType'):
useAlternate = prefs.getBooleanPref('editUseAlternateFaceType')
else:
useAlternate = 0
scintilla.alternateFaceType = useAlternate
self._updateEdge(prefs)
if prefs.hasPrefHere('useTabs'):
scimoz.useTabs = prefs.getBooleanPref('useTabs')
else:
scimoz.useTabs = koDoc.useTabs
if prefs.hasPrefHere('tabWidth'):
scimoz.tabWidth = prefs.getLongPref('tabWidth')
else:
scimoz.tabWidth = koDoc.tabWidth
slop = prefs.getLongPref('ySlop')
scimoz.setYCaretPolicy(scimoz.CARET_SLOP | scimoz.CARET_STRICT | scimoz.CARET_EVEN, slop)
scimoz.setVisiblePolicy(scimoz.VISIBLE_SLOP | scimoz.VISIBLE_STRICT, slop)
if prefs.hasLongPref('firstVisibleLine'):
scimoz.lineScroll(0, prefs.getLongPref('firstVisibleLine'))
# scrollWidth is disabled on OS X - see bug 88586.
if sys.platform != "darwin":
if prefs.hasLongPref('scrollWidth'):
scimoz.scrollWidth = prefs.getLongPref("scrollWidth")
else:
log.warn('should set default scroll width?')
if prefs.getBooleanPref('scrollWidthTracking'):
scimoz.scrollWidthTracking = prefs.getBooleanPref("scrollWidthTracking")
if prefs.hasLongPref('xOffset'):
scimoz.xOffset = prefs.getLongPref('xOffset')
else:
scimoz.xOffset = 0
if languageOb.variableIndicators:
scimoz.wordChars = _letters + languageOb.variableIndicators
else:
# Do this for cases where we change languages.
scimoz.setCharsDefault()
# restore fold points if the user has checked that pref off.
# We don't do it by default because the colourise(.., -1) call below
# can be quite slow.
# Bug 93190: prefs are boolean for foldPoints,
# but get the actual foldPoints off the document prefs
if prefs.getBooleanPref("editRestoreFoldPoints") and \
prefs.hasPref('foldPoints') and \
scimoz.getPropertyInt("fold"):
foldPoints = prefs.getPref("foldPoints")
if foldPoints.length:
# restyle the whole document to get folding right
# Fixes bug 45621
scimoz.colourise(0, -1)
for i in range(foldPoints.length):
scimoz.toggleFold(foldPoints.getLongPref(i));
# restore the bookmarks
# Bug 93190: use doc prefs, stay away from project prefs here
if prefs.hasPref("bookmarks"):
bookmarks = prefs.getPref("bookmarks")
for i in range(bookmarks.length):
scimoz.markerAdd(bookmarks.getLongPref(i), MARKNUM_BOOKMARK)