本文整理汇总了Python中xpcom.server.UnwrapObject.set_calltips方法的典型用法代码示例。如果您正苦于以下问题:Python UnwrapObject.set_calltips方法的具体用法?Python UnwrapObject.set_calltips怎么用?Python UnwrapObject.set_calltips使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类xpcom.server.UnwrapObject
的用法示例。
在下文中一共展示了UnwrapObject.set_calltips方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: _async_eval_at_trg
# 需要导入模块: from xpcom.server import UnwrapObject [as 别名]
# 或者: from xpcom.server.UnwrapObject import set_calltips [as 别名]
def _async_eval_at_trg(self, buf, trg, ctlr, styleClassifier):
# Note: Currently this is NOT asynchronous. I believe that is fine
# as long as evaluation is fast -- because the IDE UI thread could
# be blocked on this. If processing might be slow (e.g. scanning
# a number of project files for appropriate anchors, etc.), then
# this should be made asynchronous.
if _xpcom_:
trg = UnwrapObject(trg)
ctlr = UnwrapObject(ctlr)
DEBUG = False
#DEBUG = True
if DEBUG:
print "\n----- async_eval_at_trg(trg=%r) -----"\
% (trg)
# Setup the AccessorCache
extra = trg.extra
ac = None
#print "Extra: %r" % (extra)
if isinstance(extra, dict):
extra = extra.get("extra", None)
if isinstance(extra, dict):
ac = extra.get("ac", None)
if ac and DEBUG:
print " _async_eval_at_trg:: Trigger had existing AC"
ac.dump()
if ac is None:
if DEBUG:
print " _async_eval_at_trg:: Created new trigger!"
ac = AccessorCache(buf.accessor, trg.pos, fetchsize=20)
ctlr.start(buf, trg)
pos = trg.pos
try:
if trg.id == ("CSS", TRG_FORM_CPLN, "tag-names"):
if DEBUG:
print " _async_eval_at_trg:: 'tag-names'"
cplns = self.CSS_HTML_TAG_NAMES
if DEBUG:
print " _async_eval_at_trg:: cplns:", cplns
if cplns:
ctlr.set_cplns( [ ("element", v) for v in cplns ] )
ctlr.done("success")
elif trg.id == ("CSS", TRG_FORM_CPLN, "anchors"):
# Can be a colour or an id tag, depending upon what the
# previous char/style is
# The previous style must be an op style or alphanumeric ch
#i = 0
#max_total_lookback = 100 # Up to 100 chars back
#while i < max_total_lookback:
# p, ch, style = ac.getPrecedingPosCharStyle(last_style,
# ignore_styles=styleClassifier.ignore_styles)
# if not is_udl_css_style(style) or \
# (styleClassifier.is_operator(style, ac) and \
# ch in "};"):
# i = last_pos - p
# XXX - Needs to lookup the project HTML files for anchors...
#anchors = self._get_all_anchors_names_in_project(accessor)
ctlr.done("success")
elif trg.id == ("CSS", TRG_FORM_CPLN, "class-names"):
#raise NotImplementedError("not yet implemented: completion for "
# "most css triggers")
ctlr.done("success")
elif trg.id == ("CSS", TRG_FORM_CPLN, "property-names"):
cplns = self.CSS_PROPERTY_NAMES
if cplns:
# Note: we add the colon as well - see bug 89913.
ctlr.set_cplns( [ ("property", v + ": ") for v in cplns ] )
# We want to show the property values after autocompleting.
trg.retriggerOnCompletion = True
#print " _async_eval_at_trg:: cplns:", cplns
ctlr.done("success")
elif trg.id == ("CSS", TRG_FORM_CALLTIP, "property-values"):
property, v1, v2 \
= self._extract_css_declaration(ac, styleClassifier, trg,
is_for_calltip=True)
if DEBUG:
print " _async_eval_at_trg:: Property name: %r" % \
(property, )
try:
calltip = self.CSS_PROPERTY_ATTRIBUTE_CALLTIPS_DICT[property]
if DEBUG:
print " _async_eval_at_trg:: calltip:", calltip
ctlr.set_calltips([calltip])
except KeyError:
#print "Unknown CSS property: '%s'" % (property)
pass # Ignore unknown CSS attributes
ctlr.done("success")
elif trg.id == ("CSS", TRG_FORM_CPLN, "property-values"):
property, current_value, values \
= self._extract_css_declaration(ac, styleClassifier, trg)
if DEBUG:
print " _async_eval_at_trg:: XXX property: %r, " \
" current_value: %r, values: %r" % (property,
current_value,
values)
try:
#print "\ndict:", self.CSS_ATTRIBUTES[property]
property_values = sorted(self.CSS_ATTRIBUTES[property],
#.........这里部分代码省略.........