;ò Èf…Bc@sùdkZdkZdkZdkZdkZdkZheiid<eiid<eii dq>WxBt|dt|ƒƒD]}|||j oPqƒqƒW|d}||||fSdS(Niiÿÿÿÿi( spivslenslinespivLspivRsranges leftDelims rightDelims lineStart(slinespivs lineStarts leftDelims rightDelimspivRspivL((s[/mnt/gmirror/ports/devel/boaconstructor/work/boa-constructor-0.4.4/Views/StyledTextCtrls.pysidWord¡s     sBrowseStyledTextCtrlMixcBs}tZdZdd„Zd„Zd„Zd„Zd„Zd„Zd„Z d „Z d „Z d „Z d „Z d „ZRS(sl This class is to be mix-in with a wxStyledTextCtrl to add functionality for browsing the code. icCs»d|_d|_|i|tiiƒ|i|ti ƒ||_ d|_ d|_ t |_|iti|iƒ|iti|iƒ|iti|iƒ|iti|iƒdS(Nii(sselfshandCrssstndCrssIndicatorSetStyles indicatorswxsstcsSTC_INDIC_PLAINsIndicatorSetForegroundsBLUEs _indicators styleStarts styleLengthsFalsesctrlDownsBinds EVT_MOTIONsOnBrowseMotions EVT_LEFT_DOWNs OnBrowseClicks EVT_KEY_DOWNs OnKeyDowns EVT_KEY_UPsOnKeyUp(sselfs indicator((s[/mnt/gmirror/ports/devel/boaconstructor/work/boa-constructor-0.4.4/Views/StyledTextCtrls.pys__init__·s      cCs(|i|i|iƒ\|_|_dS(N(sselfsclearUnderlines styleStarts styleLength(sself((s[/mnt/gmirror/ports/devel/boaconstructor/work/boa-constructor-0.4.4/Views/StyledTextCtrls.pys doClearBrwsLnÆscCstSdS(s]Called when a link is clicked. Override to use, return True if click is swallowed N(sFalse(sselfswordslineslineNosstartsstyle((s[/mnt/gmirror/ports/devel/boaconstructor/work/boa-constructor-0.4.4/Views/StyledTextCtrls.pys BrowseClickÊscCstSdS(N(sFalse(sselfsstyle((s[/mnt/gmirror/ports/devel/boaconstructor/work/boa-constructor-0.4.4/Views/StyledTextCtrls.pys StyleVetoÏscCsM|itiiƒ|i|tiiƒ|i|tii ƒ||fSdS(N( sselfsSetLexerswxsstcs STC_LEX_NULLs StartStylingsstartsSTC_INDICS_MASKs SetStylingslengthsSTC_INDIC0_MASK(sselfsstartslength((s[/mnt/gmirror/ports/devel/boaconstructor/work/boa-constructor-0.4.4/Views/StyledTextCtrls.pys underlineWordÓscCsT|i|tiiƒ|i|dƒ|itii ƒ|i t ƒddfSdS(Ni( sselfs StartStylingsstartswxsstcsSTC_INDICS_MASKs SetStylingslengthsSetLexersSTC_LEX_PYTHONsRefreshsFalse(sselfsstartslength((s[/mnt/gmirror/ports/devel/boaconstructor/work/boa-constructor-0.4.4/Views/StyledTextCtrls.pysclearUnderlineÛs  cCst|||ƒSdS(N(sidWordslinespivslnStPs(sselfslinespivslnStPs((s[/mnt/gmirror/ports/devel/boaconstructor/work/boa-constructor-0.4.4/Views/StyledTextCtrls.pysgetBrowsableTextäsc Csî|iƒ|iƒo›|iƒ}|iti|i |i ƒƒ}|i |ƒd@}|i|ƒo@|idjo(|i|i|iƒ\|_|_ndSn|i|ƒ} |i| ƒ}|i| ƒ}||} |i|| |ƒ\}}|djo |i|joL|idjo|i|i|iƒn|i||ƒ\|_|_qê|i|joqê|idjo(|i|i|iƒ\|_|_qên9|idjo(|i|i|iƒ\|_|_ndS(Nii(seventsSkips ControlDowns GetPositionsmpsselfsPositionFromPointswxsPointsxsysposs GetStyleAtsstls StyleVetos styleLengthsclearUnderlines styleStartsLineFromPositionslnNosPositionFromLineslnStPssGetLineslinespivsgetBrowsableTextsstartslengths underlineWord( sselfseventsstlsposslnStPssstartslengthsmpslineslnNospiv((s[/mnt/gmirror/ports/devel/boaconstructor/work/boa-constructor-0.4.4/Views/StyledTextCtrls.pysOnBrowseMotionçs0   !( ",cCs}|djo\|i|ƒ}|i|ƒ}|i|ƒ}||}||||!}||||fSnddddfSdS(Nis( s styleLengthsselfsLineFromPositions styleStartslnNosPositionFromLineslnStPssGetLineslinesstartsword(sselfs styleStarts styleLengthswordslnStPssstartslineslnNo((s[/mnt/gmirror/ports/devel/boaconstructor/work/boa-constructor-0.4.4/Views/StyledTextCtrls.pysgetStyledWordElems s  cCsw|i|i|iƒ\}}}}|o>|i|iƒd@}|i |||||ƒodSqin|i ƒdS(Ni( sselfsgetStyledWordElemss styleStarts styleLengthswordslineslnNosstarts GetStyleAtsstyles BrowseClickseventsSkip(sselfseventsstyleswordsstartslineslnNo((s[/mnt/gmirror/ports/devel/boaconstructor/work/boa-constructor-0.4.4/Views/StyledTextCtrls.pys OnBrowseClicks $ cCs(|iƒo t|_n|iƒdS(N(sevents ControlDownsTruesselfsctrlDownsSkip(sselfsevent((s[/mnt/gmirror/ports/devel/boaconstructor/work/boa-constructor-0.4.4/Views/StyledTextCtrls.pys OnKeyDown s cCsk|io |iƒ oEt|_|idjo(|i|i|iƒ\|_|_q]n|iƒdS(Ni( sselfsctrlDownsevents ControlDownsFalses styleLengthsclearUnderlines styleStartsSkip(sselfsevent((s[/mnt/gmirror/ports/devel/boaconstructor/work/boa-constructor-0.4.4/Views/StyledTextCtrls.pysOnKeyUp$s  ,(s__name__s __module__s__doc__s__init__s doClearBrwsLns BrowseClicks StyleVetos underlineWordsclearUnderlinesgetBrowsableTextsOnBrowseMotionsgetStyledWordElemss OnBrowseClicks OnKeyDownsOnKeyUp(((s[/mnt/gmirror/ports/devel/boaconstructor/work/boa-constructor-0.4.4/Views/StyledTextCtrls.pysBrowseStyledTextCtrlMix³s        &  sCodeHelpStyledTextCtrlMixcBstZd„Zd„ZRS(NcCsP|iƒ}|iƒ}|i|ƒ}||||iƒd||dfSdS(Nii(sselfs GetCurrentPosspossGetCurrentLineslnNosPositionFromLineslnStPss GetCurLine(sselfslnNosposslnStPs((s[/mnt/gmirror/ports/devel/boaconstructor/work/boa-constructor-0.4.4/Views/StyledTextCtrls.pysgetCurrLineInfo-s  cCs\|iƒ}g}x6|idƒD]%}|iƒo|i|ƒq"Pq"Wdi|ƒSdS(Ns (sdocssstripsresssplitslinesappendsjoin(sselfsdocsslinesres((s[/mnt/gmirror/ports/devel/boaconstructor/work/boa-constructor-0.4.4/Views/StyledTextCtrls.pysgetFirstContinousBlock4s  (s__name__s __module__sgetCurrLineInfosgetFirstContinousBlock(((s[/mnt/gmirror/ports/devel/boaconstructor/work/boa-constructor-0.4.4/Views/StyledTextCtrls.pysCodeHelpStyledTextCtrlMix,s sAutoCompleteCodeHelpSTCMixcBs tZdZd„Zd„ZRS(s Mixin that assists with code completion Users should implement: def getCodeCompOptions(self, word, rootWord, matchWord, lnNo): return ['list', 'of', 'options'] cCs|itƒ|itƒdS(N(sselfsAutoCompSetIgnoreCasesTruesAutoCompSetCancelAtStartsFalse(sself((s[/mnt/gmirror/ports/devel/boaconstructor/work/boa-constructor-0.4.4/Views/StyledTextCtrls.pys__init__Gs cCsI|iƒ\}}} }}t||| ttƒ\} }| | }||||!}||} |idd| dƒ}|}|djoZ|id| ƒ}|djo||d|!}n||d}| |} || }n| d} d}| o d} n|i||||ƒ}h} x|D]}t| |X|i|itiitidddƒtidddƒƒdS(Niÿi€iÜ(sselfs SetMarginTypes symbolMrgswxsstcsSTC_MARGIN_SYMBOLsSetMarginWidths PreferencessSTCSymbolMarginWidthsSetMarginSensitivesTruesSTCBreakpointMarkersmarkIdnts markBorders markCenters MarkerDefinesbrkPtMrksSTCLinePointers stepPosMrksSTCTmpBreakpointMarkers tmpBrkPtMrksSTCDisabledBreakpointMarkersdisabledBrkPtMrksSTC_MARK_BACKGROUNDsstepPosBackMrksSTC_MARK_EMPTYsColour(sselfs symbolMrgs markBordersmarkIdnts markCenter((s[/mnt/gmirror/ports/devel/boaconstructor/work/boa-constructor-0.4.4/Views/StyledTextCtrls.pyssetupDebuggingMarginÚs$,cCs[x-|i|i|ifD]}|i|ƒqWx$|iiƒD]}|i |ƒq@WdS(N( sselfs tmpBrkPtMrksdisabledBrkPtMrksbrkPtMrksmrksMarkerDeleteAllsbreaksslistBreakpointssbrkssetBreakMarker(sselfsbrksmrk((s[/mnt/gmirror/ports/devel/boaconstructor/work/boa-constructor-0.4.4/Views/StyledTextCtrls.pyssetInitialBreakpointsõs cCsŽ|do |i}n#|d o |i}n |i}|dd}|i|ƒd|>@}|o|i ||ƒn|i ||ƒdS(Ns temporarysenabledslinenoi( sbrksselfs tmpBrkPtMrksmrksdisabledBrkPtMrksbrkPtMrkslinenos MarkerGetscurrMrks MarkerDeletes MarkerAdd(sselfsbrkscurrMrkslinenosmrk((s[/mnt/gmirror/ports/devel/boaconstructor/work/boa-constructor-0.4.4/Views/StyledTextCtrls.pyssetBreakMarkerüs   cCsI|i|d|iƒ|i|d|iƒ|i|d|iƒdS(Ni(sselfs MarkerDeleteslineNosbrkPtMrks tmpBrkPtMrksdisabledBrkPtMrk(sselfslineNo((s[/mnt/gmirror/ports/devel/boaconstructor/work/boa-constructor-0.4.4/Views/StyledTextCtrls.pysdeleteBreakMarkersscCsQ|ii|ƒ|iii}|o|i|ii|ƒn|i|ƒdS(N( sselfsbreakssdeleteBreakpointsslineNosmodelseditorsdebuggersfilenamesdeleteBreakMarkers(sselfslineNosdebugger((s[/mnt/gmirror/ports/devel/boaconstructor/work/boa-constructor-0.4.4/Views/StyledTextCtrls.pysdeleteBreakPoint s iicCsŒ|ii}|ii||ƒ|o1|iii }|o|i |||ƒqWn|o |i }n |i }|i|d|ƒdS(Ni(sselfsmodelsfilenamesbreakss addBreakpointslineNostempsnotify_debuggerseditorsdebuggers setBreakpoints tmpBrkPtMrksmrksbrkPtMrks MarkerAdd(sselfslineNostempsnotify_debuggersdebuggersfilenamesmrk((s[/mnt/gmirror/ports/devel/boaconstructor/work/boa-constructor-0.4.4/Views/StyledTextCtrls.pys addBreakPoints   cCsß|i|if}||iiƒjodSn|i|i|ƒ|i| o|i|=n|i|i=|i||_|i|if}|ii |ƒo|i|i |ƒn|g|i|<||i|i