łň ŕU,Fc@s dZdefd„ƒYZdS(s˙ This module documents a class that highlights template triggers when they are found. @author: Lateef Alabi-Oki @organization: The Scribes Project @copyright: Copyright Š 2007 Lateef Alabi-Oki @license: GNU GPLv2 or Later @contact: mystilleef@gmail.com t HighlightercBsMeZdZd„Zd„Zd„Zd„Zd„Zd„Zd„Z RS(sJ This class creates an object that highlights found template triggers. cCs||i||ƒddkl}||idƒ|id|iƒ|_|id|iƒ|_|id|i ƒ|_ dS(s. Initialize object. @param self: Reference to the Highlighter instance. @type self: A Highlighter object. @param manager: Reference to the TemplateManager instance. @type manager: A TemplateManager object. @param editor: Reference to the text editor. @type editor: An Editor object. i˙˙˙˙(tstart_new_threadtdestroys trigger-foundsno-trigger-foundN(( t_Highlighter__init_attributestthreadRt _Highlighter__precompile_methodstconnectt_Highlighter__destroy_cbt_Highlighter__signal_id_1t_Highlighter__trigger_found_cbt_Highlighter__signal_id_2t!_Highlighter__no_trigger_found_cbt_Highlighter__signal_id_3(tselftmanagerteditorR((s plugins/Templates/Highlighter.pyt__init__&s cCsG||_||_t|_|iƒ|_d|_|_d|_ dS(s7 Initialize data attributes. @param self: Reference to the Highlighter instance. @type self: A Highlighter object. @param manager: Reference to the TemplateManager instance. @type manager: A TemplateManager object. @param editor: Reference to the text editor. @type editor: An Editor object. N( t_Highlighter__managert_Highlighter__editortFalset_Highlighter__is_highlightedt"_Highlighter__create_highlight_tagt_Highlighter__highlight_tagtNoneRR t_Highlighter__status_id(R RR((s plugins/Templates/Highlighter.pyt__init_attributes:s    cCsi|iiiƒi|iƒddkl}l}||i|ƒ||i |ƒ||ƒd}~dS(Ni˙˙˙˙(tdelete_attributestdisconnect_signal( Rt textbuffert get_tag_tabletremoveRt SCRIBES.utilsRRRR R(R RRR((s plugins/Templates/Highlighter.pyt __destroy_cbOs cCs‚|iodSn|ii}|i|dƒ}|i|dƒ}|i|i||ƒt|_|iiiddƒ|_ dS(NiisTemplate trigger highlightedtinfo( RRRtget_iter_at_markt apply_tagRtTruetfeedbacktset_modal_messageR(R RtpositionRtstarttend((s plugins/Templates/Highlighter.pyt__trigger_found_cbYs  cCs–|itjodSn|ii}|i|dƒ}|i|dƒ}|i|i||ƒt|_ddkl}||ii i |i ƒdS(Niii˙˙˙˙(tidle_add( RRRRR"t remove_tagRtgobjectR+R%tunset_modal_messageR(R RR'RR(R)R+((s plugins/Templates/Highlighter.pyt__no_trigger_found_cbcs  cCsHy.ddkl}||iƒ||iƒWntj onXtS(Ni˙˙˙˙(tbind(tpsycoR0R R t ImportErrorR(R R0((s plugins/Templates/Highlighter.pyt__precompile_methodsns cCs_ddkl}|dƒ}|iiiƒi|ƒ|iddƒddkl}l }|S(sÔ Create the a highlight tag. @param self: Reference to the LexicalScopeHighlight instance. @type self: A LexicalScopeHighlight object. @return: A region highlight tag. @rtype: A gtk.TextTag object. i˙˙˙˙(tTextTagstemplate-triggert backgroundtgray(t WEIGHT_HEAVYt STYLE_ITALIC( tgtkR4RRRtaddt set_propertytpangoR7R8(R R4ttagR7R8((s plugins/Templates/Highlighter.pyt__create_highlight_tagws  ( t__name__t __module__t__doc__RRRR R RR(((s plugins/Templates/Highlighter.pyR s   N(RAtobjectR(((s plugins/Templates/Highlighter.pyss